Archive for June, 2004

SVG and Ink

(in response to Loren of Incremental Blogger. It is asked which Microsoft Tablet PC app should be open sourced…)

Hmm, I think they should add standard, direct SVG export support to Journal and OneNote and Stickies (!)… That would be as effective as open sourcing them in many ways (and easier) of course we know they’ll never do it.

I think I read a quote somewhere in which BillG said something to MS staff to the effect of– adopt XML but not standards or don’t follow other people’s standards, microsoft makes standards. Anyway too vague to do any good. But it makes it difficult to do a lot of the fun things with ink. The whole Journal Viewer app is totally and utterly redundant. SVG is a standard, use it!!

OTOH, this open source Journal, Gournal is very nice having had the opportunity to try it recently. Written in GTK2-perl it is crossplatform too so it is theoretically possible to bring it to windows if one can get the libraries installed. I’m idly considering trying that. OneNote-esque Collaboration, fast, clean, and with SVG output.

It really shows that a thick Ink SDK isn’t totally necessary to do something like standard notetaking well, SVG canvasses will do very well. And these are evidently being worked on fairly fervently by several active projects.

I’d imagine this would be a solid base for an Open ink-to-text engine too. It does neat things that show that each stroke is just independant as Ink–highlight when delete cursor is over them, clear them stroke by stroke, etc. Yet another reason to learn perl–hack on this a little maybe.

There is an open source app which does some character recognition–Freehand Formula Entry System–it was recently updated and I linked it on my Linkblog. Now there is a version for Windows but I tried Linux as that’s the port I discovered when I originally found it. There are a lot of component applications (mostly open source too) but I wonder how much of it could be salvaged to recognise words? A dictionary of 40 or so mathematical symbols is a far cry from millions in the english lexicon, structure wise. And in my testing the recognition got stuck a lot. Donnog

Victory: Topologilinux/Debian Hybrid on the M200

I just finished installing Debian GNU/Linux (as much as one can finish installing Linux) on my Toshiba M200 Tablet (thanks to these linux links for smoothing the stumbling toward the end). More or less everything is functioning as it should. The install was special because I started with Topologilinux’s installer, a slackware based distro which features support for NTFS loopback image install. In other words I didn’t have to repartition or even change from NTFS on the tablet. I’d had enough low-level futzing with all the buggy custom XP Tablet PC edition CD and SP2 installer debacles I’ve run though.

A portion of the Topologilinux installer runs in windows and generates the blank voids (aka swap-like files) for Linux to use safely. One for the base and one for the swap. It also sets up a new version of the Grub bootloader, w32grub, which runs cleanly and kindly underneith the windows default NTDLR. The installer, in the wonderful tradition of windows installer is as simple as few textboxes and next-next-next. So I potentially have a Linux install that I can scoot around or easily backup should I run out of disk space on the small 40gb drive. Or delete/restore with a simple edit of the boot.ini.

Anyway, back to how I installed. I edited the C:/boot/menu.lst grub menu file to have another entry which used the topologilinux kernel with the debian initial root directory (initrd) called root.bin,which you might extract from the debian bootcd’s rescue.bin boot floppy image, with an app like WinImage (I mounted it under linux while I was trying to get all this figured out). Drop that in the C:/boot directory, edit the file, and reboot picking your new entry. I mounted the NTFS drive rw (so I can make a mess inside the swappish file). I set up the loopback with:

mkdir /mnt/ntfs
mount -t ntfs -o rw /dev/hda1 /mnt/ntfs
losetup /dev/loop0 /mnt/ntfs/tlinux4/base.img
losetup /dev/loop1 /mnt/ntfs/tlinux4/swap.img
mkswap /dev/loop1 (CAREFUL!)
(format /dev/loop0 with the fs of choice)
swapon /dev/loop1
mount /dev/loop0 /target/

