programming Projects

"You've forgotten to commit, you moron"

Something I keep doing: Forgetting to commit to git.

Having pretty much moved everything over to git & github for all my source control needs, I am now getting used to how Git works. It hasn’t, however, solved the problem that I’ll occasionally work on something for a while, make it work on my local system, then forget to commit to it and return some days later to work on something else. Commits become either huge things of no trackability, or I end up committing by chunk and trying to remember exactly *why* I changed the define syntax to be “look up” instead. So, because I don’t have enough impenetrable bash scripts in my life, I wrote another one.

This one finds git repositories in $HOME, iterates though them looking for where your friendly user hasn’t committed stuff, and then whines to him in email about it.

it’s executed like this:

and the “” file looks like this:


Mass vhosting

My small server currently hosts a number of websites. Too many, really, I should get a bigger server. However, I long ago got bored of creating separate site files for every website I host, so I use MassVHost to make that go away. The same file runs on my dev servers, and it means that to create a new domain all I do is point DNS at it (via hosts, wildcard or whatever) and create a directory with the same name as the site. So, for example, I create /var/www/hosts/ and automatically points there.

This is what that looks like:

(That file is in /etc/apache2/sites-available as “vhosting”, then enabled with a2ensite. This is all under Debian. You’ll also need the vhosting module installed, enabled and working. )

One of the most common things you also need to do is automatically redirect people who go to “www.domain.tld” to “domain.tld” or vice versa depending on your religion. In this world, the canonical name of the site is whatever the directory is called. The thing with the 404 errors and the EverythingIsCatchingOnFire (Spot the reference for five points) stuff means that by default 404s go to this script, which in the event of a “This domain doesn’t exist”, it looks for an appropriate domain and sends you there:

(Meaning not only does go to the right place, but does too)

Computer Games windows

Skipping User Account Control (UAC) in Win7/Vista without disabling it

UAC is actually quite good for security in Windows, as it means that anything that could steal your dog and run away with your favourite pillow/boyfriend/girlfriend has to get your permission first. However, the annoying popup that asks me if I’m sure I trust CoH every time it launches has annoyed me since I upgraded to Windows 7. This is how to solve it for arbitrary applications:


I am a geek. This is geek advice, fraught with assumptions of savvy and technological pitfalls that didn’t happen when I tried it. It assumes you know what you’re doing and that if following these instructions word for word does cause an explosion that destroys you, your computer and your favourite pillow that you will not track me down and take me to a haberdashers to be forced to replace it. Caveat lector.

Tech Background Bit

UAC has no such concept as a “whitelist” and doesn’t provide a mechanism for skipping the prompt, but it does allow you to schedule a task to run with elevated privileges that doesn’t ask permission (because a scheduled task that asks for permission every time it is run is as useful as a chocolate tea service). Martin Zugec came up with a proof-of-concept utility called “Elevator” that creates a scheduled task to be launched immediately with elevated privileges

The method of making it work

  1. Go to the webpage and download “”
  2. Extract the contents somewhere non-temporary, like c:program filesSkipUAC
  3. In that directory, right click “Install” and click “Run as Administrator” (If you do not click “Run as Administrator” and instead just run it, it will look like it has worked, and the right click menu below will be there, but nothing will happen. RUN IT AS ADMINISTRATOR)
  4. Find your Application with the nifty blue and yellow quartered shield on it, right click on it, and select “Elevate Me”. This should work without prompting you. If not, please read the words in the bullet point above, read the text on the web page linked to above, or complain to someone on the internet.
  5. Copy your Application’s icon, in case this bit doesn’t work.
  6. Slightly complicated bit now. Right click on the Application icon and go to “Properties”, then in front of the command line, prefix it with the path to the place you put SkipUAC, and ElevatorRunner. So if your patcher icon reads: 

    "C:Program FilesGamesCity of Heroescohupdater.exe"

    it should now read: 

    "C:Program FilesSkipUACElevatorRunner.exe" "C:Program FilesGamesCity of Heroescohupdater.exe"

  7. The natty blue shield should be gone when you click “OK” (and it may have changed the icon to Elevator’s ugly pixelated thing, but you can fix that). Run it, and the application should launch without any permission boxes.
Computer Games

Neverwinter Again

