Sunday, July 20, 2008

Saturday's Vampire tournament

I decided to give the Malkavian antitribu deck another run in a tournament - I tweaked the balance somewhat (I reluctantly removed Aristotle, since he tends to generate excessive table hate, and I replaced the confusions with more generic stealth cards). I managed a single VP with the deck, but, thanks to the scary efficiency of Val's anarch reckless agitation deck (1 table sweep, 1 near sweep), that was enough to qualify for Wednesday's final.

There were only 9 players, so the split was into two tables, one of 4, one of 5.

So, the rounds:
Round 1: I was bleeding Robert's guhuri farm deck bleeding Val's reckless agitation deck, bleeding Phillip's Aabbt deck, bleeding Garrick's Brujah equipment deck.

Robert started. I had a decent crypt draw, and was able to put decent pressure on Robert, but didn't draw enough bleed cards (I drew 1 kindred spirits in the game, and only 2 eye's of chaos's), so I was never quite able to finish him off. I erred badly in not stopping Val's Firebrand when I could have, which made it easier for Val to get the vote lock, and sweep the table. Phillip's deck got going, but wasn't fast, which left Val easily able to finish Phillip and Garrick in quick succession, before going on to sweep the table. Garrick's deck didn't really get going - he ended up spending a lot of time setting up with equipment, and a couple of bleeds by Phillip put him very much on the defensive, but he struggled to generate enough intercept. Robert didn't really get the full arm going, but a couple of well timed minion taps, and some other pool jiggling meant he survived my attacks - that he never blocked any of my actions also meant I was jamming on stealth cards a bit. Annoyingly, when I was ousted, the two of the next three cards in my deck were a Kindred Spirits and a Eye's of Chaos - given that I had stealth in my hand, and Robert was on only 4 pool at the time, had these cards come up a little earlier, I might well have been able to oust him.

The second table was Mike, playing an Imbued event deck , bleeding Verolin, playing and Akunanse deck, bleeding Dan, playing his Seraph multi-act Assamite deck, bleeding Marc, playing a Tzimisce bleed deck (no idea who started). The table timed out. Mike was on quite low pool, but Marc was never able to generate enough bleed to defeat the Imbued's farming. I'm not sure why Mike was unable to oust Verolin, since he was down to a single minion by the end of the game, and didn't seem to have much farm going, but the table indeed timed out.

Round 2:
Table 1: I was bleeding Phillip's deck, bleeding Mike, bleeding Robert. I started.

I didn't have an ideal crypt draw (two Dolphin Blacks, the General and Hannibal), and I drew a lot of Master's early on, so it took me a bit of time to get myself setup. Fortunately for me, both Phillip and Robert were bringing out 11 blood vampires (Sutekh and Eze respectively), so my slow start didn't really hurt me. Mike, on the other hand, drew an information highway in his opening hand, and, combined with the other acceleration tricks he had, had 4 minions out by the time Phillip brought out Sutekh. With Eze and Sutekh on the table, and Vox Senis down early, I didn't have the voter lock, but I was able to successfully whittle Phillip out - it was a close run thing though, as he had played the Kahabr towers the turn before I ousted him, and would almost certainly had burnt Sutekh for the 11 pool on his next turn. Thereafter, with the Unmasking down, I run into a drought of stealth cards, so wasn't able to put pressure on Mike, and with both Mike + Robert attacking me, I ended up losing minions fairly rapidly. Mike eventually ousted Robert, since timeout was looming, and then easily ousted me for the game win.

Since this game went close to timeout, I didn't see what happened on the second table - I know Verolin got 1 VP, which was apparently engineered by Val, and Val cleaned up the table thereafter.

So, reflections:
  • I probably need to add a couple of Barren's to the deck - when people aren't blocking, it's prone to jamming on stealth
  • The changed balance is better - despite the occasionally weird draws, I had fewer completely useless cards at any stage, and was generally able to go forward fairly well.
  • I need more Mental Maze's, since the Malk's remain crunchy in combat.
  • I still can't believe I only drew 1 Kindred Spirits in the first game - Sutekh's card draw probability calculator tells me that the odds of that are < class="blsp-spelling-corrected" id="SPELLING_ERROR_33">probability plugin, I'm naturally completely confident in the accuracy of the figure).
  • Outer Limits had shiny Twilight Rebellion boosters. I had little self control, and now have a number of shiny Twilight Rebellion boosters (next on the agenda: somehow secure some Fee Stakes, so I can actually use the nice shiny tech)
We'll see how the final goes on Wednesday

Saturday, June 21, 2008

Python Sprint Day Take 2

In terms of overall productivity, this was less successful than the first. Partly the break for the talks ate up a lot of time, so getting momentum was a lot harder, and also, with the recent beta release, the number of clear issues was much reduced. The checkin that broke floatobject for some of us didn't help either, as people got side tracked into getting working python 2.6 builds.

Still, we prodded a couple of issues from the last bug day, and a couple of new bugs were filed about odd bits in the code (mainly by Simon), so there was some positive progress.

The CTPUG meeting part of the day was a definite success. The localisation talk took some time to get going, and it would have been nice if Dwayne had been able to stay longer so that we could have explored some of the discussion avenues a bit further. Simon's PyObject talk was interesting, especially touching on some of the differences between py3k and the python 2.X series.

Tuesday, June 3, 2008

Curiosity is a funny thing

