Older blog entries for noda (starting at number 14)

Even the simplest UI decisions are incredibly difficult to make. Sometimes I wish I had a boss to tell me what to do. Of course, if that were the case I'd end up doing things I didn't want....

Anyway, my popup-blocker Epiphany Extension can open individual popups now, which is cool. It's buggy, which is uncool, and it needs slight restructuring, which takes thought. Thinking is hard :). Anyway, all in all, the coolness prevails.

If I didn't have to do so much schoolwork, I'd have more time to spend coding Epiphany extensions. And it seems to me it would be incredibly easy to bloat my extensions beyond all hope.

I'm considering adding a statusbar (complete with progressbar) to my Error Viewer and putting an icon into every Epiphany window for my popup blocker.... What next? Change the Popup Blocker to handle images and cookies, and give a GUI to remove sites.... These are all cool features, but do they really add value?

So I'm cultivating a lot of respect for those coders who refuse to get carried away. Every day I use GNOME I marvel just a little bit more at how simple it is.

Bugfixing can be a mixed bag. It's terribly annoying when a bug just keeps on biting. But when you finally see the problem, and you know exactly how to solve it, it's like everything is right in the world. And that's a good feeling.

I've gotten rid of all the bugs I found in my Error Viewer (and one I didn't find). It's extremely cool now.

I bought an EPOX 8KHA+ when the motherboard model was new. It lasted until now. Then it decided not to turn on this morning. I feel like smashing it into teeny weeny bits.

Now I have a Gigabyte GA-... okay, I don't know the model number. It ends in "L" and it's got an nForce2 chipset. Works very well, I only need nVidia's proprietery video card drivers. I hate using these things, but I've got to get my UT2003 fix, otherwise I might end up bringing a rocket launcher with me to school some day.

I put an error check into my validator that w3 doesn't do: if XHTML is sent as text/html, the error viewer shows an error message. Now I only have to fix every single site I've written in the past two years....

Who needs the W3C validator?

If your answer is "everybody," you're wrong. It's now "everybody but Epiphany users who've installed OpenSP development headers (and libraries) and a CVS (today or newer) checkout of Epiphany Extensions."

Yes, I've coded what everybody needed but didn't realize: HTML validation built into the web browser. Not only does it display the same output as w3 would, but it validates locally -- which means it's much faster and it works on all pages you can browse to (no problems with cookies, https or localhost; no saving to file and uploading; no privacy concerns). It's like... your very own w3 validator. And it looks pretty.

Temporary problem: it only works on XHTML... or something along those lines. Now I've got to make it work for all the pages w3 does, which shouldn't be hard because the w3 validator is open-source.

"But wait," you say. "I use W3 because I can trust it's correct. How could your extension ever be as accurate as W3?" And there's a simple answer: because it uses the same backend as w3 (OpenSP). As soon as I make its frontend set the same parameters, it will have exactly the same output. For now, UTF-8 XHTML is validated identically. When I'm less lazy, I'll finish the job.

In short, I've coded something very Cool and Original. And that makes me Proud.

I caught a nasty fit of coding recently. It made me write a sweet "Error Viewer" extension for the Epiphany Web Browser. It's very loosely based on Galeon's Javascript Console code, but the cruft and memory leaks are gone and have been replaced by good looks and HIG-ness! (At least, as close as I can manage to HIG-ness....)

The weirdest thing: I don't know if I'll ever actually *use* the extension. I only wrote it to check out Mozilla interaction from within an extension. It works great: the extension even registers a nsIConsoleListener, before Epiphany itself begins any Mozilla interaction.

I only had to submit one tiny patch to Epiphany to let it load .glade files from outside the Epiphany share directory. Oh yeah, this is the first extension to use Glade, too -- any extra dialogs, for that matter.

Eventually, this will be merged into a "Web Development" extension I (or someone else?) will code. It'll have CSS editing, maybe inline HTML editing... tons of great stuff. It might end up evolving into a sort of IDE, with Epiphany's rendering pane becoming split and a bonobo-vim (okay, fine, GtkSourceView) component at the bottom using GnomeVFS to save files if it's a file:/// url.

All in all, the extension is great. I managed to keep code clean (except one stupid hack I'm too lazy to fix) and the extension demonstrates all sorts of things Epiphany extensions can do.

Epiphany is great.

Oh, and thanks to marco for finding the answers to all my questions in under 5 seconds. Marco is a programming God.

Not to mention, thanks to chpe for setting up the Mozilla build framework -- it almost worked, too! :)

... is simply the best GNU/Linux distribution in the world.

I converted one of my software projects over to Subversion (instead of CVS) last week. I haven't had an opportunity to move directories yet, but I already love it.

On a similar note, I adore Debian. "apt-get install subversion" -- how much easier can it get! And everything works great right away. The Subversion manual is big and easy to read. I was converted in a whole 15 minutes, and the "cvs2svn" script that comes with Subversion made sure I didn't lose any of my previous revisions. The whole procedure was more painless than lying in a big pile of feather mattresses.

Go Subversion! I can't wait for a 1.0 release. Here's hoping CVS will be replaced entirely, all across the Internet.

Yesterday I noticed when I rebooted into my newly-compiled kernel 2.6, that my memory count only went up to 384 megs. I was a bit surprised -- I thought I had 512. "Well," I thought, "I guess I should buy a bit more."

Today my system crashed. I rebooted... and it crashed again. I began to read error messages... but there were too many to know where to begin. Next reboot, my memory count was 512 megs... so obviously, my memory was defective. Problem solved, right?

Wrong. On that same boot, grub wouldn't even start! It turns out my /dev/hda1 (/) was quite damaged. So... e2fsck.

Well. I remember something about a root inode being damaged. It wanted me to clear it. There was nothing else left to try, so I went ahead. It started asking more and more questions -- too many -- so I started over with e2fsck -y /dev/hda1. Yeeeee-haw. My computer must've spent about 2 hours going through every single inode on the disk... thrice.

I ended up with the most enormous lost+found/ directory I've ever seen. The rest of my root partition was gone.

So here I am 5 hours later, in my newly-installed Debian system. I'm hoping most things work, because I really need to have all this stuff ready in time for school. What a pain in the neck.

5 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!