Cryptic Studios have finally announced their rumoured Neverwinter Nights game, and though it doesn’t appear to be an MMO (Odd not only because that was the rumour, but because Cryptic’s game history is City of Heroes, Champions Online and Star Trek Online)

Also interesting, though, is that the new game is based on the D&D 4th Edition ruleset, which is roughly what happens if you apply a computer-game cooldown-style mechanic on an RPG game. It would be interesting to see a cRPG with the “At will”/”Per Encounter”/”Daily” mechanic.


City of Heroes – Going Rogue

2006-02-25 21:41:50The first day I logged into City of Heroes, six years ago, I was told it was not a good day to start. It was the day after Issue 2 went live – the second major content push since the game’s launch. Since then I’ve taken holidays from the game entirely, and packed up and moved to the UK servers when they opened. I returned to the US servers shortly afterwards, however, and there I remain.

I have a Supergroup, but it’s not a public one. It has all my characters and, more recently, Clare’s and other people who I know, but for the first five years of playing it was with pick up teams, and it still – mostly – is. I’ve got 29 characters over four servers, none have hit the level cap (Closest is Spiralling Shape, at 45/50). I am in Heroes – as in every game I play – not numbers obsessed, but a “lore” person. Stories – both my characters’ and the game’s – are important to me.

Heroes has a scrappy approach to story. In Heroes itself, there is an awful lot of backstory and universe out there. There are universal conspiracies you uncover, and if you read mission descriptions carefully, almost every “So how does that work” question gets answered. The story progresses with your character, to some extent, so at level 5 you start running into this group called The Lost, who appear to be some kind of organised group of the homeless. Later, you find they are starting to mutate and are getting harder to fight, and you start running into the Rikti, the invading aliens that are central to Heroes’ overarching story. If you pay attention, you see that a lot of the weapons the Lost wield are primitive versions of those the Rikti are firing at you… and then missions start appearing that tie things together, explain the secrets. The theory is sound, but because of the vageries of levelling, it’s entirely possible to miss huge chunks of the plot because you spent that level range running missions with a group of level 40s or something.

2006-02-19 19:47:14(Game mechanic thing, Heroes has always had a mechanic of “Sidekicking”, where any hero on a team could take a lower-level player and “Mentor” them, raising them to an effective level of one level below the Mentor. This made teaming with your lower level friends much easier. Plus, going in the other direction (“Exemplaring” to a lower level Hero) would earn you “influence” (money, basically). More recently, this was upgraded to “Super Sidekicking”, a mechanic where everyone on the team is fighting at roughly the level of the team leader. This takes a lot of the problems with finding teams of the same rough level away. In addition, below level 5 you can enter a level pact with one other character, meaning you will earn XP in lockstep, so a duo will level at the same rate. Mechanic stuff over).

Recently, the “Flashback” system, which allows you to play any mission in the game below your level that you may have either missed or wanted to do again, solves all these things. That the “Big storyline” quests now have special icons by them is even more helpful.

In Heroes, you get a Contact who will give you missions until you reach a sufficient level to be introduced to the next contact, or outlevel their missions, or finish them all. By this method you are passed from zone to zone, contact to contact. The basic set of missions you get like this are defined by your “Origin” (Natural, Magic, Tech, Mutant, etc) and you can go from 1-50 like that. In addition, they will introduce you to cross-origin contacts, most of which are linked to one of the zones released more recently.

Zones released since launch tend to be more self contained, you get introduced to a contact at the start, who will lead you to the next contact, and on and on. Because this stays in the same zone, and the linear set of missions mostly advance – or at least extend – the story you get a stronger narrative thread, and this tends to work better with actually telling a full story, instead of relying on you taking on specific contact (usually you’ll have several at any one time).

City of Villains – released a year later – modified the system a bit. You go into each new zone with no contacts or friends, and by doing one shot schemes inspired from the newspaper (Generic missions of a “Kill everyone here” or “kidnap this person” type. Occasionally self-indulgent, like the one where you kidnap the executive producer of a games company for getting your likeness wrong in an MMO) until someone’s impressed enough to give you a lead on a bank job. Succeed in the bank job and you get a proper contact with missions and stories.

The stories in Villains tend to be stronger, and there is a constant background narrative – the reason you were broken out of gaol at level one – with various other loops and sidetracks.

