Back With A Vengeance

My site has been down since mid-2013 but I finally got it back up about a week ago. Much has happened in that time (such as starting a new degree) and I plan to post some random anecdotes from the past year as if the down-time never happened. If you are worried about the site going down again, don't be. I am now paying $10 per month to Linode which is very organized. To make a long story short, Justin Hayes stuck it out well all this time, but after high school, most people just have too much uncertainty in their lives to be reliable web hosts.

So I Felt Like Solving Zombie Dice

There is a party game called Zombie Dice where you roll dice and try to get as many points as you can without losing all of your health and dying. Green dice make points more likely than death, red dice make death more likely than points and yellow dice are neutral. I played it with some friends awhile ago and realized that it was probably simple enough for me to come up with the optimal strategy. Three of the dice from the game

Just about every game is solvable in principle, but it is very easy to make a game that would take longer than the age of the universe to solve. The prototypical solved game is tic-tac-toe. The prototypical game that is still a long way from being solved is chess. An xkcd comic lists a bunch of solved games so let's see how we can add Zombie Dice to this list.

This Clock Is Ghetto

Gaze upon my newest creation. This setup is probably the first of its kind. The black clock showing 2:17 is a digital alarm clock. It sits on top of a clear box holding a circuit board that I made. The white clock showing the wrong time is an analog alarm clock. I can confidently say that when the digital clock reaches the alarm setpoint, the mechanical bells on top of the analog clock will ring.

Front view of the setup with two alarm clocks wired together.
Even though I study theoretical physics I am very happy to be in the same department as people who are well versed in machining, robotics and other useful endeavours. There is something very satisfying about sitting down to make a device that serves a particular purpose and seeing it through to the end.

Getting Free Tickets Is Hard Work

It is that time of year again when the residence I am in puts on a musical. The production they chose was Fame and this year they did something different... they had this contest:


A poster with sheet music saying that you can win tickets by guessing the song.

There are easier ways to see a musical for free if you want to. Show up very early when the cast and band members arrive and bring a book. Usually you can go in because ticket checkers will not have arrived yet. And everyone will just assume that someone in the production gave you a ride. However, I wanted to win this contest, not because it meant free tickets, but because it meant winning a contest.

The Fan Wiki Situation

If you're in the habit of searching Google for things that have to do with your favourite TV show, you may have come across an entire wiki devoted to it. Wikipedia certainly has its own articles about fictional universes but the fan wikis are supposed to report on them in a much more detailed and obsessive way. Even though you sometimes see them on Wikipedia, detailed descriptions of every scene in a movie are unencyclopedic. These belong on the fan wikis because "merely being true, or even verifiable, does not automatically make something suitable for inclusion" as stated in the relevant Wikipedia policy.

Most of these fan wikis are hosted on Wikia, a for-profit site that used to have the same look and feel as Wikipedia. By now, the look and feel has drastically diverged. Even though it still uses the same software, Wikia has been dumbed down and uses gimmicks like floating bars that follow you as you scroll down the page. However, I still use the site a great deal because the amount of information on it is truly vast. What I want to do now is explain the differences between the two interfaces and then give some ideas for wikis that haven't been created yet.

Shitty Airlines

It's the holiday season. And that means I get to be reminded of how logical air travel is. One of the most annoying things is that I can't take everything as carry-on luggage. Don't get me wrong, I hardly bring anything. But two things I usually bring are a razor and shaving cream which security guards tend to take away. Because of that, the idea of checking in online saves no time at all. Here's what the screen should really say:

A chart showing that you must be a female or a male who doesn't shave in order for the online checkin process to serve a useful purpose.

Nevertheless, I got to the airport on time and was able to stay relatively occupied on the plane.

I'm A USB Idiot

I use a very old laptop which only has USB 1.1 ports built into the motherboard. In order to use cameras, external drives and printers, I have always put a PCMCIA expansion card in my computer that provides two USB 2.0 ports. The PCMCIA bus is based on PCI, so it supports transfer speeds of 1Gbps... more than enough for the 480Mbps of the USB 2.0 standard.


