Skip to content

Things to do over the summer.

  • Write a photo gallery for rlb.net because clicking on each image individually is annoying.
  • Switch from GitPython to Dulwich for git implementation in PyVCAL
  • Implement some simple working copy actions for git.PyVCAL
  • Oh right, and get a job.

For future reference…

This is where the domain name comes from:

http://blog.wired.com/tableofmalcontents/2006/11/robot_identifie.html

Time ta pound sum pinkskins.

I’ve been in the Dawn of War 2 beta for over two weeks now. I played Warcraft 2, and such when they first came out, but my first “serious” introduction to RTS came with Company of Heroes. From there, I backtracked to Starcraft and began learning how to (unsuccessfully) play seriously. I jumped to all the old Dawn of War games, C&C3, up to Red Alert 3 and even sidetracked into World in Conflict. Just before Dawn of War 2 was opened up to access, I was into Supreme Commander fairly seriously. In fact, just before Dawn of War 2, I either followed or played the following on a regular basis:

  • Supreme Commander
  • Red Alert 3
  • Starcraft
  • Company of Heroes

I’ve heard of a “spectrum” of RTS games, with intense tactical squad control at one extreme and grand generalized army control at the other. If Supreme Commander fulfills the latter band then I think Dawn of War 2 now comfortably sits at the other. And probably displaces Company of Heroes. Now I love Company of Heroes, but the competitive potential for Dawn of War 2 is just so much more appealing it’s hard to go back to the relatively static match-ups that you’re limited to in CoH. Not to mention the orks. Cuz orks arr dah bestest. Bettah than dose Nazis. Not green enough, dose boyz.

Actually I’ve mostly been playing Eldar, primarily because they’re the most similar to my preferred faction in CoH, the Wehrmacht. Unit lethality (ie. how quickly and easily things die) in DoW2 is much higher than CoH, and it makes games far more frantic compared to CoH. Resources tend to accumulate faster and the VPs count down more rapidly; games as a whole are shorter than they are in CoH. And since the Eldar tend to be the glass cannon faction, I find playing as them to be especially frenetic.

GR.org is holding a tournament this weekend. I’m definitely not among the top players, but I was lucky enough to get my application in early enough to be one of the 64 players. Here’s hoping the people earlier than me are shittier than I am. I’ve heard that quite a lot of top players weren’t able to register before all the slots filled up (apparently they filled up REALLY fast). That means that a lot of top players will be lurking in the tournament chat channel waiting for last-minute no-shows to abandon their tournament slot; hopefully I can get a chance to glean some tips from them.

Also, major technical and balance patch just dropped a couple hours ago. Vehicle wreckages now leave cover and my beloved howling banshees, despite being melee proficient, were not agile enough to avoid the nerf bat. Time to focus more on guardian squads.

I thought Git was supposed to be easier to use than SVN.

So it turns out that when you’re trying to set up a remote git repository, there’s a small detail that usually isn’t mentioned in the tutorials I’ve read. Namely, the repository on your web host (ie. the one you’re using to sync to and from your various machines) must have its git repo created using “git –bare init”. Otherwise shit don’t work.

Helping myself wrap my head around PyVCAL.

PyVCAL (formerly pysync due to my inept naming abilities) is a Python module designed to allow for abstract access to a variety of version control systems through a single API. Obviously abstraction means that certain VCS features won’t carry over. This was a conscious decision. There are plenty of, for example, powerful Python modules for Git (see GitPython, which we in fact we use in PyVCAL) that provide access to many Git-exclusive features. However, since generalization and compatibility of Basie (our parent project) for multiple VCS’ was one of our founding goals, we opted not to preserve features if a conflict arose. This made initial design quite a bit easier than it might have been. For example, we decided early on to emulate a centralized VCS like Subversion in our architecture. As far as PyVCAL is concerned, there is only one central canonical “repository” (or the equivalent term for the VCS lying underneath); our Git implementation works within that mindset. Our first milestone is to get read-only access to any of SVN, Perforce or Git. This means that PyVCAL must be able to:

  • Provide a list of commit messages for a repository
  • Provide a list of relevant commit messages for a file
  • Provide a diff between two different versions of any given file
  • Browse the repo, which then implies that you can get directory listings etc etc…

Backing up a bit, to do all of the above, first we need to have PyVCAL talk to each VCS. For Git, I’m thinking of using GitPython. For SVN there are a number of choices, either Veronica will bake something up or will use subvertpy or something similar. Same for Aran and Perforce. The work we’ll do will come in finding out what common actions we can do, and writing the Python code that will call our VCS-specific modules to carry out those common actions.

Setting up my HP Mini.

Recently I bought an HP Mini 1035. I think it’s known more commonly as an HP Mini 1000; the one with the 10.4″ screen. I set it up to use Ubuntu 8.10 Intrepid and it’s going swimmingly. But it definitely wasn’t without its hiccups in getting to where it is now. First, following the suggested tweaks guide in the MSI Wind forums helps a lot in making the whole setup feel much tighter and much more aesthetically pleasing.

A huge help was the MSI Forums walkthrough on how to install Ubuntu Hardy onto an MSI Wind. Since I went for an Intrepid install, I changed the procedure accordingly. I opted for the USB drive method of installation, with a live USB drive created by UNetbootin. When installing, I decided to take the advice given on psychocats.net and set my /home in its own partition for easy upgrading. I settled ~2GB for a swap partition, ~10GB for the / partition and ~45GB for my /home partition.

I didn’t feel the need to replace to fiddle with the wireless hardware too much other than to enable the restricted drivers. The free ones may work; I didn’t really try them out. As far as my home network goes, the wireless has been fantastic, but I use very little in terms of security on my network. Getting my Mini up and running on campus wireless has been another story entirely.

My campus uses a WPA2 Enterprise secured network. From talking with friends around the Computing Science department and within my university’s support team, it is not an uncommon setup among university networks. Luckily that meant that there was a some Google-able information out there to configure a *nix machine for use with these types of wireless networks. Unfortunately it still took me a couple days to sort everything out. My final setup involved abandoning the default Network Manager app in favor of wicd. I setup the connection to use WPA2-TKIP with PEAP, an anonymous identity of “anonymous” and my username and password. The key point in getting wicd to work however, was the CA certificate. This was the part that held me up for a couple days while I Googled frantically for an answer. Through a mix of trial and error, I discovered that using Thawte_Premium_Server_CA.pem was the solution, even though my campus tech support friend suggested using the Primary_Root cert instead. Unfortunately I’m not an expert on pems and certs so I can’t explain why this setup works.

After that, I followed more of the suggestions listed in the MSI Ubuntu wiki list, including setting the font DPI to 83, installing Gnome Do and so on.

Getting the blog up and running again.

First post!!!111

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!