Daniel's Stuff

I write code

Category: Web

IT LIVES :)

After a bit of playing about I’ve got my water level sensor working ๐Ÿ™‚
I’m using Munin to log the data coming back from the unit attached to the sensor.
The unit is overkill for my needs, but since I had it lying about here and I didn’t want to spend anything to do this job it’ll have to do ๐Ÿ˜‰
It’s a nice little PIC based board with 4 analog inputs, 8 digital inputs and 8 mains switchable outputs.  It also has an ethernet adaptor and the software I’m using responds to modbus commands.  I’ve had fun getting everything working.
I’d forgotten how much fun it is to make computers actually do something in the real world!

Windows Live Mail

Just a quick note to let everybody know that I’m making good progress reverse engineering the Windows Live Mail protocol.  With the help of a couple of other people I’ve managed to determine the nature of the compression used on the message data.  We’ve successfully managed to build the decompression table and I’m now working through the routine to do the actual decompression.  IDA Pro is an amazing piece of software and I highly recommend it if you ever need to do any reverse engineering of compiled programs.

Microsoft is going to disable WebDav access to Hotmail

Well, it was fun while it lasted, but Microsoft has finally decided to close access to its servers via the WebDav (or HttpMail) protocol.  As my hotmail plugin uses this protocol to communicate with the hotmail servers this means that as of June 30th 2008 my plugin will no longer work ๐Ÿ™

I am looking into their new protocol called DeltaSync, but from what I can see Microsoft is using some proprietry encryption/compression on message contents, so it might take a little while (if ever) for it to see the light of day.
Thanks to everyone for all the donations and support over the last 5 years or so.
If I manage to figure out the compression then a new plugin supporting Windows Live mail should be fairly easy to create.  I’ll post progress here if there is any ๐Ÿ˜‰

Weird characters in the previous post

Something really strange happened in the previous post.  There were these weird characters appearing in the text.  From what I can see it is WebKit trying to be helpful and create non-breaking spaces.  Unfortunately rather than insert a good old   it is inserting 0xA0 characters.  I’ve just added some code to look for these characters and replace then with  .  It should be interesting to see if it works ๐Ÿ˜‰

WebView woes

I have been working on a little blog posting app for my wife for some time called BlogThing.  The first version worked well enough that I released it for download from the Automagic Software site.  It used some pretty nasty stuff that iterated over the chunks in an NSAttributedString, and while it worked pretty well I decided I wanted something a little more future proof.  To that end I decided to look into using WebView in edit mode.  Under 10.4 this worked really nicely.  I could drag in imanges, set the fonts and do all sorts of really neat things.  Unfortunately under 10.5 dragging and pasting images into the blog posting just stopped working ๐Ÿ™ and I’ve not had a lot of time to look into it.  Tonight I’ve managed to get it working well enough that I think I can finally give it to my wife to play with.

The following is an example of what I’ve had to do to get dragging to work the way I want it do.  I really don’t like it though

– (unsigned)webView:(WebView *)sender dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo {

NSPasteboard* pb = [draggingInfo draggingPasteboard];

if([pb availableTypeFromArray: [NSArray arrayWithObject: NSFilenamesPboardType]]) {

// @TODO: this code assumes that any file dragged in is an image!  Bad things will probably happen if they aren’t

NSArray* filenames = [pb propertyListForType: NSFilenamesPboardType];

NSMutableString* html = [NSMutableString string];

for(NSString* filename in filenames) {

[html appendFormat: @”<img src=\”%@\”/>”, [[[NSURL alloc] initFileURLWithPath: filename] absoluteString]];

}

[pb declareTypes: [NSArray arrayWithObject: NSHTMLPboardType] owner: self];

[pb setString: html forType: NSHTMLPboardType];

}

return WebDragDestinationActionAny;

}

Incidentally I’m posting this with BlogThing 2.0

MMKeys songbird plugin

I’ve been insanely busy the last few months. I’ve recently changed jobs and had to go overseas to meet the client so have not had as much time to work on things such as my HTTPMail plugin ๐Ÿ™
Anyway, today I got an email saying there was a new version of Sonbird (a really nice music player for Linux, OS X and another popular OS that I wont name here ๐Ÿ˜‰ ). Quite some time ago I wrote a plugin for Songbird to get the multimedia keys on my keyboard working, unfortunately upgrades to both Songbird and Ubuntu seemed to break the plugin but I’d not had much of a chance to look into it. Today I decided to have a quick look and see what I could see. The result is a new version of the plugin that seems to work for me ๐Ÿ™‚
I’ll be posting the source to my git repository as soon as I can some time ๐Ÿ˜‰

HTTPMail Plugin and Leopard

Tonight I’ve had some success with getting the plugin working under Leopard. It still isn’t ready for public consumption, however it is coming along nicely.
Currently if a httpmail account is already configured it will connect to the Hotmail servers and successfully download the messages. Unfortunately sub-folders aren’t quite working yet, nor is creation of new accounts or editing of account settings.
Still, it is progress ๐Ÿ™‚ Now it is time to go to bed and get some sleep. With a wife, two kids and a day job, I don’t get as much time to work on these things as I once did ๐Ÿ˜‰

Net access

I’m going to be off the net for the next couple of weeks ๐Ÿ™



<vader class=“starwars-episode-three, padme-is-dead”>NOOOOOOOOOOOO!</vader>


We’re moving into our new house in a couple of days and since the previous owners moved their phone to a rival phone provider it is going to take at least 10 days to get it all sorted out again.ย  The company in question uses a different technology to do their phone system, and they have a habit of cutting the old copper lines used by everybody else.ย  They’re not supposed to, but they do it anyway ๐Ÿ™


It’ll be good for me, so I’m told….ย  I’m yet to be convinced ๐Ÿ˜‰