PCMCIA to USB / Firewire card that is now broken.

On this card, the black hump with the USB ports sticks out of the laptop. This is the card that I used to use but it just broke. After years of using it, I noticed that it failed to detect my printer one day. It still detected my thumb drive but mounting it caused it to unmount 5 seconds later. It has a Firewire port as well and I've only had to use this once for a Mini-DV camera. I'm not sure if this part is broken. But anyway, I just got a neat replacement for it.

My Definition Of "Was" Is "Was Never"

Many people I know only watch torrented TV shows, but not me. Even though I'm a proponent of torrents, I still watch regular television quite a bit. And as a Canadian, that means the biggest topic I see now is the upcoming American election.


Bill Clinton giving his famous speech.

I recently watched Bill Clinton give his long speech endorsing Barack Obama at the Democratic National Convention and it was really something. I agree with the sentiment that it's making some people miss Clinton but I'm sure it was eloquent enough to convince many people that Obama is the next best thing.

Tales Of A First Time Driver Developer

Since 2004, I've owned a ThinkPad A22m - a laptop that came out in 2001. Much to the dismay of certain friends, I still feel no need to purchase a newer computer. I've often said that this old hardware can do everything I need while still letting me run modern software. However, it now seems like I will have to take some responsibility for the code if I want that to still be true in the future.

1x1 repeat test 2x2 repeat test 4x4 repeat test 5x5 repeat test
8x8 repeat test 10x10 repeat test 16x16 repeat test 32x32 repeat test

Specifically, I am talking about open source ATI drivers on GNU / Linux. The four main video card lines released by ATI (now owned by AMD) have been Wonder, Mach, Rage and Radeon. I don't think Wonder cards have any features that would warrant the development of a dedicated driver but Linux drivers for the other three have been written.

The Radeon driver is actively maintained by software engineers at AMD and some people who work for other software companies. The other two? Not so much. The Rage 128 driver was especially in need of a major update recently. And since my computer has a Rage Mobility graphics card, I felt motivated to start working on the code even though I had never hacked such a low-level piece of software before. Since the effort has largely succeeded, I would like to share my experiences with editing an open source video driver. The learning curve was quite steep and when I first started reading documentation, it seemed like it was written for a different audience. This post is going to be an unadultered attempt to get a completely new reader to catch on to what I did. I'm sure I will later find out that many things written in this post are technically incorrect, but I will not edit them. I want the only knowledge communicated in this piece to be the knowledge that one might reasonably be expected to have after jumping into driver development for the first time.

Calculus On The Surface Of A Box

Lines drawn on a curved surface can be tricky. Consider one of the most basic facts about Euclidean geometry: that parallel lines never intersect. This does not hold on the surface of the Earth. If you and a friend stand one metre apart in some location on the Earth, you could both try drawing a line and heading due north. The lines would appear to be parallel during all stages of the journey but you would eventually find that they intersect at the North Pole. An observer watching from space would say that the lines don't look parallel but any measurement you could make without leaving the Earth would tell you that they are. This is because a sphere is locally flat. The fact that the lines cross can therefore be used to prove that the world is round. Similarly, measurements done in three dimensional space, might be able to prove things like that about the universe.

The railroad tracks look parallel whether they are on a plane or a sphere.

Now it's not just parallel lines that we have to worry about. If space were not flat, circle areas would appear to differ from $ \frac{1}{2} \tau r^2 $ and the sum of the angles in a triangle would appear to differ from $ \frac{1}{2} \tau $. There is a wonderful formalism for doing calculus with lines drawn on a curved surface and there are two contexts in which people normally learn it. One is navigation and the other is general relativity. I want to take a shot at explaining it in the context of the two ant problem. This requires us to find the shortest distance between two points on a curved surface and prove it is the shortest. So if I hadn't already solved the problem, it might seem appropriate to use the techniques that were historically used to prove that a straight line is the shortest path between two points in flat space and that a great circle is the shortest path between two points on a sphere.

Syndicate content