First day at WWDC09

June 9th, 2009

If anyone is looking for me, I’m in the Hotel Palomar room 727.

I wimped out on queuing early and didn’t get down there until about 8.35. The queue was well around the block and stalled for a long time but we did get in the door about 10.05 and seated in an overflow room.
Read the rest of this entry »

Attaching Validators

May 20th, 2009

Whilst working on some EDI parsing I have been thinking about data validator attachment.

The classic pattern is to have an AbstractValidator and subclass as necessary. This results in a few more classes in the hierarchy and a lot of objects added unless you implement some sharing or a different approach with delegates.
Read the rest of this entry »

Considering Visual Diff/Merge Tools

May 20th, 2009

I was just prompted by Araxis Merge to renew support for USD 49. Whilst I appreciate its features, mainly on Windows, I’m not totally in love with the UI and so had a quick look around for alternatives. Prices below are for professional users, I’ve not bothered recording who offers what academic discounts or free versions for open source projects.

I found a 2004 comparison on Coding Horror which had quite a few people raving about Araxis but Jeff and others pointing out that Beyond Compare is much more affordable and others suggesting ECMerge from Ellié Computing. Read the rest of this entry »

DevJam May 2009

May 20th, 2009

I did a 10 minute presentation on  a WPF application architecture using C++/CLI as a ViewModel to wrap a pure C backend, at the DevJam held by the Perth .Net Community of Practice. Here are the slides in PDF and PPTX format including a few notes which cover the points I made verbally.

Congratulations to Real Software – REALbasic wins Best Programming Language

May 20th, 2009

Code Project has long been one of my favourite sites for example articles, ironically mainly in the MFC space.

I was surprised and impressed to read this morning that it held a Member’s Choice award for the first time and that REALbasic won the Best Programming Language category.

I hadn’t realised that REALbasic users were in the CodeProject community because there are zero articles on there about REALbasic. I guess the awards were publicised and people voted. I’m not disagreeing with the deserved result but I think it is ironic that a site which has a bunch of .Net categories, even listing C++/CLI separately under their language categories, found itself awarding this unknown language. Maybe now REALbasic will appear on there.

iPhone development on PPC

May 17th, 2009

I’m off to WWDC in a couple of weeks (via Milwaukee) and travelling with my trusting Powerbook 12″ which is still a great airline machine.

A large part of the reason for getting back into Cocoa and attending WWDC is wanting to do some iPhone development but I didn’t expect to be able to do that until back in Perth.

After a few searches for others in like circumstances, Alex Blewitt came to the rescue with a neat script that made installing the iPhone dev kit on PPC a smooth experience, thanks Alex.

Yes, REALbasic strings can be nil (or behave like they are)

May 14th, 2009

I was amused to find myself reading a posting analysing some of my code, which I’d followed because the title intrigued me - Strings Can Be Nil, Even If They Can’t Be Set To Nil 

When Charles says he is surprised that some of my code works and Mars chips in and says he thinks it contains a redundant check, I get a little concerned. The port of rbrw-core was a lot of work converting thousands of lines of C++ so I may well have carried some C++ idioms across without thinking.

However, I am aware that a lot of the rbrw code uses variants and I may have written that test after a nasty experience (yes, it needs a comment, if so).

To assuage my curiousity and conscience, I flung together a quick check for variants and nil strings, available on Google Code.

 
The important bit is invoking the string with a variant, which does indeed appear to pass a nil string to a method, as seen below. Based on Charles’ comment, I’m leaving the verdict open – if indeed the string comparison of is nil is also fired by an empty string, we can’t tell what is happening unless writing plugins to explicitly return nil strings.

 

dim v as Variant
TestString v

Sub TestString(foo as String)
  if foo is nil then
    print "Yes, Strings can be nil, if they come from an empty Variant"
  end if
End Sub

A Cross-platform Desk

May 14th, 2009

In case anyone wonders what a cross-platform developer who specialises in legacy software conversions has on his desks:

Andy's array of machines and monitors as of May 2009

Andy's array of machines and monitors as of May 2009

From left to right: Read the rest of this entry »

A Very Orange Wing

May 14th, 2009

I couldn’t resist taking a couple of pictures of GR8 FUN which is an entire Goldwing done in Safety Orange!

The engine is literally twice as wide as my admittedly skinny MZ Skorpion, seen parked next to it with helmet and jacket draped over the fuel tank.

A very orange Goldwing seen May 2009

A very orange Goldwing seen May 2009

A very orange Goldwing seen May 2009

A very orange Goldwing seen May 2009

Andy Blue Arm

April 30th, 2009
Splint to immobilise the arm and aid nerve recovery. I

Splint to immobilise the arm and aid nerve recovery.

I have to wear this damn thing all night and as much as possible during the day, without causing other problems by wearing it 24 hours. Basically, keep the arm bent at a slight angle and give it 4 months rest and maybe, just maybe, the nerve will recover enough that I have some strength back in my left hand. I’m very very glad this didn’t happen to my right and that, so far, I can still type with reasonable accuracy although sideways movement is impeded.

I am having to teach myself to use the control and shift keys more with my right. Which, to my surprise, is something I wasn’t doing. I was taught old-fashioned touch-typing and so my shift key usage is balanced – use the shift key with the opposite hand from the one you’re typing the key with that you want shifted.

It will take a fair while to stop using the left thumb or little finger to chord Apple-C or ctrl-x for clipboard operations :-(