The Habs won against the Bruins. The world is suddenly a brighter place.
I got fed up with the suckiness of my Link Checker Epiphany extension, so I fixed it. I hope. Well, at least if it makes any mistakes it'll still print semi-sane messages and it won't leave the busy cursor going on forever. Before it was at the point where I was considering removing the code altogether. Now I think it can stay :).
This person is currently certified at Journeyer level.
Wow. I feel like I'm growing up in the Free Software World. Master level, here I come! ...Except I suppose I have to learn how to program well first. Minor setback.
After exploring just about every possible UI design for my New and Improved Epiphany Popup Blocker Extension, I finally found The Perfect UI. It took dozens of hours of coding, elaborate mock-ups and countless discussions, but the final UI seems too simple for words.
It's simple and yet... deep. "View -> [ ] Popup Windows" is a per-site preference -- pretty much like my popup blocker already has been for ages. However, the COOL part is that selecting it brings up all the site's popups, and de-selecting it makes them all disappear. I think this is The Best Way To Do This, and it sure is intuitive. Do I want to see popup windows? Yes? Then I'll enable it. Otherwise, I'll disable it. Simple, and it Just Works.
Also, there's a little icon in the statusbar which represents all the poor popups which were blocked. It's got a tooltip saying how many there are.
At this point, with GNOME 2.6 right around the corner, I'm very keen to get Epiphany extensions more widely recognized and used. I think since their primary dependency (epiphany 1.2) will be widely installed there'll be a much lower barrier to entry for most people. Beyond that, though, I want to set up Debian packages. It's easy to do, but I'm not a Debian maintainer and it doesn't seem easy to become one.
Anyway, if you've got some minutes spare, check out my Popup Blocker extension. Oh, and of course, my Error Viewer extension, which is a killer app for web development. They're in epiphany-extensions on GNOME CVS. You'll need Epiphany >= 1.1.12 to compile them.
And if you like or dislike these extensions, please let me know! Besides fellow Epiphany/Galeon developers, I haven't heard from anyone who's used them.
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.
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!