Posts from August 2002.

Mesh networking


The Grauniad have an article describing mesh networking, the new idea where every node on a Wi-Fi network becomes a repeater, which means that as you get more people on the network it becomes easier to use, not harder (as with mobile phone networks). I think that this is a great idea — sadly, it doesn’t solve the current problem of how you get broadband in the middle of nowhere (because the theory behind mesh is that there are lots of other Wi-Fi people around you — imagine that everyone has a warchalking symbol on their forehead), but it would still be very cool. And, to boot, it stiffs the mobile phone companies who blew billions of pounds on 3G technologies that are going nowhere. That’ll teach them to rip off customers, won’t it?

—–

Web “designers”


An “association of web designers” advertise themselves (via camworld) in the most appalling way ever.

“We give you just the best of the best !!!!!!!” Well, I’m convinced. Love that background image.

RIAA Site Defaced


Chris Chapman has a note on the RIAA site defacement (via Dave Winer), and includes a screenshot, which is something that I couldn’t find when I heard about the defacement yesterday or the day before. (The attrition.org defacements archive seems to no longer be archiving defacements, and I don’t know if anyone took up the slack.)

I shouldn’t laugh at this, really. But: Ha. Ha. Ha.

—–

External link icons the CSS way

A few days ago, Mark Pilgrim wrote up some details on how to automatically
insert an image before off-site links
, using Movable Type macros. I
don’t like doing it that way; it’s possible with pure CSS (assuming you
have a browser that supports CSS3 selectors — this means Mozilla, in
case you hadn’t guessed). If you are using Mozilla, you’ll see a little world icon ((ext)) after each external link. Read on for a description of how the technique works.

Mark’s method works by using MT macros to assign a class of “offsite”
to off site links, and then styling those links accordingly. Using CSS3
selectors, we can style off-site links directly without having to assign
them a class or run any server-side code. Here’s the code to do it, and
then we’ll discuss how it works.


/* Add an external-link icon to absolute links */

div.blogbody a[href^="http:"] {
        background: url(/images/remote.gif) right center no-repeat;
        padding-right: 12px;
}

div.blogbody a[href^="http:"]:hover {
        background: url(/images/remote_a.gif) right center no-repeat;
}

/* ...but not to absolute links in this domain... */

div.blogbody a[href^="http://www.kryogenix.org"] {
        background: transparent;
        padding-right: 0px;
}

div.blogbody a[href^="http://www.kryogenix.org"]:hover {
        background: transparent;
}

/* ...or to the "google for $postTitle" link for each entry */

div.blogbody a[href^="http:"].googlelink {
        background: transparent;
        padding-right: 0px;
}

div.blogbody a[href^="http:"].googlelink:hover {
        background: transparent;
}

This all works by using the CSS3 “starts-with” selector,
^=, on attributes. Where we have a selector
a[href^="http:"], that means “select all a
tags where the href attribute starts
with
the string http:“. This will select all
absolute links, i.e., those that are not given as a link relative to
where the current page is. That’s our first selector: it says “add this
background image and a bit of right padding to all absolute links”.
(Note that the technique of adding a little bit of padding and then
putting an icon inside that padding as a background image, to make it look as though the icon is part of the flow of the page, is one that I got from Eric Meyer on CSS.)

(Ignore the second rule for the moment.)

Now, all outside links are absolute links (because they’re not on the
same server as the current page), but some internal site links may also
be absolute (for instance, permalinks often are). So our third rule
removes the background and padding we applied above for absolute links
that point to my domain. (You’ll have to customise this bit for your own
domain.)

Ignoring the fourth rule for a little bit, the fifth rule does the
same as the third rule, for absolute links with class “googlelink”. This
is because posts here have a “search Google for the post title” link,
which is itself a small icon; it looks a bit daft to have a small
representative icon (the magnifying glass) followed up by another small
icon! So this suppresses the “external link” indicator for that particular link (which is defined as class “googlelink” in the MT templates).

