Org-mode syntax highlighting for GtkSourceView

If you’re an old-school Emacs user, and you are into GTD organizers, outliners, or would like a less messy way of generating LaTeX documents (from papers to presentations), you’re probably already familiar with Org-mode.

Org-mode is really quite tightly integrated with Emacs — so under normal circumstances there’s no reason to support it elsewhere. But at work we’ve recently had to collaboratively edit Org documents, and alas, Emacs’ Rudel no longer work reliably on newer Linux releases. We’re forced to use Gobby, which is a fine collaborative editor but is simply not Emacs. What is one to do?

I’ve thus started a GitHub project to create a language definition file for GtkSourceView (and, by extension, any editors on the GNOME desktop, including gedit and Gobby. Do check it out here — I’m adding support for language elements as I need them, and my schedule is rather busy these days, but feel free to file requests and/or enhancement patches (but if you do the latter, please include a statement licensing your contribution under the same MIT license you can see in the header of org.lang

Advertisements

On (not) reinventing the wheel

I used to dual-boot Moblin and Fedora on my old netbook — but when I had it replaced due to battery and SSD failures, I stopped doing it on the new netbook, instead exclusively booting Fedora, and relegating MeeGo to a USB stick with persistent overlay. Thankfully, MeeGo’s image creation tool (mic2) is derived from Fedora’s livecd-tools, so I can simply use the latter to burn the MeeGo image to USB with overlay, without messing with the image by hand.

(as an aside, the only way to flash an image to a partition, instead of wiping the entire disk, is using Fedora’s tool, and by extension MeeGo’s — but with the latter, only if one used the Fedora-derived command-line tool, mic-livecd-iso-to-disk instead of the recommended ones)

There are several reasons for this, in no particular order:

Storage

Moblin supports ext3 but not ext4; MeeGo adds btrfs to this mix but there’s still no ext4 support. I buy the rationale that ext4 is the SVN of file systems, and that we’ll eventually all migrate to btrfs anyway. But on the other hand, btrfs is not quite there yet — I switched back to ext4 after the SSD failure, when I realized that btrfsck does not yet handle bad sectors properly, unlike e2fsck. With other Linux distributions increasingly switching to ext4 — which can be easily migrated to btrfs later on — the trade-off (slight disk usage increase vs easy access to other Linux partitions) is surely in favour of supporting ext4.

Moblin/MeeGo also does not support LVM, which is used by default by Fedora’s installer, but this is a minor issue — someone deciding to use MeeGo and Fedora can just partition the disk without using LVM.

connman vs NetworkManager

I used to be agnostic as to how my network connections are configured — as long as it just works. This is why my new netbook is a Sony — because unlike other vendors (shame on you, especially, Dell) it does not use a Broadcom WLAN chip with a proprietary, badly-documented, buggy Linux driver (shame on you, Canonical, for helping develop it if only had Canonical put its considerable weight to getting specs and firmware released). Instead, it has a nice Atheros chip.

The same is true when it comes to the software stack. At the beginning I did not pay much attention to the connman vs NetworkManager controversy — prior to version 0.7, NetworkManager had its warts, and connman happened to work just fine on the home wireless networks I tried. This changed when I try connecting to a work network that uses 802.1X security. The MeeGo GUI does not support this, and the developers don’t consider this important at all. The command-line tool is badly documented — documentation is non-existent — and throw cryptic error messages. Makes one wish Java-style checked exception is more widely used; that way, at least developers have to *think* about the exception propagation, instead of just exposing them by neglect to the users.

GNOME 3.0, Fedora MeeGo stack

Fedora 13 already comes with a preview of GNOME 3.0’s shell, and work is in progress on having  MeeGo available. There are some annoying integration issues — the network-manager-netbook applet that integrates the Moblin/MeeGo desktop with NetworkManager is not as well supported as the default connman-based applet, and MeeGo’s window manager has some incompatible modifications that has not been merged back upstream. But, like NetworkManager’s Dan Williams, I believe that the way to improve the Linux desktop is to improve the existing tools that work across all sorts of devices, rather than reinventing them to solely target mobile devices, and in the process having to solve the same technical issues over and over again.

One patch a day…

… keeps the bugs away. And what’s this patch, you might ask? Why, it fixes Liferea’s font selection (Liferea’s a feed reader for the GNOME desktop). Previously it would use the application font setting for its HTML viewer, with this patch it uses the document font setting instead, bringing it in line with other applications.

No more squinting when looking at small text, or finding your desktop space taken up by extra-large application menus!

Nokia 770

My Nokia 770, pre-ordered on Nov 14th, finally arrived this Thursday, shipping after exactly one month (to FedEx’s credit, the 3-day shipping ended up taking 1 day). I had an exam in the morning and a paper due later that day, so it wasn’t until Friday that I laid my hand on it.

First impression? It’s smaller than expected – about the same dimension as a PDA, rotated 90° and stretched slightly along the width. And the screen is crystal-sharp!

On the downside, application load times are on the sluggish side, and the OOM killer kicks in a bit too often, wspecially when browsing Flash-heavy sites.

Some third-party applications are on the unstable side – the WebCore-based mini browser crashes whenever one types into a password field; the ScummVM game Beneath a Steel Sky does not display an icon in the task bar, making it impossible to kill without first installing X Terminal. Hail killall!

Need to set up my Linux box for Maemo development over the break, so I could start porting Quarry. Chess is great, but sometimes one feels like Go or Reversi…

This post typed on a 770