12 entries tagged updated

CAPTION96 Photo album

This is a selection of images collected at the CAPTION96 comics convention (in the summer of 1996). Attentive readers will have noticed that there is almost a year-long gap between the con and the photo album. This is partly explained by the amount a manual labour involved in scanning all those 7×5 photos on my none-too-fast scanner and moving the files from the Mac with the scanner to the Linux box with all my web site stuff on.

Update: With the creation of the CAPTION web site, this album has moved home and in the process has been redesigned with a less archaic look.

Update (23 April 2010): I have created a new version of the CAPTION96 album on my Ancient Photo Albums site.

CAPTION97 photo album

I took almost 200 pictures of small-press-comics folk at the convention EuroCAPTION97. Here's the finished album, with many of the duff pictures discarded. Update: With the creation of the CAPTION web site, this album has moved home and in the process has been redesigned with a less archaic look.

Introducing my new bike

Yes! Pictures of my new bicycle, and not before time. Actually, I only have my bike here because I don't have a cat to give a webpage to...

Update (1999): I was intending to add more info about my bike and cycling in Oxford but so far I have never found the time. So this page is a little old... :-)

My bike wrecked

Alas! I have managed to dispose of another bicycle. This time it was written off in an accident—I was ‘in collision’ with a car door. Luckily for me the bike took most of the damage, but in the process the front forks and frame were wrecked. Just about the only component unaffected is the rear wheel. Since this has the hub gears, it is probably the most expensive part of the bike...

I sha’n’t bother changing my bike page to translate the present tense into the past, because (I hope) soon it will be true again. I intend to replace my bike with one just like it.

Update: Yes, I have replaced my bike. It works very nice too.

Another bicycle written off

Alas! I have managed to dispose of another bicycle. This time it was written off in an accident—I was ‘in collision’ with a car door. Luckily for me the bike took most of the damage, but in the process the front forks and frame were wrecked. Just about the only component unaffected is the rear wheel. Since this has the hub gears, it is probably the most expensive part of the bike... I won't bother going through my bike page to translate the present tense into the past, because (I hope) soon it will be true again. I intend to replace my bike with one just like it.

Update: Yes, I have replaced my bike. It works very nice too.

Aviemore album

Holiday snaps from Aviemore. The Scottish village of Aviemore is best known as a skiing resort. My ex Alex’s parents have a time-share on a lodge there which this year they were not using, so Jeremy, Alex, Adrian and I (Damian) headed up to Scotland for a week spent walking in the forest around the nearby Loch an Eilein and Loch Morlich.

Update (2 April 2007). I have migrated this album to Flickr. The Flickr version also uses 100-dpi rather than 75-dpi scans of the original paper photographs.

One day my

One day PNG’s technical and licensing superiority over GIF will make it ubiquitous. But not yet.

Update (4 Nov. 2001). I have now started using PNGs on the site—though I have not yet taken the trouble to convert the existing GIF files yet.

Update (15 March 2002). Today as I convert my old site at http://www.alleged.demon.co.uk/ to its new home on http://www.alleged.org.uk/, I have been converting most of the remaining GIFs to PNGs. I guess I now have confidence in the support for this format.

Alleged Tarot (12): All the sixes

This week my on-going on-line tarot deck reaches the sixes: Wands, Cups, Swords, and Coins. Alas! the font I am using for the titles is missing the letter x, so there is a blank square for now. I will fix this when I have a free evening—I spent most of this evening finishing off the drawings themselves. Far too tired to do it now. I also need to see if I can think of a better way to combine the pips with the drawings, since the pips are now obscuring most of the artwork...

Update: I have added x to my title font, after covering excessive quantities of paper with mathematical workings as I try to reconstruct enough of my geometrical and trigonometrical knowledge to calculate the intersections of all the lines...

Update: I have added an animation to the pips so that when you click the button to show the interpretation, the pips shrink and shuffle out of the way!

SVG: embed or object?

