February 21, 2010

Bookmark Undertaker v0.3 — Picking up the threads

Filed under: Blog — krkhan @ 8:09 pm

Threads are love. Threads are speed. And more often than not, threads are a consistent PITA. However, I’ve had an accidental epiphany just a few hours ago:

When in doubt When you need to communicate among threads, use synchronized Queues.”

There. This magic mantra will solve more issues in your life than you can ever imagine, and certainly more than I expected.

Getting back to the topic at hand, adding threading support to the program has sped up the bookmark checking process by a factor of about 435895234. Coupled with fixing of some parsing bugs, Bookmark Undertaker v0.3 is finally capable of providing a quick, stable and consistent way of sanitizing your Firefox favorites:

Boomark Undertaker v0.3 Screenshot

This time, I’ve also tried to provide Deb and RPM packages on the release page for easy installation by the Debian/Ubuntu/Fedora populace.

Ushering in the era of communist applications:

“If everyone gives one thread, the poor person will have a shirt.” — Russian Proverb

Tags: , , , , , , , , , , , , , , , ,

December 3, 2009

Bookmark Undertaker — Check your Firefox favorites for dead links

Filed under: Blog — krkhan @ 9:24 pm

No matter how much you try to keep the browser bookmarks clean, inevitably they jumble up and one day you realize that you have no idea which links are working and which aren’t. This is where a small utility named AM-Deadlink comes to the rescue for Windows users which checks the links for errors. Somehow, the utility lacked an alternative in the open-source world. And this is where Bookmark Undertaker comes into picture:

Bookmark Undertaker Screenshot
(Click on the image for larger version.)

For the utility, I chose PyGTK as UI backend. For parsing the bookmarks.html files exported from Firefox, I used Beautiful Soup. The latter, I must say, made my life a lot easier by cleverly sanitizing the insanity contained in Firefox’s exported favorites, staying true to the project tagline:

You didn’t write that awful page. You’re just trying to get some data out of it. Right now, you don’t really care what HTML is supposed to look like.

Neither does this parser.

And indeed it does not.

For the time being, the application imports the bookmarks properly and displays their attributes including the favorite icons. It then checks the linked URLs for errors in a separate thread and marks them as working or non-working accordingly. Exporting the bookmarks is next on the TODO-list, while it’s possible that in future I will internationalize the application as well.

Time to purge those pesky outdated 404’s.

Tags: , , , , , , , , ,

October 8, 2008

Trying out Firefox Geode

Filed under: Blog — krkhan @ 10:58 pm

Or, not really. Since my Firefox is built from source code on a 64-bit platform, all I could get while trying to install the pre-compiled extension was the following error:

“Geode” could not be installed because it is not compatible with your Minefield build type (Linux_x86_64-gcc3). Please contact the author of this item about the problem.

I have posted a comment on the Mozilla Labs’ blog post about the binary incompatibility and hope to get my hands on Geode’s source code soon for a tryout. The service sounds fun, even though it would take at least a few years for websites’ awareness of the W3C Geolocation Specification to mature enough to a point where everyday usage would be the same.

Tags: , , , , , ,

July 3, 2008

Foxy records

Filed under: Blog — krkhan @ 9:14 am

“Adversity causes some men software to break; others to break records.” — William Arthur Ward

Firefox Download Day!

It’s official. Firefox 3 has created a world record for being the most downloaded software in a 24-hour time-period (approximately 8 million times actually, and that too with a server outage). I did download the source-code on the release day but I didn’t compile it until only yesterday. The compilation went smoothly, mainly because I had already solved out incompatibility issues while messing with the betas.

The grandmother’s theorem just got another postulate to build open ;-) .

Tags: , , , , , ,