Note that flashy people could have defined the third and fifth rules
as one rule, because you can add multiple selectors on a rule; this
should work:


div.blogbody a[href^="http://www.kryogenix.org"], div.blogbody a[href^="http:"].googlelink {
    etc etc etc
}

but I wanted to take my time over this, because CSS3 selectors aren’t
all that widely supported.

What about those rules that we ignored, the second, fourth, and
sixth? Well, they apply to the absolute external links in exactly the
same way as rules 1, 3, and 5, but they add the pseudo-class
:hover. So when you mouseover one of our external
links, these new styles apply. All this does is switch in a new version
of the background image (in this case, an animated spinning version of the world image).

The images come from Matterform’s excellent QBullets
collection.

So, there you have it. Fortunately, Internet Explorer, which doesn’t
support CSS3 selectors, doesn’t partially apply them or anything; our
selectors above just don’t match anything and hence the view in IE is
unchanged (you just don’t get the neat icons).

For those of you who are Mozillaless and remain unclear on what this
should all look like, here’s a screenshot. See how the “Show, Don’t
Sell” link, which is external, has the icon, whereas the “more detailed
writeup” link, which is a link to somewhere else on kryogenix.org, does
not.

How the external link<br />
icons look in Mozilla

Six Steps To Computing Obscurity


Six Steps To Computing Power (via Rebecca Blood).

9 inch monitor! Woo! Where are Kaypro now, eh? The Kaypro II was a clone of the Osbourne 1, apparently. I had an Osbourne. Blimey. It’s all just a little bit of history repeating.

—–

Douglas Adams is king


How to Stop Worrying and Learn to Love the Internet, an article by Douglas Adams. See? DNA gets it. The world lost a powerful intellect when he died.

—–

IE skin for Mozilla


The Mozilla IE Skin (via Sam Buchanan) is sick and wrong. I am really seriously tempted to bang it on a few machines at work and see if anyone notices. :)

—–

W3C evangelism


The W3C have started evangelising web standards (via Adrian Holovaty). It’s another list of common objections to moving to standards-compliant design and answers thereof. While this is no new technique (god knows, Zeldman’s been doing it for ages, and the WaSP has a whole FAQ on the problem), it’s nice to see the W3C taking an active part in this.

—–

The True Meaning of Programming Book Titles


Programming Book Titles. Warning: real tech humour lieth ahead.

—–

How the Wayback Machine Works


How the Wayback Machine Works. Fascinating. These large-scale massive-data-store databsaes running on big collections of little PCs running Linux or BSd and tied together by scripting languages such as Python or Perl seem to be becoming the way to solve this sort of problem. Bet the big databse vendors aren’t too happy about it.

—–

Beter weekend


I just have to say here that whoever you are, whatever you do, I had a better weekend than you did. I wish it wasn’t over.

—–

Guide to the Pub


SIRC – Passport to the Pub, a guide to what a pub is and how to behave in one. I can’t decide whether this is an extremely elaborate and straight-faced windup or a genuinely useful travel guide. But then I know what a pub is. Comments from Americans and other forms of non-pub-understanding life appreciated.

Contains this fantastic anecdote:

A village publican running a particularly pleasant pub called The Red Lion was told by an American tourist that his pub was �much nicer than the other pubs I have visited in the �Red Lion� chain�.

Sheer class.

—–

Downtime


Sorry about the downtime. It was all my fault. Oops :-)

For those of you who like to laugh at others’ misfortune, there’s a more detailed writeup of what it was that went wrong. Warning: it is heavy on technical detail. It also exhibits just what a moron I am sometimes, so if you cringe at Fawlty Towers or are bored by technical detail, you might want to avoid it. :)

—–

Show, don’t sell


Zeldman has an excellent little writeup on how to sell web standards to your peers or boss or clients: Show, Don’t Sell.

—–

Dot unspread