I have been forced to post a response to a page in SVGWiki, because my attempts to enter a response using the Wiki page itself have failed with a VBScript error. I also have to say that while I think the Wiki concept of universal editorship is great, its reliance on its own quirky syntax is a little annoying. (On the other hand, HTML is not as amenable to hand-editing as it might be. This is a result of its being based on the splendidly verbose SGML syntax.)

Update (8 May 2002). I have updated SVGWiki—after connecting to it with MSIE rather than Mozilla or Opera. Perhaps there is some MSIE-specific JavaScript code involved?

Update (14 February 2004). My note on the object tag has been updated to reflect the fact that Safari 1.0 (released 2003) cannot handle objects containing embed.

How to make minicomics (caption.org)

I have added a couple of pages about how to draw minicomics to the CAPTION 2002 web site. Not a very profound bit of writing, but I hope some people will find it useful.

There is also now a proper biog page for Jeremy’s section of this site, complete with some new pictures. There are still some links left to the old site, but we’re working on it...

Update (20 June 2010) Jeremy]s sectio has been obsoleted by the Jermey Day web site.

LifeJournal syndication

Jo Charman has created a LiveJournal ‘syndication account’ for me. As a result you can see my RSS feed, converted in to a LiveJournal journal. She says that if you have a paid-for LiveJournal account, you can add pdc to your friends roster. And people can comment on the LiveJournal pointers to my posts. Woohoo.

Updated (4 March 2007). Updated URL. Corrected the spelling of Jo’s first name.

Picky Picky Game: minimal voting

(Sunday night.) Still nothing up for you to see yet, I’m afraid. (Apart from anything else, I need to ask my host to install a few Python packages...) But I do do now have the start of the second CGI script, the one that accepts reader’s votes for the current round of pictures. These votes later are used to decide which picture to use for that panel of the comic strip.

At present the script accepts your vote but does not display them in any way. If you vote again, your previous ballot is silently overwritten. I plan to support Approval Voting in future by having a page where you have a checkbox for each candidate picture and can select as many as you like.

The word ‘your’ is a little misleading; we use people’s IP addresses as their identifiers, which sort of works most of the time, but means that people sharing a proxy server will end up sharing a vote. The alternative (requiring users to register in order to vote) is not likely to work because noone will want to register.

Update (Monday night): The voting form now shows you the pictures with checkboxes. When you first visit the page, the picture you cloicked on is ticked, but then you can tick as many more as you like. Because of the way HTML forms are processed, each form parameter is potentially a sequence anyway, so the code for each time around the voting form can be exactly the same. The code that adjusts the totals is very simple:

def vote(self, uid, pns):
    """Register a vote from the user identified by uid.

    uid is an integer, uniquely identifying a voter.
    pns is a list of picture numbers
    """
    oldPns = self.userVotes.get(uid, [])
    if pns == oldPns:
        return
    for pn in oldPns:
        self.pictures[pn].nVotes += -1
    for pn in pns:
        self.pictures[pn].nVotes += 1
    self.userVotes[uid] = pns

The first line retrieves that user’s old ballot, if any. The first for statement reverses the effect (if any) of their former vote, the second counts the new vote. Finally the ‘ballot’ is saved for later. Behind the scenes, ZODB takes care of reading the old data in off disc and (when the transaction is committed) saving the updated data.

My paid job involves writing a web application as well, except this one uses Microsoft ASP .Net linked via ADO .Net to Microsoft SQL Server® 2000. To do a similar job to the above snippet, I would be writing two SQL stored procedures (one to retrieve the exisiting ballot, one to alter the ballot). Invoking a stored procedure is several more lines of code in the C♯ or VB .Net layer as you create a Command object, add parameters to it, execute it, and dispose of the remains. (Or you can create DataSet objects which are even worse, but have specialized wizards to help you draft the code.) The actual algorithm (the encoding of the business logic) would be buried in dozens of lines of boilerplate. By comparison, the Python+ZODB implementation is a miracle of concision and clarity. The ZOPE people deserve much kudos.