Navigation

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.

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.

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.

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.

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:

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.

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.

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:

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

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.

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.

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.

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.

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.

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 theotherthree 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.

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.

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 and the sum of the angles in a triangle would appear to differ from . 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.

I have to make a plug for a few people that have exceptional talent. These are the people that I want to get tons of exposure so they can make a career coming out with stuff that entertains the shit out of me. And when I talk to my friends I will sound like a badass because I'll be able to say that I knew them before almost anyone else. They have more talent than most of the people in Broadway or Hollywood. One exception might be Christopher Nolan whose first film is still insanely good. Nolan would be on my list if he were still making low budget films. But he's a best-selling director now, so it's down to these three.