So starting around October last year Stanford started the first few of its free online geared classes. I successful took and completed and passed the Artificial Intelligence class and the Machine Learning class. That, coupled with full time work, pretty much left me with no time for anything else. I was crazy busy for that 10 weeks but I learned a bunch and it was fun. Over the winter break, even though I’ve been busy, I’ve more or less recovered, and just in time, because in a few weeks a whole new batch of free online classes will be kicking off. I’m going to see if it’ll be feasible for me to do 3 this time, but I might have to settle for 2. So If I vanish against for another 10 weeks, that’ll be why.
This stuff is amazing and a lot of it simply isn’t available at the university I went to, so to have it now for free is a pretty big opportunity so I’m eager to cram in as much as I can before it goes for pay (it has the feel of a beta/demo that will go that way once material is built up and kinks worked out).
Well, aside from being pretty busy with work, I spent some more time playing with OpenGL and Lisp. I took my demo test of a spinning diamond up to the beginnings of a space flight sim. Now we have a ship that has a thruster that applies forward thrust, there is the beginnings of physics. The next logical step would be to add turning, but I wanted to do it with physics, which meant writing torque code and that’s about where I got side tracked and have stopped for the moment. Not super interesting yet, but not bad for someone who has never done 3D programming before. The code is at https://github.com/dballard/flight-sim.
I then got distracted by the idea of a checkers AI by a few articles I read in August. I decided to dust off my Ruby and give that a go but it didn’t get too far before I realized that I was going to have to get side tracked from search in to aggressive pruning and heuristics. I was satisfied with the project even though it doesn’t really play because at it renewed me Ruby which had been shelved since some time last year and reminded me that search of this kind is bloody hard. The code is at https://github.com/dballard/checkers. It can simulate a full game to any depth if you have the time. If you have less than days or years per turn, it’s pretty much no good.
Now I’m getting further distracted by a few ideas in different directions yet again and I’m starting the Stanford AI class and Machine Learning class that they are offering online for free on monday. That should keep me pretty much tied up until years end and I’m looking forward to it all!
Also thanks to my Kobo Touch eReader I’ve been reading a ton, which is nice. I may have to give up my pace of a book every week or two for the next month or two to keep up with the new classes, we shall see.
I’ve finally finished school. It’s been a bit of a journey, about 6 and 1/2 years, but I did it. In a few months a Bachelors of Science, majoring in Computer Science will be given to me by UBC. I’ve had a good go. I took a lot of neat class on a lot of interesting subjects. I’m happy with my education and record. I had time to write some really cool code on my own, like the mindstab Go AI competition, learning Lisp, and Cortex (partly for school) to name a few. And in between all that I also have had the time to travel, to go to some really cool places: Mexico, Guatemala, China, South Korea, Hong Kong, and Colombia. Life has been lucky and good.
Now time for something new, a new phase. And so to kick that off, I’ve landed (luckily) a one month trial contract at a web company downtown, as a PHP (and other assorted opensource technologies) developer. This is an amazing opportunity and I hope it goes well. From the two days I’ve had with them so far I really like it and would be very happy there permanently. Either way, I’m now much busier than I’ve been in a while.
School: Last semester, just two classes, but they are looking like they’ll be delicious and meaty
CS 411: Compiler design: We build a java compiler
CS 415: We build an operating system, fun times with C!
…actually, I’m also taking spanish!
“Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp” by Peter Norvig. I got this for christmas and have started to work through it. I’m really excited about getting further into it. In the middle of it I’ll be implementing prolog in Lisp and the in the latter half I’ll be working on a natural language processor! Not to mention tons of other stuff, this book is huge and dense.
BattleCode 2010 has just started so my team and I are just about to start digging into that. Lots of AI coding to be done there.
Peter Michaux’s Scheme from Scratch. I stumbled upon this from Hacker News. This fellow wants to write his own scheme to scratch a mental itch, and he’s blogging each step and posting the code as well. I think it looks like a great amount of fun and that I too have that mental itch, so I’m following along, using his blog as a guide and looking at his code as well when I get stuck, but doing my best to do it myself.
The great mindstab.net migration to the cloud! Yes, setting up an entirely new server and migrating years of site history and email etc can take a lot of work.
So yeah, I have an insane amount of work on my plate, but I couldn’t be more excited! All of it is thrilling and amazing!
Also, if I haven’t mentioned it before, the dynamic duo of Jono Bacon and Stuart Langridge of Lug Radio fame are back with a new podcast Shot of Jaq! It’s fun. Really, those two Brits have been the source of the only podcast’s I’ve ever listened to. They are a great source of both Linux and British in my weekly diet.
But now I’m stoked to just find out that Ximian/Linux rockstar coder Nat Friedman and Tomboy creator and a rock star in his own right Alex Graveley have started a brand new podcast Hacker Medley that is the first new podcast that I’m actually quite excited to try out.
Finally, I’m reading “Pattern Recognition” by William Gibson in my spare time (read: on the bus) and finding it pleasant.
If you’re wondering what’s been eating my time, the simple answer is school. It’s my last year, there are things to be done. I’m helping a lot more, which takes time, for one thing.
The other thing is my CS 416 (distributed computing) term project. It’s kind of neat, Douglas Hofstadter would approve. It’s a P2P website: a website with a java applet that is a webserver, that can server the whole web site to other browsers, and it also servers it self to itself, and by using AJAX, the website can talk to “itself”, or more specifically, the server, which can also talk via AJAX to other servers. So not only does the website server itself and talk to itself, it forms a network of all the websites. I’ll probably put it online when it’s a bit more finished.
So yeah. I’m doing ok with keeping on top of my classes, but it pretty much takes all my free time that went to coding this summer. I’ll be back eventually ;)