Learning Cocoa/Objective C

I’m going back to Uni next year, to complete a post-grad degree in Computer Science. This is a course that people without a background in Computing can enrol in, so I’ll be able to get a bit of credit towards some units, but not too much, since when I did part of a Computer Systems Engineering degree, Java wasn’t the language taught. Now, at all three Universities in Adelaide, it almost seems to be the only language being taught.

Just for my own personal gain, I’m also teaching myself Objective-C. This is the language used by Apple and third-party coders for most of the OS X application software. All of their APIs are available under Objective C, and Java, whilst still somewhat supported, doesn’t appear to be as high on Apple’s agenda as it is on the local Universities.

I’ve borrowed books in the past on Cocoa/ObjC, but never really made much progress. This time, having a laptop means I can actually do my learning on that, wherever I happen to be. In this coffee shop, for instance.

I’ve also found some handouts and example program “tests” at Stanford University, and have started to work through those. The first program, a simple conversion application for temperatures, was fairly simple, and I wrote that. I even managed to complete the extra credit sections, or at least two of them.

Psuedo-evidence (in that you can’t actually see this working):

(Note, the temperatures change to red when above a certain value, and to blue when below a certain value. Within the ‘normal’ range, they are black).

This wasn’t a programmatically onerous task, more about making sure you can connect up various components and have them affect one another.

Instead of doing the next task, I’m pretty confident I’ll be able to write the application I gave to my Year 12 students, a 9-letter word puzzle solver. It will be interesting to see if I can effectively re-implement the python version I’ve already written:

The only reason I really want to learn Obj-C is that it enables me to use a GUI design tool, rather than having to create the interface using coordinates. And packaging up python applications isn’t exactly fun, either.

And, after the 9-letter puzzle solver, I might reimplement a sudoku solver I wrote. Not sure if I have the python source code for that one. And I never wrote a GUI for it, either.

SSSSA Touch 2007 Report

Here is a report on the 2007 School Sport Australia Touch Football tournament I wrote for the Touch Football South Australia website. Not sure if it is up there yet, but here’s what I wrote anyway.

Secondary School Sport SA, in conjunction with Touch Football SA, were again represented this year at the School Sport Australia National Championships. With Monash University providing a fantastic site, including newly surfaced fields, it was nice to actually have grass under our feet.

The teams travelled together, and having had a much closer relationship throughout the training campaign than in the past, this set the tone for the trip. With a direct flight from Adelaide to Melbourne, at not too unreasonable a time, both teams were pumped for the weeks competition. After arrival in Melbourne, and a long bus ride from Tullamarine to the accommodation, the players were met by a blast of un-Melbourne-like hot weather.

The good weather didn’t hold for the whole week, however, with rain on most of the competition days. At least the sun was out for the trip to the MCG on the Wednesday, where our lovely tour guide, Brian, provided us with a fun, interesting tour of the famous ground.

Competition was tough on the first day of games. With both boys and girls teams facing the big two - QLD and NSW - it was always going to be hard work. Both teams showed plenty of spirit against well drilled and capable players from the eastern seaboard, with the boys managing a touchdown against their QLD opponents.

The second day of games was much more interesting. With three potentially winnable games against Tasmania, Victoria and Western Australia, both teams were eager to win, but were disappointed with their performance in the morning games. The boys in particular looked to have the game in hand, but struggled to keep the Tasmanian boys from scoring enough touchdowns to steal a draw in the dying minutes. The girls came back from this result to resoundingly beat Victoria in their second game of this day, and were finally looking like they had travelled for a reason. However, they ran out of legs in the final game of the day, and couldn’t manage to keep WA’s half runners from finding their targets.

As mentioned previously, after the strenuous second day of competition, the Wednesday was a day of rest, with a trip to the MCG, and then to IMAX cinema for an entertaining, yet still educational movie about Dinosaurs.

