Ed Wrenbeck's blog This feed contains the last 10 blog entries from Ed Wrenbeck's blog. Please visit the blog entries to view or add comments http://wrenbeck.com/flowbuilder/blog/welcome.xsp 2009-03-01 15:11:25-05:00 Crash reports from the iphone and dwarfdump 2009-03-01 15:11:25-05:00

My very first iPhone development related blog posting. I've been under so many NDAs that your head would spin.

The problem to be solved is:
How do you get crash reports from users without them sending you a crash report?

I'm using the idea from Christopher Atlan for capturing crash reports on the phone. This is handy, in that it captures the data. (How I do all that is another story) The question is, how do you turn the dump of addresses into something useful? You may have heard of the sybolication utility, which requires the crash in a specific format. And you may have heard of atos which translates an address into a symbol. However,neither one really works that well with the type of crash data we have and the .dSYM file we need to map it to.

What I haven't really seen documented on the web is the use of dwarfdump to achieve that for you. Here is a sample command:

dwarfdump --lookup 0x00007855 --arch armv6 MyApp.app.dSYM/

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=464144e7dcf12
Time for my annual blog entry 2009-03-01 15:07:27-05:00

This blog is suffering from a serious lack of attention. I do have something interesting I want to share, but I'll do that in another post. This is the post where I whine about not having enough time.

I can't remember how all the code to the blog works, and I just don't want to maintain this custom rolled format anymore. I just need to switch to one of the common platforms. The problem is the legacy data that I want to keep. I still receive emails from people who find my previous posting worthwhile, so I don't want to loose that information.

Anyway, same story for the last couple (few?) years. Up next, something that might actually be useful

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=4641440432f59
ORDB spam filter shut down 2008-03-27 12:09:14-05:00

Didn't receive much email yesterday or today. I discovered that the ORDB blacklist is returning false positives for everything now to encourage users to stop using it.

If you don't seem to be getting much mail the last couple of days, you might want to check your blacklist filters. Personally, I'm now just using zen.spamhaus.org and bl.spamcop.net.

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=4496e3ebec660
DSAPI Filter code for Notes Domino 2007-11-14 17:35:18-05:00

Here's another nugget of Notes API code that I am slowly releasing into the wild. I'm not sure that it even has meaning in today's Domino world, but what the hey.

In this case its a DSAPI filter I wrote which basically instructs the browser to not cache anything that might come from the mail directory. The problem with this type of instruction is that the browser and any proxy server between the server and the browser can just ignore the "Suggestion" and cache whatever it wants anyway.

In the code, I thank Chris Stead. Unfortunately, I can't remember who this person is specifically, and what parts of the code I borrowed from Chris. I think I borrowed the overall structure of the DSAPI code from Chris and then built in the specific functionality I was looking for.

Click here to download the code --> dsapi3.pdf

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=43eeb2e167ffb
My Thoughts on Android 2007-11-13 18:18:05-05:00

I still am interested in the iPhone more than I am in Android based phones, but I was curious so I downloaded the SDK to play around with.

Before I downloaded the SDK I didn't even know that it was Java based. That's good news for old hat Java programmers like myself. Java as a language was in need of a little positive momentum.

Here is the interesting part that I haven't seen covered anywhere else yet. If you watch the YouTube videos, you can't help but notice that the phone looks a little pokey. A little to much wait to go with your click if you ask me. Then I remembered hearing about the concept of a JVM on a chip. I was thinking that it makes perfect sense. The handsets they have been demoing with are not ready with the hardware JVM so things are a little pokey. By the time it is released into the wild, the performance issues would be mitigated.

Today I read that Android is actually compiled into Java bytecode, which is then transformed into Dalvik bytecode. In other words, although you develop applications using the Java language, there isn't a JVM on the device. I'm wondering if google plans on getting some hard love next year, or if they are simply hoping that a year from now the phones will have enough horsepower to deliver a decent experience.

Personally, I think Android will probably seal the fate of second tier mobile operating systems such as Palm OS and Windows mobile, but OS X will continue to lead the phone market.

So, do I putz around with the Android application I have in mind, even though I don't really plan on owning an Android device, or do I just hang on and wait until Moses delivers the JesusPhone SDK?

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=43ed7a93d94a6
Enforce Consistent ACL - Code released into the wild 2007-11-07 09:40:22-05:00

Somebody asked me for this today, since my old domino based blog entries are no longer available online.

Here is the C++ Lotus API code I wrote to toggle the SetUniformAccess flag on a database, also known as the Enforce Consistent ACL flag. This does require the C++ dll on your path, such as lcppn23.dll or later.

#include <lncppapi.h>
#include <iostream.h>

