This is as days pass by, by Stuart Langridge

Game ideas

Greg Costikyan describes an idea for a really interesting sounding game, Great Patriotic War, over on his weblog. It's a war game, but instead of the painstaking strategy detail that most wargames have, Costikyan describes it as "a fast-action, arcadish game playable in 20 minutes or less". It abstracts away the detail of war; command a unit to attack by dragging it to its objective, and don't worry about the supply lines or whatever. It sounds like a really fun game to play from that perspective, but, as Costikyan says, it'll never get written, at least not by him.

The fact that the two battling sides are the Nazis and the Russians on the Eastern Front is just gravy.

Emergent behaviour in the blogsphere

I've been thinking a little about the idea of emergent behaviour in the blogsphere, especially given recent comments concerning the spread of memes and so forth (Burningbird, Baldur).

Emergent behaviour is defined by the Wikip�a as a complex behaviour which is shown by a collective of simpler agents, where that complex behaviour isn't defined or coded into any one of the agents, and it can't be easily deduced from an agent. Michael Crichton uses the example of birds flocking; no individual bird has a n instinct which says "if this and that happens, then flock". Nor are there leader birds which the others follow. Instead, birds know a collection of simple rules -- "stay close to birds near you", "don't bump into other birds" -- and when you get a lot of birds near one another, all following these rules, flocking just happens. It's very difficult to tell from the simple rules that flocking will occur, but it does when the birds are viewed as a group; the behaviour emerges from the collective as a whole.

This is obviously a theory which also has relevance to the study of social sciences, which is also partially about studying the actions of a collective of autonomous agents, in this case people.

It's possible to assert, with some degree of believability, that the propagation of memes is an emergent behaviour from a collective of people; as Baldur notes, it doesn't just occur among webloggers but in academe as well.

What I'm currently thinking about is whether the blogsphere is susceptible to analysis in this way; sociology is obviously relevant to study of that sphere, but sociology in general doesn't think in terms of emergent behaviours, because it doesn't overly concern itself with society as a group of individuals for separate study. (Possibly social psychology does, but I don't know a lot about that.) It's possible that the actions of webloggers can be viewed a lot more simply than the actions of people in society in general, because if we look at webloggers qua webloggers rather than viewing them as real people, there's a distinctly smaller range of actions. For example, if Shelley is right and there's been (or there is coming) a sea change from the link-comment or Dear Diary styles of weblogging to more thoughtful and considered posting, will there be new and more complex emergent behaviours? Can we predict them? What techniques are there out there to analyse this sort of thing? Could be a whole profitable field of study...

None

Barlow on the war

John Perry Barlow writes about Dick Cheney's intelligence (in complimentary fashion) and muses on the reasons for war in Sympathy For The Devil.

-----

Chaffing and Winnowing

Ronald Rivest, of RSA fame, described a scheme known as Chaffing and Winnowing as a way of sending confidential data without using encryption, and thus without falling foul of anti-encryption regulations. It's really clever. Essentially, you break up your message into packets, and sign each packet by adding to the packet a MAC (Message Authentication Code), computed from the packet contents and a secret key. Then (this is the clever bit), you add a load of other packets which look like legitimate data but have an invalid MAC. The important point here is that each packet is not encrypted; instead, it's just plain data, with a MAC that is either valid (for packets that are part of your message (the "wheat")) or invalid (for extra added packets (the "chaff")). The recipient, who knows the secret key, then takes every packet and checks if the MAC is right (by recalculating the MAC using the packet contents and the secret key), and discards all packets with invalid MACs. And that leaves them with the original message! No encryption required! I reckon that that's really rather clever. Apart from the fact that it makes message transmissions considerably longer (and all the problems associated with shared-secret-key methods), it's really neat, and can't be illegal. I wish I could think of a way of using it, now.

-----

Funky caching without 404s

Gary Burd (via Sam Ruby) explains how to how to cache the output of a CGI program to a single file; i.e., how to redirect requests for non-existent files to your "build-the-file-as-requested" CGI without having it trigger a spurious 404. That's not only neat, but it means that when I adopt this for Vellum, the build-it-now CGI will work the same way (being explicitly passed a URI to build) under both Apache and IIS, thanks to Ronaldo's instructions for running Vellum on Windows.

