May 2009

Building Redcar 0.3 under Arch Linux

tung's picture

According to its website, Redcar is "a programmer's editor for Gnome, written in Ruby and Vala. Redcar is designed to be compatible with Textmate bundles, including syntax highlighting, commands and snippets, and most keybindings are the same."

There are build instructions on GitHub, but they're skewed heavily towards the Debian-based Ubuntu distro. I use Arch, so here's what I did.

Read more »

Growing a Language, by Guy Steele

tung's picture

Guy Steele gives an excellent presentation on the importance of designing languages that grow. It's dated 1998, but it's still relevant today.

50 minute talk on video.google.com

Hacker News discussion

The Git parable

tung's picture

Essential reading for any Git user:

The Git Parable

If you read my article, Git for the lazy, you at know the simple commands. The Git Parable comes from the other end: what the pieces in Git are, and why they are the way they are.

Introducing SomeScript

tung's picture

EDIT: SomeScript development has halted. Heh, didn't even last the week.

SomeScript is a simple JavaScript whitelist add-on for Firefox. You can read all about it on the GitHub site, or install the very very very early version from the downloads page.

SomeScript is just YesScript backwards: instead of allowing JavaScript and blocking it on selected sites, it denies JavaScript by default and only allows it on selected sites.

The question on everyone's lips: why?

Read more »

Fixing window-picker-applet

tung's picture

As you're all too aware of, I own a netbook, and I run Arch Linux, so I'm always trying to optimise my experience by tweaking things here and there. One thing that caught my eye was the Ubuntu Netbook Remix interface, which has 6 major parts:

  1. Desktop switcher - switches between netbook/desktop modes.
  2. Go Home applet - displays the desktop window, which is the launcher window under UNR.
  3. Human Netbook Theme - Ubuntu's infamous dirt-brown colour branding.
  4. Maximus - Maximises and optionally removes decorations from windows. Remembers settings.
  5. Ubuntu Netbook Remix Launcher - The main interface, displayed instead of the normal desktop.
  6. Window Picker Applet - An alternate window switcher that shows the full title of a maximised window, and the other windows as icons.

Being a power user, I wanted #4 and #6. I don't use Maximus, but I found I could get its effects from hacking my Metacity theme. Exactly how I'll leave for another time.

Instead, I did some work on Window Picker Applet. Here are the results, at the middle-top of the screen.

My tweaked version of Window Picker Applet in action.

If you're using Window Picker Applet now, you'll notice something is amiss: how can my notes be active, and yet my VIM terminal in the back still shows in the title bar? Try it now: open and maximise a window, and then open a smaller window in front of it.

The problem here is that Window Picker Applet 0.4.21 (I haven't tested later ones yet) assume that the front/active window is the only one that matters. Since I don't use Window Picker Applet with any of the other netbook remix stuff, this made working with multiple windows a bit irritating, as if people like me hadn't been accounted for.

I've written a fix for this.

Read more »

task-title.c replacement for window-picker-applet 0.4.21

tung's picture
/*
 * Copyright (C) 2008 Canonical Ltd
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as 
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.
Read more »

NoScript? No way.

tung's picture

I hate to break the nice bout of silence here, but I can't stay silent on this. From the Adblock Plus blog:

For years, NoScript has been using a trick to prevent Adblock Plus from working on its domains.

[...] at some point I suggested that EasyList should be extended by a filter to block ads specifically on NoScript’s domains.

What followed was a small war — the website would add various tricks to prevent Adblock Plus with EasyList from blocking ads, EasyList kept adjusting filters. Then, a week ago a new NoScript version was released. A few days later I noticed first bug reports — apparently, Adblock Plus "glitches" were observed with this NoScript version, especially around NoScript's domains (but not only those). When I investigated this issue I couldn’t believe my eyes. NoScript was extended by a piece of obfuscated (!) code to specifically target Adblock Plus and disable parts of its functionality. The issues caused by this manipulation were declared as "compatibility issues" in the NoScript forum, even now I still didn't see any official admission of crippling Adblock Plus. Clearly, NoScript is moving from the gray area of adware into dark black area of scareware, making money at user's expense at any cost.

Read more »