A place for my programming projects and the occasional blog about technology related matters.
Projects
Below is a list of some of the projects I’ve worked on in my spare time. For a listing of the utilities and code I’ve posted in the blog check out the code page.
.NET projects
Syntaxhighlight: A class library, written in C#, for syntax highlighting code.
Windows Live Bot: A bot program that you can speak with on Windows Live Messenger.
Mozilla Extensions
These are mostly small extensions that I´ve done for requests on the Mozillazine extension development forums. There are always plenty of requests there for new extensions and I like picking out simple ones that don’t take more than a few hours to make. They are nice little programming excercises and I´ve learnt a lot about the way Mozilla works by making them.
Highlander: Only use one tab for each url. If you try to open the same url again you’ll get redirected to the tab that already has it open.
MultiSearch: Search for multiple terms at the same time, opens results in new tabs.
Redirector: Automatically redirects to user-defined urls on certain pages, e.g. when on http://foo.com always redirect to http://bar.com. Supports wildcards and regexes with captures.
Remote Image Cache: Save remote images in html emails locally, so you can view the email correctly even when offline or if the origin server takes down the image.
Scroll Search Engines: Change your selected search engine by scrolling over the search box.
Search For Sender: Right click a message and search for all messages with the same sender or subject.
Sneak Peek: Allows you to preview specific information from a hyperlink target by hovering over the link. For example on a message board you can hover over a link to a thread and get a preview showing the first post in that thread.
Sticky Search: Makes the quick search “sticky”, i.e. repeats the last quicksearch when you switch to another folder.
XUL Reference: Highlight any xpcom component, xul/xbl element or event and open its corresponding page on xulplanet.com
Greasemonkey scripts
Greasemonkey is probably the best Firefox addon of them all. It allows you to write small scripts in javascript to fix or add functionality to specific web pages. I’ve used it to fix a number of annoyances in the websites I use most frequently. My greasemonkey page has a list of the scripts I’ve written, with download links and descriptions of what they do.
Contributions to other projects
I’ve contributed small fixes or features to some open source projects. Mostly it’s when I’ve needed something myself and then figured I might as well send the changes to the project owners.
Wordpress: I submitted bug 4739 and a patch for it. The fix is available in Wordpress 2.3. It fixes the transformation from Icelandic letters to ASCII when creating page slugs. I previously wrote about it in this blog post.
Django: Django has a module called “localflavor” where people can submit self-validating controls for a particular country, for instance a combobox with all zip codes for the country, or a textbox that can validate a correct phone number. I wrote the icelandic localflavor (see ticket here) which includes a textbox that validates icelandic identification numbers, a textbox for phone numbers and a combobox with zip codes.
Standard Sitemap: I contributed some code to this extension which allows websites to define their site structure in an xml document and a site tree is then displayed in a sidebar. There are a few extension developers working together on this and it should be excellent when it’s finished.
YARQ (Yet Another Random Quote): I used this plugin to display random quotes on another site I had. But it was missing editing functionality, you could only add and delete. So I added the editing. The original author has said that he is gonna merge my changes into the trunk, but he hasn’t done so yet, so for now I’m distributing the modified version myself in this blog post.
UXRepublic Firefox extension: Mark Allen, the creator of uxrepublic.com posted a request for some help on the Mozillazine forum. UXRepublic (then called PatternParty) is a website that allows users to register and upload screenshots that can then be viewed by others. He wanted a Firefox extension that allowed people to do this straight from firefox, upload a picture of a page or portion of a page directly to the website. I created a prototype/proof-of-concept extension and sent to him. It was made by modifying the ScreenGrab extension, ripping out all unneccesary parts and adding some upload functions. Its development has continued and is now at version 1.0.1 and is available for download at http://uxrepublic.com/firefox/.