IMS/ISC out of the ICANN Running (from Aaron). Damn. I spread the dot and offered my support, but apparently my word doesn’t count for anything: ICANN noted disparagingly that endorsements for the IMS/ISC were “disproportionately of owners of personal and family websites, bloggers and small-scale technical consultants”. What, for the .org domain? Shock. As opposed to the huge corporate behemoths who clearly need nothing to do with .org. Do we never win?

—–

nomo comments


I’ve temporarily disabled the Mozilla pull-comments-into-the-page trick, because it isn’t working quite right, and I’m not sure that it’s the best way anyway. But I am sure that the best way is not the hideous hack that is MT templates for this, with all the <MTCommentPreview> tags and all that rubbish. And having to specify static so it knows whether to rebuild your index page. Bah. I’m still convinced that building static pages is not the way to go.

—–

Office paintball


Crystal Decisions v9 office paintball
Best score so far in our office: 657.

—–

Fax your MP


I’ve just sent a fax to my MP (via the amazing FaxYourMP) to protest the European Union Copyright Directive, the EU’s pernicious equivalent to the American DMCA. You can read the fax, and perhaps you should think about sending one of your own.

—–

Mice and music


BBC News has a story about a ‘cruel’ mouse music study (via Bill), where mice were given amphetamines and then played music by The Prodigy, and they died. However, those exposed to Bach also died, so it’s not just the music. I know I shouldn’t laugh at this sort of thing, but I just can’t help it.

The best bit was that those injected with salt water rather than drugs fell asleep, whcih just goes to show how good The Prodigy is. Well, apart from Firestarter, which everyone likes :)

—–

The (Rational) Street Performer protocol


The Rational Street Performer Protocol a revision of Bruce Schneier’s original Street Performer protocol designed to make it more beneficial to pay than to freeload and wait for everyone else to pay. It’d be interesting to see a large scale test of this sort of thing; the only co-operative payment scheme I know of was when Stephen King sold The Plant, and it didn’t run quite along Street Performer lines (which might explain why it didn’t work very well).

—–

Big Brother watches


Office of Surveillance Commissioners

“This website is primarily designed to be used by those who authorise and conduct covert surveillance operations and covert human intelligence sources”

The most worrying thing is this:

Separated at birth:

Sir Andrew Leggatt
Chief Surveillance Commissioner

Devon from Knight Rider

One and the same? You be the judge. What could this mean? Is the Knight Foundation really controlling the British public? Are we to see Security Service agents travelling around in an implausibly massive black lorry? Worrying.

—–

CSS only rollovers


Style Sheets vs. JavaScript covers
CSS image rollovers — change the background colour of a link containing an image on :hover, and make select parts of your image background transparent, and you can get interesting outline effects and so on. I suspect that if you were really flash you could actually have a totally different image, but you’d have to be pretty outstandingly flash — dither the images so that pixels 1,3,5,… are from image 1 and 2,4,6,…are from image 2, and make them transparent. Or something. Besides, the guy’s called Stuart, which automatically (a) earns him one coolness point, and (b) means there’s more than one of us and we might catch up with all the flamin’ Erics that there are in the tech world in general and in the CSS/HTML world in particular.

—–

Broken searches


If you search the Atlantic online for “Schneier”, it finds numerous hits. But those hits aren’t there! You get an unhelpful message suggesting that you try the search engine. This is the most broken thing ever. People: your search engine must only return valid hits! Sigh.
UPDATE (19-08-2002): the search engine appears to work again. Moreover, the Homeland Insecurity article (which is the one I was looking for) is excellent. Must have just been a weirdo glitch rather than a systematic problem. Good show, Atlantic Online.

—–

Apostrophe Protection Society


Apostrophe Protection Society
I’m amazed I haven’t written a rant about apostrophe misuse before. Still, I shall remember this link so that I can point people at it.

—–

Wikipedia


