Iowa Code Camp Slides are Up!

I’ll be speaking at the Spring 2011 Iowa Code Camp on “Developing with Objective-C 2.0 for Mac OS X and iPhone OS”. Check out the slides here. I’ve also started a list of good Mac OS X and iOS development links. Hope you’re registered for the event - it promises to be lots of fun and learning! Enjoy!

Safari Extension: Rightsizer

I’ve had a problem with reading Wikipedia pages using Safari on a 27” display. The text was simply too small. Now I could resize the text using the “Zoom Text Only” menu item in the View menu and choosing Zoom In / Out. But this didn’t stick through quitting and restarting Safari.

I did a quick search with “Safari font extension” and Canisbos’s Rightsizer came up, a free Safari extension, no less. Canisbos also developed the Safari extension PopSearch which I simply adore - -K to pop up a search tool for which you can specify one of several search sites. Rightsizer lets you enlarge the text on parts of a page, or even the entire page. You simply click on a representative sample of the text to be resized, click on it and hold down the mouse button, and then press one of several keys corresponding to the resize action. What’s more, Rightsizer saves your text resize settings for the website. Now, when I come back to Wikipedia, I get the font sized the way for me to read! Definitely a win! Check out their page to see what it can do for you.

Nosillacast: Women in Technology

Had a lovely conversation with Allison Sheridan of the Nosillacast on Women in Techology on 4/10. Check out Episode 307 of the Nosillacast at “#307 iTutor PodCast, iPhone Tethering, ZumoCast, Air Video, iTunes Home Sharing, Quadcore i7, Women in Technology”. It’s something I’m very passionate about - getting more women into technology careers. Do give it a listen! And thanks Allison for featuring me on the Nosillacast. Apologies for not putting this post up sooner... Work’s been keeping me busy! A good thing!!

Test-Driven Development - A Win!

I’ve been working on a set of Java classes to parse meteorological reports. I also decided to use the Eclipse Java Development environment for the first time to write these classes, and I can say that I’m very pleased with the integration of smart features such as:
  • “Quick Fix” which suggests code amendments on request – such as adding class imports, declaring new classes, and the like.
  • “Refactor” which lets me rename a class and automatically rename the class file as well, since Java wants it that way. Lots more capabilities in refactoring – will be looking at that soon!
  • Java debugging with breakpoints in Eclipse – I came from the “old school” way of gdb and text based debugging. Printf statements anyone? I still use printf’s to output tracing statements even when there’s debugging capabilities in XCode or Visual Studio.
But the most important feature I’ve realised is that of Test-Driven Development. In the old days, we’d write test cases to exercise our code. This was quite cumbersome as developers had to write code to do the test, including comparisons to make sure that the result of the test was correct. This took lots of time and you tend to spend just as much time writing the test code and test support functions as the actual code itself.

With the advent of Test-Driven Development and the plethora of tools supporting that methodology, testing becomes easy, almost fun! Key mantra:

Make something easy to use, it becomes an enabler

In my case, I used the built-in JUnit integration which Eclipse provides. I can right click on a class file, ask for a JUnit test to be created, and designate which Java package the resulting JUnit test class file is to be added to. What you do to write a test case is to simply write a Java function to exercise the function being tested.

I started using JUnit 3 and finally settled on JUnit 4 which uses annotations – part of Java 5.0 – to designate which test case functions are to be run by JUnit.

JUnit example after the break – more...