The final round games were against “The Territories”, with opportunities to beat both ACT and NT going begging in both games. By this time the strain of the tournament was starting to show on the bodies of the players - whilst the fields had grass on them, they were still hard enough to leave a nasty graze.

The finals were another chance for both teams to play against teams they could have beaten the first time around. Again, whilst at times it looked like both teams could have won their way through to the Plate Final, the girls struggled against a young yet effective Tasmanian team, and the boys were unable to top the NT team. And so it came to the 7v8 playoffs. The SA girls again managed to dispatch the Victorians, with a great captain’s effort by Georgia Brown to score four touchdowns in the one game, and Beth Fairfield almost winding up to top speed to score a couple more. The boys battled valiantly, but again struggled against Tasmania, who outscored them in the second half.

A hard, yet enjoyable week. With mostly first-time players in both teams, some new to touch football altogether, and many being eligible to play again in 15s next year, the trip to Launceston for next year’s tournament promises to be just as much fun. As our state develops and these junior players filter into our senior ranks, you can bet you’ll see plenty of them playing at a high level in the future.

Awards.

Boys.

  • Coaches - Tom Starkey
  • MVP - Alex Peecock
  • Players Player - Billy Macklin

Girls.

  • Coaches - Abbey Freer
  • MVP - Kelly Rowe
  • Players Player - Georgia Brown

Using VMWare Fusion to create Windows Worksheets

I’m still a teacher, at least for the next few weeks.

And one of the tasks I need to do is create a series of worksheets to enable the other guys in my learning area to teach the stuff I am an expert in - most notably AutoDesk Inventor. I generally just teach from my head. I provide the kids with some sheets with drawings on them, sometimes go through a couple of the steps on the projector, and then just wander around helping out those that are stuck.

This is a fine way to teach, for me, anyway. It gives the kids a heap of independence, and it means by part way through the semester, the kids are pretty close to being able to work without my assistance. Setting relief lessons is a piece of cake (Continue with your <whatever> project). It also makes my classroom mostly fun - I can actually often get other work done while teaching.

So, not being able to rely on there being a specialist CAD teacher next year, I’ve had to start writing explanatory worksheets for the kids, most notably for the new Year 8 course that is running next year. I’ve done this in the past, on a Windows PC (which Inventor requires), and using OGrabIt, a screen capture application that is okay.

But not as good as the built-in screen capture with OS X. I’m finding my workflow is much better with VMWare open, running Inventor, and Pages open on the same screen. I just do the CAD steps, press ⇧⌘3 at each step, and I have a series of files I can then crop to size.

Even better, if I have a static screenshot, I can use ⇧⌘4 to grab just the area, or press the space-bar afterwards to grab a window. This was possible with OGrabIt, but required switching of applications, and, IIRC, only allowed for grabbing of the screen to the clipboard. Meaning a paste was required after each step of a process.

Of course, if you hold down Ctrl, you can grab to the clipboard in OS X, too.

The next thing that makes my life easier is being able to work in Pages, rather than Word. Word has these nasty habits like making objects jump around when trying to fine-tune their position. Pages’ guidelines are a bit annoying at times, when it tries to align the centre of two similarly sized objects instead of the left-hand side, but at least when you use the keyboard arrows to move stuff, it doesn’t reach a certain point, and then on the next press jump right up to the very top of the page. I’m fairly sure I blogged about this in the past, it is possibly the most fucked-up-and-annoying thing about Word.

Pages is a lot faster, too. No more waiting for spinning beachballs. The only bad stuff is related to positional incompatibilities when converting back to Word, which I haven’t really checked out that much yet. That won’t really be my problem, though. I’ll give my colleagues a PDF, which they can use to print out, and if they need to make any major edits, they’ll also have a Word document version, but then it is up to them.

Having said all of that, it still takes quite a long time to generate a worksheet for students. I spent at least 3 hours today on one task, that will probably take the kids about 45 minutes to complete. Still, it’s not as long as if I’d used Windows+Word - the rule of thumb there is 10x the student time.