Here at the Open Source Developer's Conference

12 AM November 27, 2007

OSDC just started. Great to catch up with Keith and Mark. It’s great that Google could support the conference by sponsoring the dinner, but it feels little weird having “Sponsor” on my name badge.

The conference opened with a nice little speech by Scott Penrose, chair of last year’s OSDC committee, passing the baton to Arjen Lentz and the new committee.

Then it was straight into a keynote, Rusty Russell explaining what it is that he likes about C, that it is close to the machine. By way of enticing the PHP, Perl and Python programmers in the audience, he also demonstrated that C can do shell scripts too, by way of the Tiny C Compiler, tcc. I found the talk an interesting insight into hard-core C development.

Right now I’m listening to Ian Clatworthy of Canonical explaining why I might want to use a distributed VCS. I can see that there might be advantages, and I can see how it better fits the open source development model. I’m not sure there would be overwhelming benefits in the environments where I do most of my work. He’s saying that he sees a market for only three big distributed VCS systems – Bazaar, Mercurial and git – but that they all have “maturity” issues at the moment, and don’t yet have the kind of tool support many developers expect. Oh, and Bazaar is just a few weeks away from a 1.0 launch.

By alang | # | Comments (1)
(Posted to Software Development and Python)

Step-by-step to a southerly setting sun

8 PM January 1, 2007

The last paragraph of my previous post wasn’t particularly clear. Here’s a step-by-step guide to modelling the Sun’s direction at sunset, using only a ball, a lamp, and a texta.

  1. Put a lamp up one end of the room. This will be the Sun.
  2. Get a ball to represent the Earth. Anything between a tennis ball and a basketball will do.
  3. On the Earth, select a spin axis (I used the inflation nipple as the North pole, but you can draw in the poles if you have to.)
  4. Orient the ball so the spin axis is vertical. The top half of the Earth the northern hemisphere, and the bottom bit the southern hemisphere. Draw in the equator.
  5. Tilt the spin axis of the Earth 23 degrees away from the sun to represent the southern hemisphere summer. The southern pole will now be a little closer to the Sun than the northern pole.
  6. Draw in a line of longitude (i.e a line running from the North pole to the South pole), on the side of the ball closest to the light. On this line, it is noon. The point on the line closest to the light is on the Tropic of Capricorn. (digression: You may notice that the north pole is in shadow, and has no light at midday. If you draw in the line of longitude for midnight, you will find the parts of the southern hemisphere that have midnight sun.)
  7. Pick a point about half way down the Southern Hemisphere and draw in the line of latitude for that point.
  8. Around the side of the ball, where that line of latitude crosses from light into shadow, is a point where sunset (or sunrise) is taking place. If you stand behind the ball and sight back to the light across that point, you will see that, from the Earth’s inhabitant’s point of view, the Sun is south of the line of latitude.

If that doesn’t make sense, please drop me a line. I will come and explain it to you, complete with ball, texta, and lamp for the low, low price of one soft drink.

By alang | # | Comments (1)
(Posted to Python, javablogs and Tall Tales)

Sydneyside Southerly Sunset

12 AM January 1, 2007

Julian has an astronomical puzzle. He claimed:

If you are located further South than the Tropic of Capricorn, then the Sun will never be directly overhead, and furthermore will only appear in the Northern half of the sky.

I predicted that – this far South – the Sun would always set somewhat North of due West.

Makes sense to me. But then Julian’s father observed, in direct contraction to Julian’s well-constructed argument, that the Sun was setting to the south of west. Interesting.

I searched a bit and found PyEphem, a Python library for calculating the position of heavenly bodies. It is based on a C library and required a bit of huffing and puffing to get it to compile on Windows. I hacked the code just the teeniest bit to get rid compile errors, then ignored several pagefuls of warnings. But it seems to work.

This little script calculates where the Sun sets in late December, 2006, asssuming “this far South” means Sydney airport, or thereabouts:

import ephem 

# Late December
when =, 12, 30))

# Driving near Sydney Airport
julian = ephem.Observer() = when, julian.long = '-33.932109', '151.1652'

# Compute the sun for that day
sun = ephem.Sun()

# Find where sun set, relative to West
deg = ephem.degrees
answer = deg(deg(sun.set_az) - deg('270'))
print "The sun will set %s degress north of west" % answer

And the answer is:

The sun will set -28:43:55.43 degress north of west

In other words, this script supports Julian’s father’s observation that the sun sets significantly to the south of west this time of year in Sydney. (Assuming, of course, that PyEphem is accurate, that my mangled compile of PyEphem didn’t affect anything serious, and that the above script is bug free.)

For a more concrete confirmation, I’d suggest using a ball as the Earth – rather than a fist – and then put on a lamp at the other end of of the room to represent the Sun. Tilt the ball back on its axis so that the noon day sun falls on the southern end of the ball. Now, look for sunrise and sunset down the side of the ball, and check the direction of the lamp, relative to east and west on the ball.

By alang | # | Comments (1)
(Posted to Python, javablogs and Tall Tales)

Last Day

11 PM December 21, 2006

Well, after four and a half years, I’m leaving this job. It’s been a blast. For such a little company, it’s amazingly stuffed with talented, interesting people. Amongst my colleagues are Keith, David, and Neville. Other alumni include Charles Miller (who taught me what a ‘blog’ is) Daniel Bradby and the now famous Gavin King. (Speaking of Gavin King, there are several people here who claim they were in the room during a particular meeting when Hibernate was born. They should blog about that meeting.)

As you might imagine, I have mixed feelings about leaving. I’ve learnt a lot while I’ve been here – about Java, about programming as a craft, and about working with people. I’ll miss the staff and management, and I’ll miss working with the fire brigade. However, it’s time to take on new challenges, so off I go.

The shiny new job starts on January 15, meaning three weeks of relaxing unemployment between now and then.

Merry Christmas, everyone!

By alang | # | Comments (5)
(Posted to Stuff, javablogs, Software Development, Python and Java)

Distracted by Pretty Things

3 AM December 20, 2006

I’m still working my way toward rewriting this blog’s software. It would be a lot easier if I weren’t distracted by, say, Pyglet.

Meanwhile, here’s a funny TV ad, with cats.

By alang | # | Comments (0)
(Posted to Python)
© 2003-2006 Alan Green