Wikipedia, an attempt to produce a complete encyclopaedia, licenced under the GNU FDL. Wow. Even if the pedant in me thinks that it should be “wikipaedia”. Or, more properly still, “wikipædia”, using the &aelig; ligature.

—–

Keep viewing rights to England games


BBC SPORT | Football | FA seeks England TV deal
The FA are attempting to get back control of viewing rights for England away games.

Currently, the host country makes all the decisions, which could lead to repeats of such situations as the crucial England-Finland qualifier in 1990 being broadcast only on defunct pay-per-view channel u-Direct.

It’s not often that I find myself agreeing with the FA, especially when it’s something that concerns TV rights or moneymaking, but it’s heartening to see Paul Barber, the FA director of marketing, say “it is our brand they are selling, and our fans who miss out. ” I can even excuse him thinking of the team as a “brand”, as long as his focus is still on the fans and not on the money. Good work, FA!

The true value of the net


The media titans still don’t get it (via random($foo)), an essay by Scott Rosenberg on the true value of the net.

In this context, statements like “Web content is dead” or “AOL Time Warner will dominate” aren’t so much wrong as irrelevant. Web content is everywhere. No one can dominate the Internet. And the Web belongs to its users. That’s not the end of a story, it’s the beginning.

—–

Linky goodness


Random cool things:
pymoz, a Mozilla powered web browser written in Python. Blimey. I wonder if it works?
TortoiseCVS lets you work with files under CVS version control directly from Windows Explorer. It’s freely available under the GPL.
The MIT blackjack team conquer the casinos (via random($foo))

—–

FLOSS


The ree/Libre and Open Source Software Survey asked a variety of questions of 2784 free software/open source developers, and collated the results.

Creating a brick


Addition to the writings section: Creating a brick. Comments from physicists gratefully accepted.

—–

Wil Wheaton vs. Barney Celebrity Boxing


A benefit event for the Electronic Frontier Foundation, featuring Wil Wheaton vs. Barney celebrity boxing.

I wish I lived in San Francisco. Not often. But for the 22nd of August 2002.

—–

MEETUP


MEETUP looks interesting. Choose a city near you and see what little groups there are planning on meeting up to chat. Fascinating. I may have to attend one or two of these.

—–

Avoiding personal conflict on mailing lists


Avoiding personal conflict on mailing lists, a brief article explaining the stuff that everyone already knows but too many people just ignore.

—–

CSS design


AllTheWeb, the search engine, are running a css design contest (via css-discuss). Here’s a chance for CSS to shine — go for it and wow the judges. $750 of Amazon vouchers on offer for the winner, which is a pretty smart prize.

—–

CSS Challenge


The CSS Challenge maintains that “tables are OK”.

Yep. Certainly are.And for tabularly laid out data like this, I’d probably still use them, I think. CSS didn’t mean deprecating the TABLE element, it meant using it appropriately, without unsemantic stuff.

(I reckon there’s a reasonably easy solution with vertical-align and making INPUT elements float: left, mind).

—–

MT 2.2


Jonathon Delacour talks about MT 2.2, as did Mark Pilgrim, and our famous friend Lots O’People has been ranting about its meaty goodness for many a week now. I keep wanting to go for it, but I keep wanting to not have to do any work. I am exceptionally unkeen on moving the archives to MySQL; I really cannot see the point of using a separate database process for this. Don’t like it. As jwz once said:

Once those database worms eat into your brain, it’s hard to ever get anything practical done again. To a database person, every nail looks like a thumb. Or something like that.

—–

GPL licensing quiz


Free Software licensing quiz from the Gnu project (via Debian Weekly News). Check your knowledge of the GPL — I got 5/9…

—–

Linkbacks


There should be some way of identifying from a blog post what its permalink is. This comes up in referrer log analysis; most links from a weblog are not from the archived version of the post, but from the front page of the weblog, and there’s no way that an automatic process can deduce from that where to link back to (since if you just link to the front page, the post will disappear from there in pretty short order). Something like RSS auto-discovery, but for individual posts. I can’t think of a good way of doing this, without suggesting something like all permalink links having a class of “permalink”.

