Recent blog entries for noda

I guess I don't really have a favourite quote, but this paragraph is now certainly at the top of my list:

... "coincidence" was a stupid, shallow refuge sought by stupid, shallow people who were unable to accept the fact that their lives were shaped by a terrifying and awesome design--more powerful and unstoppable than The Flying Yankee.

--John Irving, A Prayer for Owen Meany

Caught up entirely (and even got a little ahead) in four of my six courses this weekend. And I'm already on track in the other two. Nice to be on top of things. I guess that'll last... what, a week?

Seems my little source code viewer is Google's second match for "dir.php". Somebody emailed me with a slew of bug reports, which I fixed. I like my little source code viewer -- it's simple and Just Works.

He's using it to illegally distribute MP3's. Maybe this is what Bram Cohen feels like.

Wow, it looks like I'm on the Top 250 Bug Closers list. I still find it awesome to see my name in GNOME-related credits.

Of course, crispin, chpe and marco -- the three biggest voices on #epiphany -- are all among the top 15. xan and spark kicked my ass, too. But I'm not complainin' :).

Spent about 8 hours on one bug... but the end result is that Epiphany supports Python extensions. Including the Python Console extension.

It rocks so much it's hard to put into words.

When people's cell phones ring, I usually am not phased too much, since mine could do the same at any time.

However, today my phone rang just one time too many. After hanging up, I decided it was the last time. My phone, which by then had achieved an uptime longer than my web server's (which has 114 days), is now off. And it's going to stay that way for a while.

It's simple, really: I dread the phone. Every time I get a call I just look at the call display and shudder. Why bother? I'm going to enjoy a nice, peaceful birthday and then I'll just pick up all the encouraging messages from my voice mail in a day or two.

Whew, right on the heels of Epiphany 1.5.1 (with Christian and my new Extensions Manager Extension -- lets you load/unload extensions on the fly!) comes Evolution's Plugin Manager Plugin. Coincidence? Maybe. But I'm tempted to strive for some UI consistency among them.

First of all, the naming scheme is different. We use "extension" because "plugin" is already used for Flash & co., and because Mozilla uses "extension" (for the same reason, no doubt). I guess that makes us screwed from Step 1.

After that, I noticed in Evolution that the name, id and path are displayed alongside the extension. We on #epiphany figured that was unnecessary detail.

Lastly, the plugin information is displayed on the same window as the treeview. I coded the extensions manager to show plugin information on double-click. I don't know which is better, but we should certainly put information on the bottom of the treeview instead of the side.

And in case anybody actually reads my blog: you must realize that Epiphany is now great. The extensions manager work has been truly fantastic and we have some great extensions to complement it (sidebar, error viewer, mouse gestures, ...).

Not only that, but all our extensions can be loaded or unloaded at any time. We enforce this by simply not allowing extensions to work any other way ;). This presents problems with some aspects of Mozilla: the sidebar extension has had some problems, and my adblock extension simply will not load or unload properly while Epiphany is running. In my opinion it's better to fix these problems where they exist instead of working around them with a "deferred load/unload" solution.

Evolution 1.6 will be great. I really hope it'll become default browser on Ubuntu or Fedora Core 3: while it doesn't have the same publicity as Firefox, it really does cater to these distributions' target users better than Firefox does.

I wrote a Quit extension for Epiphany. Took me all of maybe 45 minutes.

I'm planning on updating the "Writing Epiphany Extensions" guide. There have been a few nice changes in the Epiphany source code which should be reflected in the guide: slots for attach/detach of tabs, XML extension descriptions, and toolbar buttons spring to mind.

Along the same line, I think I'll create a new script similar to my (little-known) copy-template script. It'll create a new standalone Epiphany extension -- just add code! (The copy-template script creates a new subdirectory in epiphany-extensions/extensions -- great for *us* but I imagine a large part of the guide's target demographic doesn't care).

Birthday coming up. How fucking depressing.

Whee. There's now an Adblock extension for Epiphany. Simply takes a list of patterns (* and ? recognized, with g_pattern_match()) in a single text file, and prevents Mozilla from ever downloading the files. Works splendidly.

Possible enhancements: FAM monitoring of the file, to update blocks on-the-fly; a UI to edit blocks (I'm tempted to just make it open the text file); regular expressions support from libegg; UI enhancements ("block ads from [host]..." on right-click)...

However, as useful as Firefox's AdBlock extension is, it's a perfect example of utter bloatware. I don't want to go down that path; so besides FAM, I'm not sure if I want to put anything else in.

But I ought to port it back to Epiphany 1.4, so I can actually use it before another 6 months go by.

23 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!