Recent blog entries for zbowling

21 Jul 2008 »

Monoport Pastbin update

The pastebin for mono, monoport.com, now has captcha. The spam was to much.

JB updated his “monoporter” ruby script for it. You can see the source and download it here.

Syndicated 2008-07-21 03:31:21 from Zac Bowling's Blog

19 Jul 2008 »

Mono on Openmoko and iPhone

I’ve been hacking this week and I did it on both phones!

First I’ve got Openmoko running Mono. Not sure if anyone else beat me too and already did t but it pretty much worked out of the box, after some environment variable tweaking. Hello World at the shell is alive! After I got it running, I stopped. This isn’t so much a challenge in that this runs Linux, up to par with the Maemo OS on the Nokia 770/N800/N810 and we already have decent ARM support for that. It was surprisingly uneventful.

On the iPhone side, I’ve got something that is working to some extent. I’m cheating in some evil ways to make it load so I feel weird calling this officially “running” Mono yet, but I thought it was blog worthy since I did get it to call me back with a string that contains the all to classic “hello world” (totally heart stopping moment). This is different then the earlier effort in that my way is fully within the rules of the official SDK from Apple (other one ran on jail broke phones). I have to give credit to the previous effort because if it wasn’t for that work to get it working on the jail broken version months ago, I wouldn’t have this working as well as I do now. Lots of issues still to overcome still but Mono is looking to be a really viable option for development needs on the iPhone.

It’s hard to post pics to get everyone excited because right its just me sitting in front a really cryptic terminal and debugger, but trust me, it works!

In the mean time I’m still working on my PocketWiki application. Finding bugs in the SDK but there are some interesting things you can do.

This little sniplet sets the content of a webview, and then a button on the window is wired up to execute a function in that HTML and get the result back and display it in an NSAlertView:

- (void)awakeFromNib {
	[webView loadHTMLString:
	 @"<html><head><title>Hello HTML</title>\n"
	 @"<meta name=\"viewport\" content=\"width = device-width, user-scalable = no\" />\n"
	 @"<script>\n"
	 @"function getText(){\n"
	 @"return document.testform.test.value + \"\\n\";\n"
	 @"}\n"
	 @"</script>"
	 @"</head><body>TEST <form name=\"testform\">"
	 @"<input name=\"test\" type=\"text\" value=\"example\" id=\"test\" />"
	 @"</form></body></html>"
					baseURL:nil];
}

- (IBAction)buttonPush:(UIButton *)sender {
	NSString* var = [webView stringByEvaluatingJavaScriptFromString:@"getText()"];
	if (var != nil)
	{
		UIAlertView *alert = [[UIAlertView alloc]
		    initWithTitle:@"The text box says "
			message:var // bug? they will release our string
			delegate:nil
			cancelButtonTitle:@"OK"
			otherButtonTitles:nil];
		[alert show];
		[alert release];
	}
	//[var autorelease];
}

Shameless plug: If your company wants to break into this hot market while it lasts and deploy a rich client app for the iPhone that ties into your business’s existing web services or applications so that you enrich them with features like quick auto-login (and other data stored locally on the the phone), offline capabilities, camera, and location apis, and the upcoming push services API Apple is soon to release, you can contact me through my site. :-)

Syndicated 2008-07-19 07:36:09 from Zac Bowling's Blog

18 Jul 2008 »

Email to Apple iTunes support

I have heard of Apple letting you re-download your music but you have to contact support, give them a good excuse and they will only do it once. Here is my email to them (trying to sound like “normal” user so they take pity on me).

I bought this brand new MacBook Pro after my Windows machine cratered about 2 weeks ago. I had all my music on an external hard drive. After connecting to my new Mac, I was able to load all the files into iTunes fairly painlessly.

The irony is that I wanted to setup Time Machine using that hard-drive as the backup device but I had to reformat. So I went to copy all the files to my local drive. What I didn’t notice was that the copy would be to big for the partition I was coping to until after it had already started, so I stopped. Not completely up on Mac usage pardime differences, I didn’t notice I was actually doing a “move” and not a “copy”, until I noticed half my files were in on the local drive and the on the external drive. Used to how Windows works, I knew that dragging the one folder to one of the same name in a different location will merge the contents of those folders, but on Mac that actually means deletes the destination folder and replace it with your source folder. (ARGGG!!!)

I though it was going to somewhat ok because I had my favorite music still on my iPhone and I knew I could pull it off there. I plugged it in but I had not associated it with my new Mac. I did so and then “backed up” in iTunes just to be safe (which turns out is not really a “full back up” like it says but just copy of the settings), and synced then I synced it up (copy purchases from iPod menu was no where to be found like remember from my iPod back in version 6). It then deleted everything on the iPhone and tried to resync from scratch.

I have lost nearly all the music, movies, tv shows, and audiobooks I’ve purchased since 2005 (everything I had before then is still on my old iPod Photo).

Can you allow me to re-download my purchases, or offer any tools that will help recover files on a FAT formated drive from the mac?

Lets see if this works :-)

Syndicated 2008-07-18 08:02:32 from Zac Bowling's Blog

88 older entries...

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!