September 30, 2003
Quickly converting old HTML cruft
If you're like the typical HTML writer, you'll have plenty of old (pre-XHTML) pages, unavailable for XSLT style sheets that could possibly turn it into some other useful XML format. In comes
HTML Tidy, an amazing little tool that can convert your legacy HTML documents into nice and useable
XHTML.
This article on IBM developerWorks shows you how to do it.
September 26, 2003
Mooncakes
Go to China! Become a teacher there! Have cute little children present you exotic pastry! And if you're extra nice, write a little story about that, just like
Axel did.
September 25, 2003
Jorge Luis Borges
"Though so different in style, two writers have offered us an image for the next millennium: Joyce and Borges. The first designed with words what the second designed with ideas: the original, the one and only World Wide Web. The Real Thing. The rest will remain simply virtual."
-- Umberto Eco
Richard Osinga pointed to
Argentine writer Jorge L. Borges in
his comment on the Schopenhauer entry. And rightly so: Borges is much too unknown given that he is such
a great influence for other writers like Umberto Eco, Thomas Pynchon or Salman Rushdie. Born in Buenos Aires, Argentina on August 24, 1899 where he also died on June 14, 1986, Borges spent a great part of his life travelling (the fact that he grew up learning English before Spanish might have helped). After his return to Argentina, he got in trouble with the Peronist government, but was reestablished later, becoming the director of Argentina's National Library. At this time, he was almost completely blind, but wouldn't stop publishing poems and stories: "I speak of God's splendid irony in granting me at one time 800,000 books and darkness."
Regarding Eco's quote that Borges was the first who came up with the idea of the World Wide Web, I strongly feel the same. Read Borge's famous story "The Library of Babel" (it's online, of course) and it's almost scary to see how much of what we call the Internet today is present in his story from 1941. Among other aspects such as the Kabbala and mysticism and great story-telling, of course...
September 24, 2003
Urban Chess
Cute idea for a new game over at
Rogue Semiotics:
So, take eight pawns of one colour. Set them out on paving slabs along your route to work, each one eight slabs away from some fixed point worth marking (your home, the bakery, a pillar box). Each time you pass them, you may move them one slab further. If any reach their destinations, you win.
When HTML Tables make sense
"There are two kinds of fools in this world. One that says `This is old, and therefore good.' And one that says, `This is new, and therefore better.'"
John Brunner
The
Web Standard Project's weblog "The Buzz" point out something important in
their latest entry: Tables used for design were maybe the greatest HTML sin of the last century. But just because you can do wonderful designs with DIV-sections and appropiate CSS, tables don't have to be done away with completely. They should just be used for what they were intended: displaying tabular data.
September 23, 2003
Solving yesterday's puzzle
Never before has the sight of 0 comments attached to a posting depressed me more than today :). Well, just in case someone still cares: 天高馬肥 (higher sky, fatter horses) just means "It's the season of autumn". See? That was easy. I leave the interpretation as an exercise to the reader, if there is such a person.... (sigh).
Arthur Schopenhauer's advice for the modern day flame-war combattant
"Die Kunst, Recht zu behalten" (The Art Of Controversy) is a wonderful piece by 19th-century philosopher Schopenhauer. Probably written around 1830, it was never published in its entire form during the author's lifetime. Schopenhauer shows in 38 "Kunstgriffen" or stratagems, how to win every argument, even if you are wrong. Written in a highly ironic tone, it almost seems like an amazingly detailed description of trolls and flame-wars in today's Internet communication. Among the tricks Schopenhauer offers are "Generalize your Opponent's Specific Statements", "Claim Victory Despite Defeat" and, last not least, "Become Personal, Insulting, Rude".
The whole book is available online, in the original German with an English translation next to it side-by-side. I urge you all to read it. Your flame-wars will never be the same again after you read through it. [via
kuro5hin]
September 22, 2003
天高馬肥
Every language has different levels of speech. Teenagers talk and write differently from scholars (especially in Internet chat or when texting with mobiles). In Europe, you scare off people of lesser education by using lots of Latin and Greek words and phrases. In East-Asia, you use classical Chinese four-word-proverbs to show off what great education you received in school. People may not be able to understand you, but that doesn't matter.
These proverbs are always composed with four Chinese characters and can become very cryptic to outsiders (like long-nosed barbarians such as myself). Usually they include obscure references to Confucian legends (孟母三遷 means literally "Mencius' mother, three times moving", but for those who know who
Mencius was and why his mother moved to different places with her family, it just means "parents should provide their children with a good education, even if this means hardship for themselves") or Buddhist teachings (牛耳讀涇 "ear of the ox, reading the Buddhist scriptures to it" means "trying to teach a completely stupid and ignorant person") or are otherwise hard to understand, because we simply use a different metaphorical language. A good example is the title of this post. It means "Higher sky, fatter horses". I was reminded of this idiom when looking at the calendar. Without using Google, can you guess what this could mean? Feel free to use the comment feature of this weblog.
Caffeine-powered sausages
Found at
Ananova:
"Visitors to Germany's famous October Beer Festival will be kept awake this year with the help of a "power sausage" stuffed with caffeine."
Wow. And it has taurine, too. Sounds like the perfect snack for German geeks, along with an ice-cold bottle of
Club Mate, of course.
Stealth Disco
Still thinking
flash mobs are hip? Think again, they're sooooo July 2003. The new hype seems to be the stealth disco. It goes like this: Find an unsuspecting co-worker. Stand behind her or him and start to dance without him noticing you. Have someone else film this and put the film footage on the Internet. Sounds stupid and childish? Well, yes, it is. But that wouldn't stop people from making a web site with the
"Best of Stealth Disco" (you need QuickTime to enjoy it to the max) available, would it?
Joi Ito also
had to participate in this new trend, obviously.
September 19, 2003
Syncato Source available
Kimbro Staken released the
Syncato source code. Go download it.
September 17, 2003
Fun with SMTP
[patbingsu:~] jens% telnet mailserver01.cybernet.be smtp
Trying 213.177.64.33...
Connected to mailserver01.cybernet.be.
Escape character is '^]'.
220-*******************************************************
220-* Welcome to Cybernet *
220-*This smtp is telnet protected don't try any command !*
220-* support@cybernet.be *
220 *******************************************************
help
214-2.0.0 This is Sinclair ZX81 running on 3.5 Microdrive
214-2.0.0 Topics:
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN ETRN DSN AUTH STARTTLS
214-2.0.0 For more info use "HELP ".
214-2.0.0 To report bugs in the implementation send email to
214-2.0.0 bugs@icewarp.com
214 2.0.0 End of Help info
quit
221 2.0.0 mailserver01.cybernet.be closing connection
Connection closed by foreign host.
Making friends in China
Axel wrote in again from Hangzhou.
In this episode we learn everything about youngsters in Chinese Internet cafes and why the reserved nature of Germans isn't quite compatible with the Chinese urge to make instant friends. Or something more than friends, for that matter.
More on Verisign's DNS Hijacking
Yesterday, domain registrar Verisign decided to hold the whole Internet hostage by
manipulating the core of the Domain Name System (DNS). This is a horrible thing for at least two reasons:
- DNS lookups are not possible any more. You cannot verify if a given domain is valid or not. This breaks spam detection tools (although I have my problems with spam detection based on network addresses). Dorkslayers RBL is already down. Worse yet, there's no way to tell if you made a mistake or not, as Verisign deliberately broke the RFC and doesn't return the usual NXDOMAIN record via UDP, but connects you to a real web site. If DNS confuses you, maybe an analogy that works might go like this: Imagine you want to make a phonecall, but you dial the wrong number. The phone company wouldn't play the usual recorded message, but rather connect you to a sales-agent who'd tell you that, yes, the number in question is wrong, but hey, you could register it for a small fee. Oh, of course you would have to pay for the call and the chit-chat with the agent.
- By breaking DNS, Verisign invades your privacy and tries to read your e-mail. How? Well, it's often overlooked, but as a rule whoever messes with DNS, messes with the e-mail infrastructure as well. Verisign run a SMTP daemon on their site, listening on the standard port. This daemon currently rejects all e-mails it receives, but it's a piece of cake for Verisign to change that and store every Internet e-mail with a typo in the address in their database. Although there's no wildcard MX record by Verisign for unregistered domains, most mailers will happily deliver everything to the A record published. It's suspicious and alarming that Verisign felt the need to install a SMTP daemon on their catch-all host at all.
What can be done? Well, to work around Verisign's denial of service attack, both
BIND and
djbdns, two of the most widespread DNS resolvers, published patches. Can Verisign be stopped through ICANN? Doubtful. I agree with what former ICANN director
Andy Müller-Maguhn told me in a brief telephone talk today:
"ICANN will protest. Then they will look into the contracts they have with Verisign, they will find out that the contracts do not mention such a case and finally they will give up."
The situation is both nasty and dramatic and shows once again the monopolistic power Verisign posseses.
Berkeley DB XML / XSLT based Weblog Software
Kimbro
Staken: Syncato is the new Weblog system that runs this
site now. It is written in Python and uses Sleepycat Berkeley DB
XML for its database. The system is heavily based around XPath
manipulation of XML data. All presentation is handled through XSL-T
and I built some extension modules that tie Berkeley DB XML into
libxslt. [via Sam Ruby]
No, source code doesn't seem to be available yet. What a shame, sounds like a perfect solution.
UseModWiki 1.0
Finally. UseModWiki 1.0 is out and available for
download. It may be clumsy, big and slow, but when it comes to hacking new Wiki features, UseMod is a nice starting point. Among my favourite
new features in this version: RSS feeds, some CSS and ISBN lookups with automatic links to Amazon or other online book retailers.
Wordblog
I love Scrabble. It has always been one of my favourite board games and I remember playing the German version over and over again while my Korean wife was learning German (now she beats me at it, mind you). It's also quite a hackish game: Anyone remember "SETEC ASTRONOMY" in Sneakers?
Now there's
Wordblog, one of the most creative blog ideas I've seen in a long time:
"Every day, I'll be updating the site with a new set of 7 tiles. Make the highest scoring words you can and post them in the comments."
Incredible. You have to go there to believe it.
September 16, 2003
At your fingertips
nmap gets
version detection for well-known services. Why? So you can scan for
vulnerable versions of OpenSSH more easily and
exploit them quicker. Isn't the Internet convenient? Of course, a new version of OpenSSH is
available where you'd expect it -- after all we all knew OpenSSH's Theo de Raadt would handle security problems
in a mature and professional way.
Ugh.
[patbingsu:~] jens% host verisign-will-now-resolve-everything.com
verisign-will-now-resolve-everything.com A 64.94.110.11
September 15, 2003
iRate Radio
Music streaming rated on the fly seems to be one of the ideas waiting to take off. There's the classic
last.fm and sourceforge offers the source code of a Java application called
iRate radio:
iRATE radio is a collaborative filtering client/server mp3 player/downloader. The iRATE server has a large database of music. You rate the tracks and it uses your ratings and other peoples to guess what you'll like.
I sense an emerging trend here: Sharing music taste instead of files might be a smart move with copyright laws becoming intolerable strict and meta-data processing (through RDF or whatever) becoming easily doable. Oh, and for an entirely different approach to automatically generated radio, there's the MIT's incredible
eigenradio.
September 14, 2003
scarbmle
Found at
jwz's blog:
"Aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a total mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe."
I know at least two persons who write like this all the time (both of them highly intelligent, but mildly dyslexic) and although it's a little more wearisome to read, it's not really a problem to understand. I don't have numbers or statistics on this but I believe that dyslexia is quite common among hackers. Anyway, jwz hacked
a Perl script called "scrmable" to test the hypothesis. Cehck it out.
September 13, 2003
William Gibson puts his blog on halt
Science-fiction novelist William Gibson
explains what he loves about blogging, but why he will still leave his blog alone in order to concentrate on his new book:
"I’ve found blogging to be a low-impact activity, mildly narcotic and mostly quite convivial, but the thing I’ve most enjoyed about it is how it never fails to underline the fact that if I’m doing this I’m definitely not writing a novel – that is, if I’m still blogging, I’m definitely still on vacation."
What a beautiful way to sum it up. As a matter of fact, I believe that the freedom to leave is an essential part of the blogging experience. This is, after all, not a regular magazine with fixed deadlines. Blogging is about the life of an individual and life tends to change its pace from time to time as priorities shift.
September 12, 2003
OpenBSD: Mallorca Party OS
OpenBSD reenforces their reputation (earned on the
Chaos Communication Camp for partying 4 days without a stop to code) as
the OS for excessive beer drinkers with
their artwork for the upcoming release 3.4.
Wikiserver on an iPaq
Jan Manuel has found a new use for his iPaq with its dead batteries: He's running
a public webserver on it. Running on
Familiar Linux and
tiny httpd, it even sports
a small Wiki he wrote himself.
September 09, 2003
Cocoa Literature
The worst thing about Cocoa programming in Mac OS X is that there are too many API details, too many functions to remember. It's almost impossible to memorize it all, you just have to look it up. The best thing about Cocoa, however, is that you can look it up easily.
Apple's documentation is almost perfect and for in-depth atricles and tutorials, there's the wonderful
"Cocoa literature" collection. [via
ranchero]
September 08, 2003
Inside Google
Stanford University will run their web searching on Google. Due to the openess of the university,
documents on the migration process are available online. This includes
slides by Google Inc. This is an interesting read, as you can probably get further insights about how the
"real" Google works. [via
Weltentummler]
40 GB iPod @ Apple Store
Strange. Just reloaded
Apple's German Webstore and guess what I saw: A new line of iPods, at 10 GB, 20 GB and 40 GB. Reloaded again and the server was down. Apple's American Store doesn't tell us anything about new iPods. [
Update:
It's now there. Together with new iMacs.]
September 07, 2003
Our Man in China
My friend Axel made it to China where he'll spend 1 year at Hangzhou University. Now that he found an Internet cafe over there, he managed to upload tales from his trip to his
weblog. Worth reading.
September 06, 2003
Berkeley DB XML
UNIX's native database, Berkeley DB, now comes
in a variant that can store and retrieve XML documents. The query language? XPath, of course. I always liked Berkeley DB. It's lean, fast, and it comes as a library that can easily be linked to your application. This is a nice piece of news.
Auf deutsch, bitte
blogg.de is a Hamburg-based blog service provider with a blog directory and
a new bloghosting service, currently in beta test. I'll experiment with a second blog over there, this time in German, called "Berichte vom Bildschirmarbeitsplatz". If you want to read stuff that was too special or too Germany-specific for "Notes from my terminal", check out the
"Bildschirmarbeitsplatz". Oh, and I don't have any plans for that blog. It might very well be that I leave it or delete it after two weeks.
Psychalking
Cute thing at jwz's Blog: "Psychalking is a method for paranoids to communicate with each other about dangerous mind control hot spots.".
Such a shame that the original link didn't work when I tried it the first time. Probably taken down by THEM. Even stranger: Now that I tried it again, it works. If that isn't proof enough that they are reading my thoughts...
September 05, 2003
Tracking Tim Pritlove
Tim of the
Lunatic Fringe will
take part in the
skate competition of the Berlin Marathon on September 27. He will do it in truly geeky fashion: "
To have some fun and to let you - my dear readers - participate, I am going to have a Benfon GPS/GSM telephone with me which will be sending out my current position in GPS coordinates to a server that will (hopefully) provide a table with the times, my current speed and a map of where I am. So if you have nothing else to do, you can follow me virtually on the Web."
I will. Definitely.
Why the AI community should stop whining and realize that they've already won
There are things in life that are certain, among them death, taxes and the lamenting of LISP hackers that everything would be so much better if only the world would follow their path to enlightenment. These "But-LISP-already-does-that"-articles almost form a literary sub genre in computer texts with classics such as Richard P. Gabriel's "Good News, Bad News, How to Win Big" or "Revenge of the Nerds" by Paul Graham.
While it's understandable that our world with its PC architecture and MS Windows operating systems must be a constant source of frustration for those who know that we used to have so much more advanced systems like LISP machines, I think that the survivors from the Golden Age of AI miss an important point: The world already is a better place. Their favourite languages (Prolog and LISP) are in wide use every day. However, most people don't realize that it's really dialects of LISP and Prolog what they use when publishing on the Net or designing web applications. Prolog and LISP managed to sneak into mainstream, thanks to XML. Read on to find out why.
Two of the most exciting technologies in the XML world are XSL, the Extensible Stylesheet Language, and RDF, the Resource Description Framework. If we think of these two as programming languages, they are variants of LISP and Prolog, respectively.
XSL is a simpler and gentler form of a SGML stylesheet language called DSSSL (Document Style Semantics and Specification Language), an extension to the LISP dialect Scheme. Much like SGML, it suffered from the fact that it was simply too complex for average coders. As SGML became popular in its stripped-down, cleaned-up version XML, DSSSL became popular as XSL (the fact that these scary-looking brackets were done away with also helped a lot).
Still, it's easy to see XSL's LISP heritage. XSLT is a functional language, so functional in fact that variables cannot be changed once they are assigned. If you want do get anything complex done in XSLT, you'll eventually come to a point where you realize that, as in LISP, certain tasks are actually easier solved by using recursion. Even XML itself is close enough to LISP notation and a transformation is trivial. It's also probably not a big surprise that many recipes in Sal Mangano's XSLT Cookbook are ported from Common LISP.
RDF, or generally speaking, the whole Semantic Web concept is very hard to grasp. However, the moment when I started "getting it" was when I realized that all the abstraction about RDF triples really boiled down to what is done to describe facts in a Prolog expert system. RDF is really Prolog. This is an obvious thing once you think about it: Describing facts and knowlegde is what meta data is about. I could go on how much of RDF is actually Prolog with angle brackets, but fortunately it has all been written before, by someone who knows more about both RDF and Prolog than me. It's just a logical consequence that SWI-Prolog, the free Prolog implementation, has packages for RDF and the Semantic Web available in its default distribution.
Great ideas don't die, sometimes they just need their time. LISP and Prolog live on, they just look different. I can only speculate on the reasons why they didn't make it in their original form, but maybe it's just because angle brackets look so much sexier. :)
September 04, 2003
IKEA nomenclature demystified
Just as everyone in my generation, I live with lots of IKEA furniture items in my place (partly because they look nice and partly because I can't afford much else). The names of these pieces, however, have always been a mystery to me. Well, it's been resolved.
This article provides deep insights into the naming of IKEA objects. Who would have guessed that IKEA names their kitchen stuff after grammatical terms? Maybe IKEA was inspired by
this RFC on how to name your computer?
September 03, 2003
Raggle: A RSS reader for the console
Finally!
Raggle is a RSS reader, written in
Ruby with a clean and nice-looking curses interface and the ability to import RSS feed lists in
OPML.
September 02, 2003
Wow. Using web services and XSLT to scrape RSS from HTML
Les Orchard of
0xDECAFBAD has written
an amazing piece of software called XslScraper. It's written in Java and uses XSLT and
HTMLTidy to scrape web pages in order to produce RSS. Better yet, the XSLT processor and Tidy are offered as
web services, using the
"URL-as-command-line"-paradigm (making it somewhat similar to
REST). Offering a XSLT processor as a webservice is impressive, maybe the most interesting use of web services I've seen personally since the
Google API. More on XslScraper and links to download the thing can be found in the
0xDECAFBAD Wiki. Among the scraped RSS feeds produced are Japanese trash merchandiser
J-List and
a list of new jobs at the University of Michigan.
September 01, 2003
OSTBLOG again
OSTBLOG write about
East German BASIC programming again. As usual, it's in German only. They also add something about the radio show in the GDR in which they used to broadcast programmes (really, they transmitted beeps so you could record them and play back the code via your homecomputer's cassette drive). Your humble author gets credits for some information he provided on this subject.
Even more thoughts on replacing e-mail with RSS
There are more and more people thinking aloud on how RSS-based mailing lists would work. The links are
here,
here,
here,
and here . You might also want to read
this.
Are SMTP's Days numbered?
Lots of activity seems to go on to replace SMTP.
slashdot has a story about
ATMP, a system that uses TLS and CAs to identify the sender as well as mail policy codes (administrative, personal, commercial, etc). There's an
Internet Draft available as well.
Then there's talk about how RSS will replace e-mail. There are inspiring arguments
for and
against it. Be sure to read through them.
And for followers of
Dan J. Bernstein's lunatic fringe religion, there's always "
Internet Mail 2000".