Showing posts with label computers. Show all posts
Showing posts with label computers. Show all posts

Friday, February 6, 2009

25 Random Things

On Facebook at the moment, there's a meme going around, where you are supposed to write a note with 15 or 25 (depending who you ask) random things, facts, habits, or goals about yourself, and then tag some friends who you want to do the same. I thought my blog might also be an appropriate place to publish my reflections. So here goes:

1. Jesus first, my wife second, everything else third.

2. I believe that “We die only once, and then we are judged.” (Hebrews 9:27) If you die tonight, will you go to heaven? If you are not certain, talk to someone about it.

3. I believe the world was created in six days. I used to think otherwise, but in the mid-1990s I decided I was tired of just accepting what everyone else told me, so I did my own research. The evidence to my mind is overwhelmingly in favour of the universe having been created by an astoundingly clever designer.

4. I'm not the man I used to be, and that's a very good thing. God has done the most amazing miracles in my life. Not the “ta-da! magic” kind of miracles. He has changed my heart. I am actually amazed that some of my old friends who knew me as an arrogant, noisy schoolboy stuck with me long enough to see the changes. Thank you! (You know who you are.)

5. The older I get, the more comfortable I'm becoming with mystery. As a teenager I wanted to know and understand everything. The unknown was just a few books or semesters away. But now I have begun to recognize the unknowable. Some things I will simply never know, never understand. And I'm okay with that.

6. I was dux of my high school, got a TE score of 990, and was awarded an Australian Student Prize without even knowing such a thing existed. (The $2000 prize literally floored me when I got the letter about it. I sank to the floor in surprise.)

7. When I was a child, I wanted to be a teacher when I grew up. Both my parents had been maths teachers.

8. But I got side-tracked by my own intelligence—or perhaps more accurately, by my scholastic success. I got to the end of high school, and couldn't decide what to do at uni (uni was never optional for me), until one of my teachers showed me that I didn't have to choose between maths and computers, I could study both at the same time (in a Bachelor of Science course at UQ). At the end of my pass degree, the most natural thing to do was to continue on into honours. And the only honours course I qualified for was combined maths and computing.

9. At the time, and for a very long time afterwards, my honours year was the hardest work I'd ever done. Some of my maths subjects were so esoteric, my friend Scott and I would go to the refec after each fifty-minute lecture and spend a couple of hours talking it through, trying to get our heads around it.

10. My honours research project was in combinatorics. Specifically— actually, no, I won't bother trying to explain it. Ask me if you're interested.

11. My honours project was published in a journal (The Australasian Journal of Combinatorics, vol.14, p.109), and I was sent to a conference in Geelong to present it.

12. I nearly went broke while I was there. (My bank account got down to about $4.)

13. During my honours year I lived in a house in St Lucia with (variously) 4-6 other uni students. Only two were on the lease, which meant inspections were… interesting. Don't ask about meals, shopping, cleaning rosters or the TV. Or the car seat we used as a couch. Or the mangoes that fell into the pool. Come the think of it, I could probably write 25 random things just about share-house living in Brisbane—but I don't have to, because John Birmingham already did.

14. I got first class honours, with a GPA over the four years of around 6.5 (two 5s were my lowest results: in statistics and ODEs). I was awarded a university medal.

15. I nearly did a PhD. I applied for, and was granted, an APA scholarship for computational combinatorics.

16. But I took a job as a programmer instead, because it paid more.

17. I'm one of a relatively small number of people in the world who actually understand C++. Even pointers and memory management. Yes, even template instantiation.

18. I can still remember the opcodes for programming in 6502 machine code. I also speak Z80 and 68000. I like the 68000 the best. I was delighted when I discovered recently that my graphics calculator, a TI-84+, is driven by a Z80!

19. I nearly wrote my own operating system, twice. First time in high school, for an Apple ][e. Second time at uni, for a PC. Both times I decided in the end that the extant offerings would do, even if they weren't perfect.

20. I don't think computer programming should be called software engineering. Engineering as a discipline has been around for, what, maybe a thousand years? Computers have been around for less than a century. When we understand what we're doing a little better, and can reliably build software that does what we want, without failures requiring a restart, without annoying glitches, without blowing out the budget before we even get started… then perhaps we might be able to consider associating software with the dignified profession of engineering.

21. I stopped being a professional programmer in 2004. One morning I prayed that God would take away from me anything that stopped me from doing his will. By lunch time I had lost my job.

22. I started studying to be a teacher at QUT, but hated it.

23. I have lived in four countries and visited many more. I haven't been to South America or Antarctica. I speak two languages fluently and smatterings of a couple of others. I like languages and I'm fascinated by cultural differences.

24. But at the end of the day I like four countries the best. Scotland is very pretty (when it's not drizzling) and the people are nice. Germany appeals to my logical and organised side. Ireland stands for peace on the international scene. But Australia is where I consider my home to be.

25. Learning to play the violin and viola is quite possibly the hardest thing I've ever had to do. (Come on, I could hardly get to the end of this list of 25 things without mentioning music, now could I?) It's much harder than driving a car. I used to think I had poor motor skills and coordination, until I thought more carefully about just what exactly is involved in playing fiddle. But playing viola in chamber groups, right in the middle of the harmony and the sound… that's where I like to be.

Tuesday, March 25, 2008

Computers and board games

Yesterday morning Laetitia's computer died. It failed to load a stack of drivers, including for the trackpad and USB ports, which made working out what was wrong painful (no mouse). In the end we booted into Linux off a CD to copy off what had been changed since her most recent backup, then reinstalled from the “Recovery” DVDs. I really wonder about that term; somehow “recovery” has come to mean “wipe the slate clean and start again”.

Over the weekend I also did some programming. It was good fun to get back into “the zone”. I used Microsoft's Visual C#, their new(ish, in programming language terms) language based loosely on C++. I'm actually impressed: already knowing C++, C# made it quite easy to build a functional and usable GUI-based tool. Indeed, contrary to what I expected before I started, the hardest part was not the GUI at all, but rather the all-pairs-shortest-paths algorithm, for which I had to go back to one of my old programming textbooks.

What I created was a ticket generator for one of our favourite board games, Ticket to Ride: Europe. I was so impressed with the “1910” expansion for the USA board that I wanted to do something similar for the Europe board. And besides, playing with the same set of tickets every time gets predictable, and personally I prefer more variety.

So now I can print off a new set of tickets for every game. I get to choose a standard game, a “Big Cities” game or a “Mega-Game” (you'll understand those terms if you have the 1910 expansion), for the Europe board. Yippee!