Moreover, an automatic process would have difficulty in the following situation:

<div class=”post”>
blah blah blah post 1 blah blah <a href=”somewhereelse” title=”Link to someone else’s weblog”> blah blah blah
</div>
<a href=”archives/post1″ title=”Permalink for post 1″ class=”permalink”>

<div class=”post”>
blah blah blah post 2 blah blah <a href=”somewhere” title=”Link to a second person’s weblog”> blah blah blah
</div>
<a href=”archives/post2″ title=”Permalink for post 2″ class=”permalink”>

If you’re an automated process watching referers for the second person’s weblog, and someone follows the link in the code above, you could grab the source of that page, but there’s no way (as far as I can see), even after you search the source of the page and find the link to your own blog, to know whether the permalink associated with it is the one above it or the one below.

Suggestions welcomed. This is why I haven’t implemented linkbacks yet…

—–

The US and Europe


Different worlds (via my best friend)

“Behind a smokescreen of trade and currency issues, alignments are shifting. Perhaps we should wake up to the fact before someone discovers that Orwell never wrote 1984. He meant 2004 and the clock is ticking.”

Walter Ellis, in the Scotsman, discusses the changing political climate, the US administrations increasing perception of Europe as marginalised, and the truth or falsity of such an assumption.

When even such historically close allies as Britain and the US find themselves, not in open-faced opposition, but a state of avoiding speaking about the problems that each sees within their relationship, if can’t be a good thing for either party or the relationship. Clearly there are overtures by each side to talk about their differences, but they’re hobbled by all of reactionary or angry elements on each side, placating the people at home, and by the open and visible nature of diplomatic discourse — unable to discuss some problems in the fear that others might hear, they in the end avoid discussion. I hope it doesn’t all end in tears. America needs to be perhaps less angry, and Britain less conciliatory, to return to the unique “special relationship” unlike that which any other countries have managed, before or since.

—–

Rolling over


“J K ROWLING, in Czech translation, has the appropriate feminine suffix added to her name: thus Harry Potter titles spotted in Prague bookshops are, rather strikingly, by J K Rowlingova”. (via Dave Langford’s Ansible SF newsletter).

Gotta laugh at that :-)

Unicode


Useful Unicode resources, if you want to test your browser or work out how to display non-English characters:
http://www.unicode.org/iuc/iuc10/x-utf8.html

http://www.alanwood.net/unicode/

—–

Movable Type User Survey


The Movable Type User Survey, for people using MT.

—–

Plush Cthulhu


Tales of the Plush Cthulhu (via Lots O’People). Ia! Ia!

—–

Choose your politics


According to the World’s Smallest Political Quiz, I’m a libertarian.

—–

Metacrap


Metacrap: Putting the torch to seven straw-men of the meta-utopia is an essay by Cory Doctorow which clearly articulates the problems that I saw (but was having difficulty explaining) in my essay on the semantic web.

—–

ASCII page design


Aquarionics now has the design done completely in ASCII — logos and everything. It’s mental, although it doesn’t work quite properly in Mozilla 1.0. Regardless, I have to say: Aquarion, you’re a lunatic. :)

—–

Dork Tower


Dork Tower, a comic strip for people who’ve roleplayed in the past. Pretty funny if you like that sort of thing.

—–

A guide to standards


Web Standards for Hard Times (via Sarabian) is a very neat and simple guide to what web standards are and how you should be applying them. Well done, WebMonkey.

—–

Eric Meyer on CSS


Eric Meyer on CSS is a pretty darn cool book. I found that I already knew a reasonable proportion of it, but there were a few very neat tricks in there (one of which Aquarion has put into use already). Full review when I get a sufficiently round tuit.

—–

No more harmful gotos


Edsger W. Dijkstra has passed away.

GOTO is still considered harmful. Requiescat in pace.

—–