Nostalgia

By accident, I ended up at the original Netscape
cookie specification
. It’s now over eight years since I read that
one for the first time. Notice the 1996-style formatting of the headers:

<h2>
<font size="+3">P</font>ERSISTENT
<font size="+3">C</font>LIENT
<font size="+3">S</font>TATE<br>
<font size="+3">HTTP C</font>OOKIES
</h2>

Other classic web tech specs: The Common
Gateway Interface
, Hypertext Markup Language – 2.0,
Hypertext
Transfer Protocol — HTTP/1.0
. I’ve referenced those a lot of times,
back in the day.

The US Code in XML

From this
groklaw post
, I learned that Cornell University has transformed the
entire US Code to XML
. Now, I’m not well versed in US Law, but
this is basically all federal laws currently in effect in USA, right?
This is a very cool project. I’ve started to look around, but
seemingly as I only barely can navigate around in swedish law texts,
there’s a lot of exploring to be done. If you want to just read
the laws, this
seems to be a good place to start.

(By the way, could any US law scholar tell me whether the US
constitution is a part of USC, or if it’s a separate collection of
documents? I cannot seem to find them, only references to it.)

As I’ve been working
on a project with similar goals for the
last few months, I’m particularly interested in the XML format
looks. I’ve only started to scratch the surface, but initially it
seems to be somewhat more presentation-oriented (and way more complex)
than the simple structures I use.

Maybe this format could be used anyway, or at least a XSLT
transformation to transfer from Lagen.nu-ML (not yet documented) to uscfrag.

Product review: Pinnacle Showcenter

So, a while ago I came across an interesting little device called
Showcenter,
from Pinnacle. It’s a A/V appliance (same size as a typical standalone
DVD player) that plays various kinds of media (primarily MP3 music and
MPEG 1/2/4 video) from your home media server. It exists in a wireless
version as well, but since I have a small apartement and don’t mind a
bit of cable strewn about, I opted for the wired version.

I’ve now played with the device for a few weeks, and I’m mostly
happy with it. I’ve tried various forms of HTPC boxes running Freevo/MythTV, but never became happy with
them. Maybe because they were based on PC boxes (noisy fans, failing
hardware, complicated remote control setups), but maybe more because
they were so open ended. With a PC and free software you can
practically make the box do anything, as long as you’re willing to put
some time in. There’s always some aspect of the system that can be
improved.

While that’s fun, at the end of the day I spent way more time
tinkering with the system than actually playing media on it. I briefly
thought about building a cheap Mini-ITX box and running something like
KnoppMyth on
it, but the Showcenter is just simpler (and cheaper as
well). Sometimes the lack of extensibility can be a good thing.

Of course, the device has it’s problems. Mainly, the system seems
to be built for people that have maybe 50 albums in MP3 form and maybe
a movie or three to play. The application running on the PC that
serves the content over the network have serious problems handling my
media collection (~15000 MP3 files, and several hundred TV series
episodes). Furthermore, it’s based on the concept that you ”import”
the media into the app, relies on ID3 tags being correct, and limits
video file browsing to a single level of folders (eg. if you have a
folder named ”Scrubs/Season.1” and another named ”Friends/Season.1”,
they will both show up as the genre(!) ”Season.1”. Look, I have all my
content nicely sorted in folders, just let me browse the file
structure, OK?

Interestingly enough, all communication between the PC server and
the device is over HTTP (on a non-standard port), and the entire user
interface is built with HTML. This opens up some very interesting
possibilities:

The interface can be replaced. There exists no less than three open
source replacements: OpenShowCenter,
Oxyl~Box
and Swisscenter, all built
with Apache, PHP and MySQL, and running on both Linux or Windows. I’ve
only tested SwissCenter, but it works great, and lets you navigate
your existing folder structure. It has several other nice features
(album art viewer and incremental search are my favorites), and it can
even update itself over the web. It does have one annoying bug, in
that the video list view only shows the part of the filename up to the
first ”.”, so that if you have two files, eg
”lost.s01e02.hdtv-lol.avi” and ”lost.s01e03.hdtv-lol.avi”, there’s no
way of telling them apart from within the UI. I keep the original
software running as a backup for that, which of course is possible
since they’re web servers. Just run them on different ports.

The other possibility this entails is that the server doesn’t
neccessarily need to be on your own home network. If you have a friend
with another Showcenter and a decent broadband connection, you can
play each others media collections. High-res video might be a problem
unless they have less than 1 mbit/s upstream, but it should work well
for MP3’s at least. I intent to try that out as soon as I convince any
of my friends to go out and get a device of their own. As far as I can
tell, this is legal under Swedish
copyright law
(the ”privatkopiering” exemption).

Drivers education, cont.

So, I’m still trying to get my
driver’s license
. Considering it’s now mid-november, and I’m still
far from good enough to take either of tests (theory and practice), it
appears that my initial goal of having a license by the end of the year
might not be met.

The whole experience has been humbling. I’m used to think of myself
as someone that learns new things quickly, at least to a certain
point, but the skill set needed for good driving is apparently
different from what’s needed to, for example, learn
history
.

Still, even though my progress is slow, it is a fun
challenge. Maybe even more so, since I have to work harder for it.

Check this out: MyTrigger

My friend Erik has not yet
mentioned this on his blog, but I
feel I need to tell the world about his latest project, MyTrigger. Basically, it’s a small app that lives in your system tray and waits for various system events (WLAN changes, USB device insertions, processes starting), and then executes programs or scripts in response.

For example, you can use it to mount/unmount network shares whenever you entter or exit a WLAN, start your webcam software whenever you plug in your USB webcam, or bring up a notification whenever a background process starts.

After having the 1.0 version for a week, he has now brought forth
1.1, which adds triggering on file system changes, such as when a file
changes or a file is removed from a directory. This stuff can be used
as electronic duct tape for a lot of scenarios.