Then I simply proceeded with the debian base install with their utility. After that I had to dig in the CD image for Topologilinux to get the kernel-modules package (which since it’s slackware is simply tgz) and wade through it to find the e100 ethernet module. Debian is amazing once you have ethernet. You just `apt-get install` to your heart’s content.

I compiled the 2.6 kernel with debian’s kernel package and ran across another large bump. This took me ages to figure out. Not only do you have to explicitly complile initrd, loopback and ram disk support (in block devices) for all this to work but for Kernel 2.6 you need to add ramdisk_size=10000 to your grub configuration otherwise the kernel panics on boot RAMDISK: incomplete write (-28 != 32768) You also can’t have “devfs mounting on boot” in the kernel for the Topologilinux initrd’s linuxrc script to run properly.

I have an Atheros card in my tablet so I grabbed the cvs of the madwifi drivers from sourceforge (see cvs tab) and compiled them into my 2.6 kernel with the kernel-sources I’d downloaded. (after apt-getting cvs and sharutils)

After getting all the software online with my nice XFCE desktop using the instructions provided at those linux links provided earlier (also, for alsa–add your users to the audio group). I tried out xstroke, gok, xkbd. xstroke is okay, but I don’t particularly want to learn scribbles or any pda scribble techniques. I’m kind of partial to the Windows TIP way. Maybe the Mono team can get the Ink stuff to run in Linux some day. Gok is nice but so many features I couldn’t figure out how to get it totally set up in my time available. xkbd is plain and simple, no preference window so I had to look up fonts manually and flag them in, meh.

Wow, 20 hours of mussing round it all boils to a page of solutions. Linux is such a frelling timesink when you run into the odd corner. Hope this helps someone. At least I’m not running gentoo anymore, this same system would’ve likely taken 10x as long with extra maintenance over there and I’m more familiar with that distro (sadly). It sucked up thousands of hours in 2003 when I managed to go a full year with the dubious Linux Only title until I got this tablet on Dec 31 (coincidentally exactly a year from when I installed it to a few hours). That and people started playing addictive FPS games in the dorms and managed to drag me into them, which required having Windows running and dual-booting like crazy.

Now that I have this crazy setup running I wonder if I could rig it to something even crazier…use coLinux to optionally use my linux INSIDE windows or booted on the hardware. The excitement never ends! I’d also be interested in setting up a mini NETBSD install on the SD card similiar in function to the HP/Compaq tablet’s QuickInfo (err?) feature. I could hibernate windows then reboot and pick the SD card on the BIOS screen. It wouldn’t mount the hard drive and only light the screen. Wonder how much battery this would save, if any…

Ahh! mod_rewrite madness, welcome to WordPress

Wow, that was a huge waste of time. I just spent 3 hours futzing with mod_rewrite trying to get it to forward everything from my old MT blog to this one. I ended up with a compromise–use symlinks for the archives and rewrite for the feeds. *Long drawn sigh* Among other issues mod_rewrite *requires* symlinks on which I disabled after I decided that I didn’t want to do symlinks the first time. Arn’t symlinks in www directories sort of a security threat? I mean, people can do amazing little things with them. For a while I was sharing mp3s with a simple symlink over a samba mount. Simple and effective enough.

On the positive side WordPress is much much cleaner than Movable Type. It also doesn’t feel like the devs are trying to keep me cornered with it’s interface. The PHP instead of perl helps too. I’m much more at home with php. I haven’t used any more modern blogging system than MT 2.6 before, wow this is the shaz. Everything from post passwords, simple multiple categories, atom feeds, (I wonder if it has the atom commenting interface).

On the plugin side I’d love to see wikipedia style commenting. They had a few plugins that explode out the html, the syntax for the ones I checked was overly complicated. I just want brackets & pipes for links, asterixes for li, etc. Everything else HTML will do. Also Spellcheck requires pspell compiled into php which I don’t have and don’t want to break my solid automatically updating debian-stable-backport I have set up by doing a compile so I’ll have to do without that. Makes no sense to me why it’d have such strict requirements.