For various reasons, many to do with my instinctive distrust of university IT departments (what can I say, I've been around academia for too long), I find myself responsible for our departments web-server.
The web-server hosts various things, such as the course pages, a wiki for the South African OR society and a few other things.

Unsurprisingly, pursuing the logs reveals a great deal of refer spam, and, unsurprisingly, I have a set rewrite rules to deny access to obviously bad refers, and various automated steps in place to keep the blacklist updated, and some manual processes, since not everything can be automated. This does have the side effect that I have a automatically updated record of referrer spam in our logs. Which is where curiosity kicks in and asks "I wonder if there are any interesting stats to be gather from this?"

Perhaps fortunately, the data isn't well organised for analysis - I can't readily extract temporal information or frequencies of repeated patterns without correlating stuff against the logs, which is more effort than it's worth, but some simple keyword grepping is enough t at least roughly break things down into categories, which is already interesting.

So, based pretty much on the junk seem so far this year, dip's stats are:

Leading the way, at a little under 35%, are gambling related terms, with poker the big winner, followed by various spellings of blackjack.

Insurance surprisingly comes next - accounting for just over 20%. Medical and health insurance are the major keywords, with the vehicle insurance terms running a fairly distant third.

Next, at just under 10%, are various loan and debt management terms. Bills and debt are the most popular keywords here, with loans close behind.

Viagra and such account for around 7.5%

Porn does surprisingly badly, only accounting for around 5% of the cases - with a huge variety of terms used.

The rest is a mish-mash of music sites, link sites and various other junk., with nothing really worth singling out into a single category, although 1% is taken up by cigar and cigarette related links, which I find somewhat bizarre.

Well, at least I'm no longer that curious - in due course, no doubt, the bug will bite again, and I'll do the correlation against the logs, in which case, dear innocent reader, you shall be confronted by graphs (and even possibly pie-charts).

Friday, May 30, 2008

This Week

So, what happened in the past week?

On Monday, there was VTES at Phillip's house. I tried out 3 decks, and, while I didn't do particularly well, I managed to oust my prey in two games, which was a fair effort for the evening

Tuesday, I was off sick

On Wednesday, I attended Geekdinner (pictures here), which was pretty enjoyable, despite riding my motorcycle in the rain (and, please note, the sound of the rain isn't soothing when you're on a bike). The trip back was enlivened by a cylinder cutting out, but I made it home alive [1].

My UPS's finally arrived, so I spent quite some time on Thursday prodding at them. Annoyingly, there's a bug in nut 2.2.1, which is the currently latest packaged version, which breaks support for several megatec usb UPS's, such as my new ones, so I had to roll my own nut 2.2.2 backport, which was not quite as simple as I would have liked.

Today (Friday) was mainly spent on the final stages of setting up our rather idle UltraSparc as a buildbot for numpy. After some annoying surprises (a variant of issue 198 amongst other things), and some fussing around to get multiple chroots installed (so we can test both g77 and gcc4's gfortran), things finally seem to be working properly (see this and this for example).

Workwise, we're testing the latest version of the SPG system, so much bug fixing. I loathed at qt a fair bit, but managed to get most issues resolved. We've also been poking at the robot-SPG communication, which has uncovered some interesting issues with the path planner, so , even there, I can claim to have had a reasonably productive week.

[1] I've always liked that song, the actual riding in the rain less so, though.

Friday, May 16, 2008

Today

Proposition A:

Waking up on a cold morning, and realising that you don't need to get up for a while is one of life's pleasures.

Proposition B: (from Proposition A)

Waking up on a cold morning and realising you must get up now is a poor way to start the day.

Proposition C:

Days that start poorly have a higher likelihood of sucking than other days

Today amply demonstrated Proposition B, and provided no evidence against proposition C.

Sunday, May 11, 2008

Redoing my photo gallery

I have, for some years now, maintained an online gallery of my photographs on dip.

It has, for most of it's existence, been maintained by a rather complex and fragile set of shell scripts, so , with the recent spate of long weekends, I finally got around to replacing them with some more maintainable python code. This, after poking at the problem off and on for the last two weeks, reached a point that I started moving my gallery over to this on Friday. While the code is not bug-free yet [1], it works pretty well.

Why write yet another gallery generator, though?
  1. Why not? With python's tools, most of the heavy lifting can be passed off to PIL and elementtree, and it's just the file parsing that needs attention.
  2. Most existing packages are trying to solve a different problem, namely managing the gallery entirely through a web browser. I don't need to do that, and so focus on creating static pages offline.
  3. I'd have to write a tool to import the existing image annotations into whatever gallery I use.
  4. I've wanted to experiment with git for a while, so this project also gave me an opportunity to poke around at that.
Version 0.1 is available from dip.sun.ac.za at the moment, but I'll probably be rolling a version 0.2 with several recent bug fixes (see [1]) soon. Then it's time to look at adding an RSS feed generator.

[1] For instance, I had to fix a memory issue this evening. Keeping references to 100 odd 2592x1944 images after PIL's loaded them completely is not the brightest thing I've ever done.

CTPUG's python sprint day

Overall, I think the day went well. At one point we had 8 people in the room working on various issues, and, during the course of the day, we touched 11 issues by my count (http://groups.google.com/group/ctpug/browse_thread/thread/edff4863226806ea), and submitted patches (in some cases multiple patches) to 10 of them.

Due to the time-zone issues, there wasn't much opportunity to push for review of the patches, but they are now there.