-----

Accessibility with web forms

Every time I see something about label elements and accesskey attributes in forms, like Dan Loda's essay, Doing forms justice, I think, that's brilliant, I must use that. And then the next time I build a form I totally forget about it. Why do I have this blind spot?

-----

Bad and Wrong

This is just so wrong it is untrue.

Updated: now links to archive.org.

The Ministry of silly skeleton walks

A walking adjustable skeleton (required Flash; via jwz (where does he find this stuff?)) Its default walk is not very silly, but I feel that with a government grant it could be a lot more silly.

Bill: when you see this, see just how much like John Cleese you can make him walk, it's great!

None -----

On being improper

Aquarion dissects a "You know you're a 'proper' weblogger when..." list in his thoughts on what it is to be a Proper Person. Interestingly, the question about moving from Blogger to Movable Type completely threw me, because pretty much all the other questions apply, in my opinion, to the "BlogSpot" sort of weblogger rather than the "Movable Type" sort of weblogger.

At this point, you might be either puzzled as to the distinction, or getting angry in anticipation of me saying something narrow-minded and blinkered. Alternatively, none of the above.

You see, I'd almost define what I've called a "BlogSpot"-type weblog as one which is full of cliquey in-jokes and "What type of fruit smoothie are you" tests and posts about award ceremonies for weblogging and one where the concept of a ""BlogMeet" rates a capital letter. I mean, obviously there are exceptions, and plenty of them. If your knee is jerking in fury at this point, you're probably an exception. But it's a style of weblog that I see much less from people who set up their own weblogging system, whether it's MT or pMachine or b2 or whatever.

Naturally, however, I'm biased -- no-one comes to a discussion of how people are categorised without bias -- because most of what I write about is incomprehensible technical stuff. This gives me righteous armour -- I'm writing about things that I think might improve the way the net works, not just whether my dog was ill this morning or not. Straw men make such good targets.

Moreover, one thing that always resonates in my head when I make accusations from my lofty pedestal of being a "tech-weblogger" is something that Neal Stephenson wrote in Snow Crash, about sexism:

It was, of course, nothing more than sexism, the especially virulent type espoused by male techies who sincerely believe that they are too smart to be sexists.

Yeah, that's probably true of a lot of -isms for me, including Blogger-ism. Maybe the divide is really between "things I like reading" and "things I do not". However, if ever you find a weblog that you think's interesting, and then you are surprised to see that it is administered through Blogger or that it comes from a BlogSpot URL, then you have the same divide in your head as I do.

Aquarion says, 'If that's what makes a "proper" weblog, then I think I'll stay improper, thanks.' I think that that list is what makes a proper blog, not a proper weblog, which is why I don't like the word "blog". It conjures up, for me, images of all the things I mentioned above; online tests, meaningless cliquey references, the works, which is why I don't have a blog, and why I was pleased to see that the latest version of Movable Type changed all references to "blogs" back to "weblogs" in their documentation and code. I wonder why that was, if not for misgivings like mine?

Maybe you agree. Maybe you disagree. Alternatively, none of the above. But if you were just about to gleefully point out all the times I've violated my own set of opinions above, ask yourself if hypocrisy is really the worst sin you can think of. Compare and contrast "by their fruits shall ye know them" with "it's the thought that counts" and work out on which side of the fence you stand.

Improved comment visibility

I've shamefully stolen Robert K. Brown's Improved Comment Visibility trick, because it's very neat. Hover over the name of a commenter on the front page, as shown after a post, to see the first bit of their comment.

Wing IDE

Wing IDE (via Ted Leung) is a Python IDE that allows you to debug CGIs. That's rather neat. Archaeopteryx, the developers, allow people working on open-source projects to use Wing for free, so I may well take advantage of that, because it might well be very useful indeed for Vellum.

-----

Yak shaving

Yak Shaving is what you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task. (via Paul Hammond)

Clearly my life is spent shaving yaks.

More lame Flash

Just discovered another lame Flash game, which looks like it'll be pretty popular. sigh It took me less than a minute to add myself to the highscore table (not at the top or anything) using the principles outlined in my essay "Lame Flash games and high scores". Flash people are really going to pay a price when they start building applications rather than games, if they go on like this.