int main(int argc, char *argv[])
{
	char errorBuf[LNERROR_MESSAGE_LENGTH];
	LNNotesSession session;
	LNSetThrowAllErrors(TRUE);

	if ( argc < 2 )
	{
		cout << "This application sets the SetUniformAccess flag" << endl;
		cout << "Also known as the EnforceConsistentACL flag" << endl;
		cout << "Usage: " << endl;
		cout << "     DbSetUniformAccess.exe database flag" << endl;
		cout << "          -database = path to database to change" << endl;
		cout << "          -flag = T to set to true, anything else to set to false" << endl;
		return(0);
	}

	

	try {
		session.Init();
		LNDatabase db;
		LNACL acl;
		char * testchar = "T";

		cout << "Opening database: " << argv[1] << endl;
		session.GetDatabase(argv[1], &db);
		db.Open(LNDBOPENFLAGS_NO_USER_INFO);
		db.GetACL(&acl);

		if (strcmp(argv[2], "T") == 0)
		{
			acl.SetUniformAccess(TRUE);
			cout << "changed SetUniformAccess to TRUE" << endl;
		}
		else
		{
			acl.SetUniformAccess(FALSE);
			cout << "changed SetUniformAccess to FALSE" << endl;
		}

		acl.Save();
	}
	catch (LNSTATUS error) {
		LNGetErrorMessage(error, errorBuf);
		cout << "Error:   " << errorBuf << endl;
	}

	cout << "Finished running" << endl;
	session.Term();
	return(0);
}
      

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=43e57bab8def9
ApplePhoneShow.com 2007-08-29 09:29:06-05:00

Interested in the iPhone? Check out ApplePhoneShow.com.

Even though I don't own an iPhone yet, I usually listen to this podcast because I enjoy listening to the hosts of this show. Of course, I'm still anticipating the day when I will be able to have an iPhone of my own.

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=438d692f0ae64
Convert a String to a number in Javascript 2007-08-06 14:22:52-05:00

Here's one for the memory banks. I wanted a simple way to convert a string into a number. The built in parsing functions in Javascript don't deal with negatives at all. My String could look like "200px" or "-200px". calling parseInt on 200px would work fine and return 200, but -200px would return NaN. So with a little hackery I came up with this:

newNumber = someString.split(/[^0-9\-]/).join('');

Regex sure provides some crazy fun eh?

Anyway, you might have noticed that it doesn't deal with decimals. Something like /[^0-9\-\.]/ might do it, give it a whirl.

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=4370bff2bec51
Thought of the Day 2007-08-03 13:40:22-05:00

I was following a POS Ford Escort not to long ago, I would say early nineties vintage. Now I can't blame the fellow for maximizing his dollar and the car looked to be in relatively good shape. Here's what killed me:

He had a bumper sticker that said "I work for Ford, I drive a Ford". I can appreciate the sentiment itself, but he's driving a 15 year old Ford. In addition, Ford was basically selling the car at a loss to maintain volume and to keep a presence in the entry level car buyer market. So, does this guy really think that he is somehow supporting the company by driving the same car for 15 years, a car which Ford certainly lost money on by selling it to him?

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=436cf0dae8d2e
JSF is Half Baked 2007-07-03 13:26:21-05:00

Someone, please put it back in the oven.

Here is my thought for today: The person that dreamed up the whole representation of a select tag should be shot.

They have made it impossibly hard to implement a stupid frickin HTML Select tag. So I decided to look at the Tomahawk option. The sample on the apache website for the t:selectItems shows it being used with a standard h:selectOneMenu. However, my Facelets taglib for Tomahawk does not include a selectItems and does include its own selectOneMenu.

This crap is so not ready for primetime. We are using 3 layers of code (Facelets, Tomahawk, and JSF) and none of them are anywhere near ready to be used.

Don't even get me started on the stupid dataTable.

Arrrrrgggghhh!

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=4345f3e784a19
Thoughts of the Day 2007-07-02 19:35:57-05:00

I really need to blog more frequently, but it seems like I keep delaying posting blog entries because I have a grander vision that I never have time to implement. Therefore, I'm going to try and do more posting of random things that pop into my head.

Here are my thoughts for today:

I really need to get this blog migrated to JSF. I even have a plan to maintain the old Flowbuilder links in the new world for google's sake.

Ever see a road sign that makes you shake your head. In Michigan we have a sign that says "Kill a construction worker - 13 Years and $7500." I can't help but think "I would waste a construction worker for 13 years in jail, but damn, there is no way I'm paying $7500 on top of that!"

Fluorescent is a really sweet application that everyone browsing LDAP on the Mac should be using. However, nobody knows about it. Before I post it on any of the Mac software related sites, I really want to create a custom page to link back to. Since I'm not getting to work on that, a really good application is sitting here without its potential realized.

Damn I wish I could get an iPhone. I think I need to get a second job so I can afford it.

]]>
http://wrenbeck.com/flowbuilder/blog/form_permalink.xsp?action=opendocument&database=blog&id=434504a698377