Towards the upper end of Heroes, you encounter “Portal Corp” a company whose technology allows it to build portals to other worlds. Some of these are places where the lower-level goons you beat up 45 ranks ago had read the Evil Overlord’s Handbook and got their shit together, others are the mysterious monster-filled worlds of super-powerful beings known as the Shadow Shard. Inside this was the straight up comic convention of the goatee-wearing evil mirror universe “Praetoria”, where the Superman-analog “Statesman” was the evil lord “Tyrant” who had bent the world to his will.

Going Rogue has three parts, and this is the first. Praetoria has been designed and opened up as a new “City”, alongside Paragon (City of Heroes) and the Rogue Isles (City of Villains), and contains a new content track from levels 1 to 20.

Moustache twirling evil’s good for a straight up antagonist – as Praetoria was in Heroes – but isn’t quite deep enough to set an entire game there, so Paragon Studios have gone for a Functional Utopia/Dystopia vision, where you have a working society with gleaming, golden buildings and mind-reading authority on every street corner, people who see themselves as “safe” rather than “oppressed”. A world where the superman-analog has seized the reward for saving the world by keeping it.

Of course, this doesn’t work entirely, and there’s an underground resistance – literally and figuratively – you can join that works to topple “Emperor Cole” (aka Tyrant) and his perfect world, or you can remain a Loyalist puppet of a perfect tyranny. Again, two content paths with crossover paths (both sides want you working as a mole in the other).

2010-08-18 19:27:36Praetoria is really pretty. Paragon Studios pushed the edges of their ageing graphics engine to bring “Ultra Mode” last content-push (Issue) with realtime shadows, realistic water and reflections; and the new zones are the first built with this new tech in mind. It’s not Crydis pretty, or up to the standards of a top of the range new game (and it demands quite a lot of oomph for the same detail under a more modern system), but for a six year old game Heroes looks remarkably good.

The missions follow Paragon’s recent upward trend in writing and story quality, the first MMO to bring NPCs with the kind of dialog trees Monkey Island had twenty years ago. It’s still a four colour comic universe, with bombastic super heroes that can throw bathtubs at your head from thin air, but the plotlines are a little more nuanced. For all Cole’s tyranny, the world does appear to work, and the people who don’t care are happy. The Resistance have their own brand of barely-understandable gibberish at times, and are murder-happy enough not to be classed as the “Good Side”. Where Heroes is a straight black line between Good and Evil, here you get more Order verses Chaos, or possibly Lawful verses Chaotic. It’s still not going to have great essays written about the social structure of the world, but it’s deeper than your average video game.

Actually, on the side note of writing: A little while ago Heroes got a series of Guest Authors – including Mercedes Lackey (who apparently plays the game, interestingly) – to contribute some stories to the Player Mission System “Mission Architect”. Playing though them, it’s interesting how much being a talented writer helps create engaging stories. Of course, only creating one mission set, as opposed to enough content for a horde of descending player content-locusts – is a different thing entirely. There’s a lot of good writing in CoH, but some of the Guest Author missions stand out well.

Up until this release there have been two distinct games in the Heroes world. They’re constructed the same; they work the same way; they use the same graphics engine, character generation and servers, but they’re split across “Heroes” and “Villains”. For a comic book game, there’s a major trope missing here, that of the Heal Face Turn, ie the bad guy going good, or the good guy going bad (Which is a or even Face Heal Turn) (Warning, that’s a TV Tropes link). They’ve wanted to fix this for a while, and now they have. You can go Rogue.

Going rogue is an interesting process. As a hero, once you hit level 20 you start getting “tips” as drops from killing things. These tips give you a mission, which you can do one of two ways either as a straight up mission to reaffirm your existing status and get “Hero” or “Villain” points, or you can make a choice that starts sending you down a different route. Heroes who decide that it would be better to ignore the bombs and go after the bomb-maker, for example, start drifting towards “Vigilante”. The number of tips that drop are limited per day, and the number of points you can pick up are limited too, so the process of turning from one state to another takes a couple of days. You don’t get any new content as a Vigilante or Rogue (as Villains drifting to the light are named), but you can visit both cities. If you turn completely around you lose access to the opposing side, of course, “Go Dark” from your super group and your badge titles are flipped to the other equivalents.

Ultra ModeIt takes a few days real time to do the switch, but it might solve one of the perennial problems with Heroes, which is that while the base Villains content is better written than a lot of the base Heroes stuff (They learnt a lot in the 18 months between releases), it’s generally got a lot lower population (and is a lot harder to get a group together to do the big team content).