-----

The Eric Eldred Act

The Eric Eldred Act: a FAQ explaining Lawrence Lessig's proposal that copyright owners pay a dollar, fifty years after publication date, to keep a work copyrighted. This would enable people who care (whether for personal or financial reasons) to keep their works copyrighted for longer than the fifty year period, while moving the vast majority of works, regarding which the owners no longer have commercial or personal interest (which Lessig's team estimate at 98% of published works), into the public domain. A rather neat solution to the problem, that.

-----

PyQT tutorial

IBM developerWorks have a Qt and PyQt tutorial, which will be useful for writing applications for the Sharp Zaurus.

-----

Transparent PNGs in IE5.5

The PNG Behavior from WebFX makes transparent PNGs work in IE5.5 through the use of a proprietary IE DHTML behaviour and the proprietary IE AlphaImageLoader filter. Nice work, and something I shall use in the nicetitles script when I get time to fix all the problems that people have identified with it.

Busted!

Mark catches me out playing self-referential BlogNomic games with his neat little magnetic poetry tool. I tried making it do its magnetic thing on itself. And then do it on itself doing it on another site, and so on. Caught me almost immediately. Oops. Sorry about that, Mark. He seems to have fixed it so that it won't fetch diveintomark.org pages now at all; that'll teach me to not fiddle with things :-)

Very neat little script, though, and I always learn something looking at Mark's code. This time, I have learned that one of my ambitions is to just be able to whip off Python code that uses SGMLParser without having to look up the docs and puzzle over it every time...

Oh, and my fridge poetry, drawn from this site itself:

IBM people have MORE proprietary Responses

None

Recent comments

A recent comments list is a neat innovation that lots of people are using (Burningbird has a set of instructions for MT). Seemed like a nice idea, so here's some instructions for doing the same with Vellum.

You need to create a template for recent comments, tell Vellum to build said template, and then include the built file somewhere on your pages.

First, the template, in vellum/templates/recentcomments.tmpl:


<%
COMMENTS_TO_DISPLAY = 8
import vellum.plugins.audience,vellum.Entry

comments = vellum.plugins.audience.all_audience()
comments = filter(lambda x:x.type=='comment',comments)

comments.sort(lambda x,y:cmp(y.posted,x.posted))

print '<ul>'
for c in comments[:COMMENTS_TO_DISPLAY]:
  e = vellum.Entry.get(c.entryid)
  print '<li>%s on <a href="%s#au%s">%s</a></li>' % (c.ref,e.permalink,c.id,e.ti
tle)
end
print '</ul>'
%>

