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.
Posted by jens at 02:47 PM | Comments (8) | TrackBack

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.

Posted by jens at 04:04 PM | Comments (6) | TrackBack

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...

Posted by jens at 09:24 PM | Comments (5) | TrackBack

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.

Posted by jens at 05:39 PM | Comments (5) | TrackBack

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.
Posted by jens at 04:55 PM | Comments (6) | TrackBack

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).
Posted by jens at 10:32 PM | Comments (9) | TrackBack

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]
Posted by jens at 10:22 PM | Comments (6) | TrackBack

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.
Posted by jens at 04:19 PM | Comments (7) | TrackBack

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.
Posted by jens at 01:35 PM | Comments (7) | TrackBack

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.
Posted by jens at 11:10 AM | Comments (5) | TrackBack

September 19, 2003

Syncato Source available

Kimbro Staken released the Syncato source code. Go download it.
Posted by jens at 12:43 PM | Comments (6) | TrackBack

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.
Posted by jens at 08:23 PM | Comments (5) | TrackBack

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.
Posted by jens at 07:24 PM | Comments (51) | TrackBack

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:
  1. 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.
  2. 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.
Posted by jens at 05:37 PM | Comments (3) | TrackBack

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.
Posted by jens at 12:50 PM | Comments (4) | TrackBack

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.
Posted by jens at 01:24 AM | Comments (4) | TrackBack

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.
Posted by jens at 12:51 AM | Comments (3) | TrackBack

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.
Posted by jens at 09:36 PM | Comments (3) | TrackBack

Ugh.

[patbingsu:~] jens% host verisign-will-now-resolve-everything.com
verisign-will-now-resolve-everything.com A 64.94.110.11
Posted by jens at 10:51 AM | Comments (6) | TrackBack

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.
Posted by jens at 04:48 PM | Comments (3) | TrackBack

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.
Posted by jens at 01:27 PM | Comments (7) | TrackBack

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.
Posted by jens at 01:14 PM | Comments (6) | TrackBack

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.
Posted by jens at 04:21 PM | Comments (4) | TrackBack

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.
Posted by jens at 03:47 PM | Comments (5) | TrackBack

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]
Posted by jens at 01:03 PM | Comments (5) | TrackBack

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]
Posted by jens at 06:28 PM | Comments (4) | TrackBack

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.]
Posted by jens at 02:26 PM | Comments (4) | TrackBack

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.
Posted by jens at 09:51 PM | Comments (2) | TrackBack

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.
Posted by jens at 06:00 PM | Comments (2) | TrackBack

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.
Posted by jens at 03:17 PM | Comments (4) | TrackBack

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...

Posted by jens at 12:10 AM | Comments (2) | TrackBack

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.
Posted by jens at 04:19 PM | Comments (2) | TrackBack

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. :)

Posted by jens at 02:13 PM | Comments (2) | TrackBack

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?
Posted by jens at 07:24 PM | Comments (4) | TrackBack

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.
Posted by jens at 01:01 PM | Comments (4) | TrackBack

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.
Posted by jens at 10:01 AM | Comments (2) | TrackBack

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.
Posted by jens at 09:03 PM | Comments (7) | TrackBack

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.
Posted by jens at 06:36 PM | Comments (9) | TrackBack

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".
Posted by jens at 05:22 PM | Comments (8) | TrackBack