Finally, there is a more standard content push alongside all the above. The “Doppelgänger” tech that debuted last issue that pits you up against a clone – or flawed clone, or reversed clone – of yourself has been let into the player generated mission system “Architect”, they’ve buffed the UI a bit to allow tutorial hints, and the huge multi-team “Raid” style thing – the Cathedral of Pain – has been revamped and reinstated (It was removed about three years ago after being massively exploitable). I haven’t tried that yet, so I can’t really comment.

I’m not convinced it’s a massive expansion pack, is the thing. I love the new zones, the new power sets (Duel Pistols and Demon Summoning), and the new maps are wonderful. The new map sets have a spaciousness and environment that’s lacking from the rest – Heroes has been rightly criticised often for putting you in almost identical office/warehouse/cave layouts over and over again – but as much as I love the new train-tunnel map – for example – you encounter that a lot too.

Heroes players are spoilt by the Issues system which delivers gobs of content including whole new zones, mission sets, powers and stories, and huge leaps forward like the Mission Architect system (An MMO with actual player created missions is, if not unique, very rare. EvE can argue to have them, I think, but nobody else major) for free every four months or so. To release this – which contains a lot of gorgeous content – as a paid expansion makes economic sense but isn’t a lot more than we’d get in an Issue. Vitally, I think they make a huge mistake in releasing the souped-up “Ultra Mode” engine as part of the last major Issue, as it makes it seem a lot less important. On the other hand, this is twenty levels of content with two separate paths through most of it, in a brand new hand crafted environment that looks really nice, with a huge amount of new lore behind it, so I shouldn’t complain too much.

I hope Going Rogue does well, because if the various costume packs can fund this, I’m very much looking forward to what the sales of a good expansion pack can do. I’m expecting more zones of Praetoria, and Heroes is still a fun game to play. You should come and play it with me 🙂

2006-02-25 21:40:05

Computer Games

Rogue Trading

Going Rogue, the new expansion to City of Heroes (My MMO-Crack of choice) went live yesterday.

At 20:30 yesterday UK time on the US servers, for the first time since CoV launched, the top two most populated servers were in “queue to get in” mode, and the rest were all saying “Under heavy load”. This is a good sign for a game I really quite like.

(If you’re interested in trying CoH, I can send out ten day trial codes. Drop me an email)

Projects stories

Claret everywhere

I have just dropped a wine glass on my toe.

Claret everywhere.

(By which I mean “ow, my toe is bleeding” and “Bother. I’ve spilt port and elderflower liquor all over the floor”. Which I know isn’t claret, but still).

This weekend I am doing nothing.

Well, I’m playing Dragon Age, Team Fortress 2, Bioshock 2 and City of Heroes. I’ve watched Lock, Stock & Two smoking barrels; Snatch and Rocknrolla; I’ve reduced the washing up pile to zero; Thrown the various fragments of The Book’s git repository around a bit so they stick to each other a bit better (and done some Actual Planning, if no Actual Writing); Got my dev environment for back up and runing (complicated somewhat by the fact that the front page currently segfaults PHP); Done a bit more work on (What it is, what it looks like, how it works); and now updated this with… well, this.

So, a quiet weekend.

2010 Current Affairs

Price of a Pelican

Slightly late on this, but I’ve been catching up on the Planet Money podcast, which is about attempting to explain all the high-falutin’ concepts around economics and its occasional breakdowns in a way that makes it understandable to non-economists, and is well worth a listen. At the end of last month they did an episode called “Tallying Up The Pelican Bill” about environmental damage. Specifically, the money they are fined for the damage outlines costs for job losses and tourism charges, but there’s no line item for “Killed 4,000 pelicans”.

The blog post link above summarises the episode, although the actual show is better, as they go though various theoretical methods of working out how much a pelican is worth (from “You cannot put a price on life” meaning – in these terms – “They’re free” on down). Eventually, they come to a non-economic answer from the US governmental department responsible for dealing with this kind of issue: One pelican is worth… exactly one pelican. They require the fined company to invest in breeding centres and such to the point where they cause more pelicans to exist. Not the dollar value they were looking for, but means that BP don’t end up paying fines that end up bailing out those worthless penguins.