(this has changed from my original posting: use this version, because it doesn't have to individually load all the entries from disk, which is very very slow indeed.)

Next, tell Vellum to build the template. Go to the configuration screen for your weblog ("Configure" from the front page) and, in the templates section, add a new template:

  • Template name: Recent comments
  • Template filename: templates/recentcomments.tmpl
  • Permalinks to here: [leave unselected]
  • Permalink expression: [leave blank]
  • Sort expression: [leave blank]
  • Output page: "recentcomments.html"
  • Page header: "Recent Comments"

(the quotes in the last two are important!)

Now, rebuild your weblog. You can include the recentcomments.html file somewhere, but bear in mind that, owing to Vellum's funky caching, it won't be there until it's requested specifically. I get around this by having the "include" from my main page actually do an HTTP request to localhost to get the file.

Mobile phone number changing

Looks like Tantek's getting a new mobile phone, and along with it a new number. Why? Why not just transfer your old number?

Well, you might find out what I did when you try and do that. I had, for some considerable time, a pay-as-you-go-along mobile. One number. I spent a lot of time teaching that number to people; almost as much time as I spent whining that the Sagem MW930 was lame and oh, by the way, could I have a new one, please, you know it makes sense. On a contract, ideally, so I didn't run out of minutes at the end of the month, and so calls were cheaper. Mainly, though, so I had a phone that I could receive a call on in public without one of the two bad things happening: the first bad thing was dying of embarrassment when people looked over. I exaggerate slightly; it didn't look that bad, I suppose; slightly curved and an iridescentish blue -- how is it best to describe that metallic-colour-trapped-under-glass sort of look, I wonder? I imagine that the marketing people probably refer to it as "pearlescent" or something.

Where was I? Oh, yes, bad things that happened when I received a call. The second bad thing -- and this is the one that made me want to get rid of the phone, ideally by smashing it down into a tiny pile of electronics dust and shattered components with a lump hammer -- was that, when it received calls, it would sometimes turn off. Not immediately, though, and even if it claimed that the battery was full. Unless you ran the battery right down to the minimum by just not charging it at all for a few days (assuming that you didn't get a phone call), it would never turn off randomly. If a call was accepted properly, it wouldn't turn off randomly. But, one time in three, when a call came in, it would ring once -- which is just enough time to sit bolt upright and start fumbling in your jacket pocket, either annoying the person sitting next to you or spilling your cup of tea in your lap -- and then go dead. Naturally, since it had turned off, you had no idea who called. Find the phone in said jacket pocket, turn it back on, and the battery level indicator would merrily flash its three insolent bars at you. Smash, smash, smashsmashsmash. Hammer.

So, I got a new phone. An Ericsson T68, which seems to be rather nice, although it does sometimes take a while to recognise that you've pressed a button. (Remember when computers used to take ages, when they were even slightly busy, to respond to user input, and so you'd do the same thing a few times, only to find that all your keypresses took effect when the machine caught up and turned it into a blistering frenzy of wrong and potentially data-damaging activity? Just like that.) That aside, however, I quite like it. I wanted to like it when people rang, too, and I didn't want to spend lots of time finding the email addresses and phone numbers of everyone I've ever met to tell them about a number change, not to mention the legions (well, er, small number) of people who had my number in some sort of professional capacity. So, I hassled my old mobile company (who ran the pay-as-you-go phone) to let me transfer the number to my new (different company, contract rather than pay-as-you-go) phone. And it all worked. I had to get something called a PAC code (which might be like PIN number, I don't know), and I had to do the usual thing of running interference between the two firms (why is it that you can't point one big firm at another and say: sort it out and tell me what happens? If you ever try that, and I have, then nothing happens. Sure would be nice to have work done without having to repeatedly kick people's arses about it), but my number was transferred. About the same time, we moved house. Since the move was in the same town, I transferred the phone number from the old house to the new one, for all the same reasons as above.

And, you know what? (I'm sure you can guess.) No-one rang. No-one. Tumbleweeds blowing across the face of both mobile and landline receivers. And everyone I chased about it, everyone, said: well, you moved, and we didn't know your new number! The populace has become so inured, so expectant of poor service from conglomerates and BigCos that, even when they pull out the stops, make a transition easy, and generally make my life and my contacts' lives more pleasant, everyone expects to have to go through pain. All the way through the number transferral processes I was metaphorically gritting my teeth in anticipation of the denial or the refusal or the vast administrative hoop to jump through, and it never came. The lady at my original phone company seemed shocked that I was so surprised at how easy the process purported (and actually!) was. Your firm needs better PR, dear; they should be publicising this to the high heavens.

Oh, then when the landline company put cable into the new house we bought, on the day we moved in, their engineer drilled through my ring main and we had to eat dinner, fish and chips still in the paper, in darkness and surrounded by boxes while trying to block out the inward whistling and arguments between the hapless cable guy and his now-at-the-scene-of-the-crime boss. But we'll ignore that. Besides, it makes a good end to a story. I must remember that.

None

How to be rich and famous

QDB: Quote Database:

<[SA]HatfulOfHollow> i'm going to become rich and famous after i invent a device that allows you to stab people in the face over the internet

I just felt the need to make a note of that one.

Nice titles

Another issuance from Stu's House of JavaScript Weirdness: nice titles on links, a la Nate's wish over at web-graphics.

Updates: The background of the nicetitle is now a transparent PNG (as explained by Lars Dieckow), so transparency relies on your browser's support for such PNGs rather than proprietary opacity methods. The effect now works on keyboard navigation (tabbing to links) as suggested by Mark. There are now no longer rounded corners on the div, whether you're in Mozilla or not, because Mozilla's -moz-border-radius property doesn't seem to work on the div any more (must be the background image). Cross-browser rounded corners seem to require inline images and nested divs, and I can't think of a way of making the rounded corners transparent rather than white -- if they just have a transparent background then they'll show the main div's background, which is our semi-transparent PNG, even though they should show the page below it. There is still no delay on the links, because delays are a pain; if you mouse off a link before the delay has occurred, then the remove function has to know to not try and remove, but more importantly, if you mouse from one link directly to another, sometimes the onmouseover for the second link fires before the onmouseout for the first link, which confuses nicetitle's poor little brain. Further thought needed on how to handle that case. I also don't understand why the div is sometimes cropped on the right under Mozilla/Linux. There's no reason for it to be; I need to cut that down to a testcase and file it as a bug. Thanks for all the comments and enhancement requests, all.

None

Nearby people

D'log: a weblog is run by someone who lives fairly near me (as found on Birmingham Blog) and it's got a really nice design. Clean and sparse, but well-balanced. Powered by GreyMatter, too, which I thought was dying out.

On the other side of the coin, my other interesting discovery from the Birmingham Blog list is Jonathan's phrenzy.org, which is a lot more technical and less clean in design -- sort of a k10k cluttered feel to it, but that's sometimes pretty interesting. Lots of cool little widgets on there too: a form to send an SMS, the tagboard, ad nauseam.

Once again, we get into the same problem of disparate services; the Birmingham Blog list is a list of bloggers in my area (for those who have mailed the list maintainer), GeoURL tells you people near you (of those who have registered), the Blogchalking codes allow me to search for blogchalk "United Kingdom/West Midlands/Birmingham" (for those who have such codes). Too many little services that most people aren't signed up for. D'log pings blo.gs where phrenzy.org does not. I'm not sure I can see a way around this; blo.gs pinging (well weblogs.com pinging) is integrated into a fair few blogging systems these days, which is handy, but most people don't have blogchalking codes or GeoURL ICBM addresses or whatever. So how do you find bloggers near you so that you can go and have lunch with them?

None

This Page Intentionally Left Blank

The This Page Intentionally Left Blank Project (via Nat):

In former times printed manuals had some blank pages, usually with the remark "this page intentionally left blank". In most cases there had been technical reasons for that. Today almost all blank pages disappeared and if some still exist here and there, they present flatterly comments like "for your notes" instead of the real truth: This page intentionally left blank! Nowadays the "This Page Intentionally Left Blank"-Project (TPILB-Project) tries to introduce these blank pages to the Web again. One reason is to keep alive the remembrance of these famous historical blank pages. But it is the primary reason to offer internet wanderers a place of quietness and simplicity on the overcrowded World Wide Web -- a blank page for relaxing the restless mind.

Very, er, Zen. Or not.

The perversity of computers

Dorothea relates how she curses computers when they go wrong, because "they are conniving little sneaks looking for any excuse to savage me and my work". However, she also suggests that that attitude isn't common among constant computer users, which I'd say is pretty close to a hundred percent wrong -- I'd imagine that pretty much every hacker I know sometimes feels that the damned thing is just conspiring against them; the little homunculi who live inside your computer and make it work are practically leaning out of the network port and laughing behind their hands as they screw up yet another command. Happens to me every single day. In fact, sometimes the little homunculi screw up my computers even when I'm not using them, which to my mind is proof positive that they exist.

-----

She hates music

Tim reminds me about I Hate Music, where the lovely Tanya Headon lays into music of all sorts without fear or favour. It's great. Especially if you like music, because then you'll have your bubble burst.

Look at the first rhyme he tries to palm off here. "Coffee" and "Cafe". Very similar words, having exactly the same root. The only difference is the vowel sound - which is the thing that actually rhymes in words. Sure they share that nice c sound, nice f sound. But on that evidence Davis Sneddon Fuck Off would rhyme. Its certainly a more pleasing lyric.

Blair talks to the public on Iraq

Newsnight interview Tony Blair on Iraq: Blair confronted the public and their questions over the impending war in Iraq, and came over (to me, at least) looking like a real politician. That's not a compliment. He danced and shined away from questions constantly throughout the interview (which you can also watch as RealAudio). Paxman was his usual brusque and superb self, though, and didn't let him get away with it.

-----

Pastel design

Wherever You Are: Weblog (via Aquarion):

Aquarion went to the UK Blogs meet, and talks about his experiences, and furthermore points at the weblogs of some of the other people who went. Wherever You Are stood out for me because it's got a really nice design. All pastel colours; lemon, faded grey, nice black-and-white picture of the tube. I really like design in these light colours; simple but serene.

I wish there were more people around Birmingham to meet up with. Sarabian and Aquarion I see from time to time, but it has to be a special trip. As far as I know, I'm the only one in my LUG with a weblog, and they're the only group of techie people around I know. The essence of weblogging might well be reading other people's thoughts on the web without face-to-face conversation, but it sure is nicer to talk about it in person.

Oh, a further thought: if I'm going to talk to UK bloggers, I should read some of their blogs. ;-)

None -----

MOzilla rich editing control lands

Mozilla Coming Attractions mentions Midas, the Mozilla WYSIWYG HTML textarea. Finally Moz achieves parity with IE. It looks like they've pretty much implemented the IE execCommand interface, too, which is interesting; I wonder how many (if any) of the currently-existing IE WYSIWYG HTML controls will work without alteration in Mozilla?

-----

Real board games

Tantek is playing real board games. "Face to face. With people. Without a computer." Meanwhile, my LUG are trying to put together a multiplayer gaming session. There don't seem to be very many (at all) multiplayer net games that:

  • are fun
  • are free, so we don't all have to go out and buy Unreal Tournament
  • don't require an amazing 3D graphics card

so it looks like we might well be settling on PrBoom, one of the Doom clones. Packaged for Debian, too, as is the shareware level, so it's easy to install. There were a distinct shortage of other game suggestions, apart from Peter Oliver suggesting the tank one that looks like a Spectrum FreeScape game :-)

-----

Happy and Dubya knows it

A filk, via gladys:

Fall in line and follow orders, bomb Iraq.
For our might knows not our borders, bomb Iraq.
Disagree? We'll call it treason,
Let's make war not love this season,
Even if we have no reason,
Bomb Iraq.

Hilarious, in a slightly poignant way.

None -----

DHCP and DNS on Smoothwall

A new essay on how to convince your Smoothwall machine to make your DHCPed machines' names available through DNS: DNS for DHCPed machines on Smoothwall.

CUPS and SAMBA

Just remember: I hate CUPS and Samba. "Use http://username:password@windowsbox/printer: rubbish.

I hate my computer, which obviously has a spedged Samba setup. I've just tried setting up CUPS on Sam's machine and it worked fine; just add printing = cups to /etc/samba/smb.conf. So I shall make that machine the CUPS server, assuming that I can work out how.

None -----

Zoe and mail intertwingularity

Zoe looks really quite interesting; it's a mail cataloguer and searcher, somewhat like jwz's intertwingle idea. Intriguing.

Zo�s a email client. It's also a email server. And a long term archive. And a search engine. And an application server. All that at once on your desktop. Or server. Or both. Or it doesn't matter because client and server are the same.
None

Birthday presents

So, as birthday presents from a few people I got WHSmith vouchers and book tokens. So, off I went shopping. I got

A good day's shopping, I thought. Watched WarGames and am halfway through Mortal Prey already. I like buying things.

Vellum commentary

Phil is quite amazingly effusive about Vellum. Blimes, Phil, I'm blushing here. Still lots more to do, though, but it's jolly nice to know that I'm doing something right...

-----

XFree86 mouse pointer offset: fix

Completely random problem with one of the machines here: the mouse pointer was offset about 30 pixels or so to the right, so that the hotspot was about 30 pixels left, and the mouse wouldn't move all the way to the left-hand-side of the screen. (Similarly, it would scroll that far off the right of the screen.)

It turns out that it's a bug in the XFree86 Trident driver. If you've got Driver "trident" in the video card's Section "Device" in your XF86Config-4 file, then try adding Option "SWCursor" to that section, and this should fix the problem.

None -----

This website belongs to Stuart Langridge. Contact details are available. Don't eat yellow snow. Valid HTML5, at least in theory, except for the bits that aren't because I'm that futuristic that I'm ahead of the spec, oh yes. HTML5 help from Bruce Lawson, among others. Fonts from the superb FontSquirrel. End.