<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog Posts on Oxymoronical</title>
    <link>https://www.oxymoronical.com/blog/</link>
    <description>Recent content in Blog Posts on Oxymoronical</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 09 Feb 2026 18:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.oxymoronical.com/blog/feed/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Can&#39;t you do this faster with AI?</title>
      <link>https://www.oxymoronical.com/blog/2026/01/cant-you-do-this-faster-with-ai/</link>
      <pubDate>Mon, 09 Feb 2026 18:00:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2026/01/cant-you-do-this-faster-with-ai/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m hearing this question asked a lot lately. Both within Mozilla and from others in the industry. You come up with a plan for implementing some feature, put your best estimate on how long it will take to implement, and then you get push back from folks several levels removed from the project along the lines of &lt;em&gt;&amp;ldquo;Wouldn&amp;rsquo;t this be faster if you used AI?&amp;rdquo;&lt;/em&gt;, or &lt;em&gt;&amp;ldquo;Can&amp;rsquo;t Claude Code do most of this?&amp;rdquo;&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What would you say you do here?</title>
      <link>https://www.oxymoronical.com/blog/2025/06/what-would-you-say-you-do-here/</link>
      <pubDate>Tue, 10 Jun 2025 11:12:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2025/06/what-would-you-say-you-do-here/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m currently joining a couple of new projects and the inevitable first step is introductions over Zoom and the usual questions: who are you, where are you based, and what is your role on this project. I&amp;rsquo;m a Principal Engineer here at Mozilla, which might make you think that my role is going to be a lot of development. But this isn&amp;rsquo;t the case and I thought others might be interested in what it actually means. Somehow along the way it ended up turning into a post about how I see the different career levels for engineers at Mozilla, but hey maybe that is useful for others too?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making a case sensitive directory on Windows and macOS</title>
      <link>https://www.oxymoronical.com/blog/2025/06/making-a-case-sensitive-directory/</link>
      <pubDate>Thu, 05 Jun 2025 08:53:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2025/06/making-a-case-sensitive-directory/</guid>
      <description>&lt;p&gt;Now that Firefox has &lt;a href=&#34;https://github.com/mozilla-firefox/firefox&#34;&gt;switched to git&lt;/a&gt; as its canonical source code repository a number of us have been longing for all the nice features that Mercurial used to provide that are much more awkward with git. So many of us have been experimenting with &lt;a href=&#34;https://jj-vcs.github.io/jj/latest/&#34;&gt;Jujutsu&lt;/a&gt; which provides a lot of what is missing. It&amp;rsquo;s pretty good, I recommend giving it a go if you are also forced to use git!&lt;/p&gt;&#xA;&lt;p&gt;But it has &lt;a href=&#34;https://github.com/jj-vcs/jj/issues/1737&#34;&gt;an annoying bug&lt;/a&gt;. If you&amp;rsquo;re on a case insensitive filesystem (the default on macOS and Windows) and a change renames a file in a way that only changes the case of the filename then Jujutsu gets confused. I think what&amp;rsquo;s going on is when it tries to apply the change it tells the OS to rename the file and then the OS sees that the filename is the &amp;ldquo;same&amp;rdquo; and does nothing. Subsequently Jujutsu constantly thinks there is a change because the filename on disk doesn&amp;rsquo;t exactly match what it expects and everything gets messy. The workaround is to manually rename those files to the correct names but that is annoying. I don&amp;rsquo;t know if Mozilla are particularly bad at this but the two examples in the issue are us and another just landed recently 😂.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Some thoughts on coding with AI</title>
      <link>https://www.oxymoronical.com/blog/2025/05/thoughts-on-coding-with-ai/</link>
      <pubDate>Sat, 24 May 2025 20:17:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2025/05/thoughts-on-coding-with-ai/</guid>
      <description>&lt;p&gt;As you probably know AI tools are here and expectations range from &amp;ldquo;This is going to destroy the environment and make everyone unemployed&amp;rdquo; to &amp;ldquo;This is going to usher in a golden age freeing humanity from drudgery&amp;rdquo;. The reality is of course somewhere between the two and I don&amp;rsquo;t think we&amp;rsquo;re really going to know exactly where for many years.&lt;/p&gt;&#xA;&lt;p&gt;I believe strongly in learning and understanding the tools available to us so that we can make pragmatic choices about what tools to use when. So for quite a while I&amp;rsquo;ve made various attempts to try using AI for coding. Most of my attempts have involved going to ChatGPT and asking it to write some code for me or answer questions about API specs. And it&amp;rsquo;s never been a great experience. Generally the code it generated wouldn&amp;rsquo;t work and it would confidently lie about what specs required. Clearly some people find this useful but I&amp;rsquo;ve never quite found out why yet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A non-fitness expert review of the Pixel Watch 3</title>
      <link>https://www.oxymoronical.com/blog/2025/05/pixel-watch-3-review/</link>
      <pubDate>Sat, 24 May 2025 19:38:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2025/05/pixel-watch-3-review/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been many years since I went to the gym regularly. I&amp;rsquo;m reasonably active, I enjoy long hikes and I try to ride my bike to the co-working space I use weekly. But weather and kids often get in the way of doing any of that and frankly the lack of exercise is starting to show. So it&amp;rsquo;s time to start hitting the gym again. And what better way to encourage me to do that than buying an expensive new gadget to help me track my progress!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Controlling a dual boot desktop from Home Assistant</title>
      <link>https://www.oxymoronical.com/blog/2024/07/controlling-a-dual-boot-desktop-from-home-assistant/</link>
      <pubDate>Thu, 18 Jul 2024 11:47:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2024/07/controlling-a-dual-boot-desktop-from-home-assistant/</guid>
      <description>&lt;p&gt;I do most of my work on a MacBook Pro but occasionally I do need a Windows or Linux environment to&#xA;test platform specific things and so under my desk is a reasonable powerful desktop which dual&#xA;boots between Windows and Linux. I have it all set up for remote connections and a while ago I&#xA;figured out a command to tell the Linux bootloader to boot to Windows on the next boot (but only the&#xA;next boot). So by default it booted to Linux but when I wanted I could switch to Windows without&#xA;having to connect a monitor to it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tests don&#39;t replace Code Review</title>
      <link>https://www.oxymoronical.com/blog/2024/05/tests-dont-replace-code-review/</link>
      <pubDate>Wed, 01 May 2024 23:02:00 +0100</pubDate>
      <guid>https://www.oxymoronical.com/blog/2024/05/tests-dont-replace-code-review/</guid>
      <description>&lt;p&gt;I frequently see a bold claim come up in tech circles. That as a team you&amp;rsquo;re wasting time by doing code reviews. You should instead rely on automated tests to catch bugs. This surprises me because I can&amp;rsquo;t imagine anyone thinking that such a blanket statement is true. But then most of the time this is brought up in places like Twitter where nuance is impossible and engagement farming is rife. Still it got me thinking about why I think code review is important even if you have amazing tests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A review of the Canon EOS R7</title>
      <link>https://www.oxymoronical.com/blog/2023/04/a-review-of-the-canon-eos-r7/</link>
      <pubDate>Tue, 18 Apr 2023 20:42:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2023/04/a-review-of-the-canon-eos-r7/</guid>
      <description>&lt;p&gt;I’ve always enjoyed photography. I’ve had a Nikon D7000 for nearly 12 years and apparently I’ve taken some 80,000 shots with it. But over the past few years I’ve been taking less and less photos and finding I wasn’t enjoying it as much. I’d rarely take the camera out with me and even when I did I found I was throwing away most of the photos I took. I finally decided it was time to try something new.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using VS Code for merges in Mercurial</title>
      <link>https://www.oxymoronical.com/blog/2022/09/using-vs-code-for-merges-in-mercurial/</link>
      <pubDate>Tue, 06 Sep 2022 17:33:53 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2022/09/using-vs-code-for-merges-in-mercurial/</guid>
      <description>&lt;p&gt;I’ve always struggled to find a graphical merge tool that I can actually understand and up until now I have just been using merge markers along with a handy Mercurial command to open all conflicted files in VS Code, my editor of preference.&lt;/p&gt;&#xA;&lt;p&gt;Well it turns out that since version 1.69 VS Code now has built in support for acting as a merge tool and after trying it out I actually found it to be useful! Given that they (and the rest of the world) tend to focus on Git I couldn’t find explicit instructions for setting it up for Mercurial so here is how you do it. Add the following to your &lt;code&gt;~/.hgrc&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recording UK Gas and Electricity usage in InfluxDB</title>
      <link>https://www.oxymoronical.com/blog/2022/09/recording-uk-gas-and-electricity-usage-in-influxdb/</link>
      <pubDate>Thu, 01 Sep 2022 11:15:04 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2022/09/recording-uk-gas-and-electricity-usage-in-influxdb/</guid>
      <description>&lt;p&gt;I’m not going to do the online recipe thing. Or at least I’m going to give you the thing you probably want before the context. If you want a free tool for accessing your UK smart energy meter readings you should install and register &lt;a href=&#34;https://play.google.com/store/apps/details?id=uk.co.hildebrand.brightionic&#34;&gt;the Bright mobile app&lt;/a&gt;. Once you’ve done so &lt;a href=&#34;https://crates.io/crates/glowmarkt&#34;&gt;my Rust crate&lt;/a&gt; can access their API to let you pull data from the command line for various uses including submitting the data into &lt;a href=&#34;https://www.influxdata.com/products/influxdb-overview/&#34;&gt;InfluxDB&lt;/a&gt; where you can build all kinds of interesting graphs and alerts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Announcing LocalNS</title>
      <link>https://www.oxymoronical.com/blog/2022/05/announcing-localns/</link>
      <pubDate>Mon, 02 May 2022 20:07:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2022/05/announcing-localns/</guid>
      <description>&lt;p&gt;I mess around with a bunch of different projects in my spare time but it’s been a long time since I’ve thought one was worth tidying up into an actual release. Maybe it will be useful to you?&lt;/p&gt;&#xA;&lt;p&gt;The problem I faced was that I had a whole bunch of services that I installed on my network, some in docker, some as standalone servers, some behind a &lt;a href=&#34;https://traefik.io/traefik/&#34;&gt;Traefik&lt;/a&gt; proxy. In the docker case I was using &lt;a href=&#34;https://docs.docker.com/network/macvlan/&#34;&gt;macvlan&lt;/a&gt; networking so each service had its own IP address accessible to the entire network. Once I learned how to do all that it became trivial to spin up a new local service, say &lt;a href=&#34;https://www.influxdata.com/products/influxdb-overview/&#34;&gt;InfluxDB&lt;/a&gt; or &lt;a href=&#34;https://grafana.com/&#34;&gt;Grafana&lt;/a&gt; with a couple of lines in a docker-compose file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating HTML content with a fixed aspect ratio without the padding trick</title>
      <link>https://www.oxymoronical.com/blog/2019/10/creating-html-content-with-a-fixed-aspect-ratio-without-the-padding-trick/</link>
      <pubDate>Wed, 30 Oct 2019 10:01:09 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2019/10/creating-html-content-with-a-fixed-aspect-ratio-without-the-padding-trick/</guid>
      <description>&lt;p&gt;It seems to be a common problem, you want to display some content on the web with a certain aspect ratio but you don’t know the size you will be displaying at. How do you do this? CSS doesn’t really have the tools to do the job well currently (there are &lt;a href=&#34;https://jonathankingston.github.io/logical-sizing-properties/&#34;&gt;proposals&lt;/a&gt;). In my case I want to display a video and associated controls as large as possible inside a space that I don’t know the size of. The size of the video also varies depending on the one being displayed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A simple command to open all files with merge conflicts</title>
      <link>https://www.oxymoronical.com/blog/2019/10/a-simple-command-to-open-all-files-with-merge-conflicts/</link>
      <pubDate>Wed, 09 Oct 2019 10:28:19 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2019/10/a-simple-command-to-open-all-files-with-merge-conflicts/</guid>
      <description>&lt;p&gt;When I get merge conflicts in a rebase I found it irritating to open up the problem files in my editor, I couldn’t find anything past copying and pasting the file path or locating it in the source tree. So I wrote a simple &lt;code&gt;hg&lt;/code&gt; command to open all the unresolved files into my editor. Maybe this is useful to you too?&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[alias]&#xA;unresolved = !$HG resolve -l &amp;#34;set:unresolved()&amp;#34; -T &amp;#34;{reporoot}/{path}\0&amp;#34; | xargs -0 $EDITOR&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Please watch your character encodings</title>
      <link>https://www.oxymoronical.com/blog/2019/07/Please-watch-your-character-encodings/</link>
      <pubDate>Wed, 10 Jul 2019 13:38:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2019/07/Please-watch-your-character-encodings/</guid>
      <description>&lt;p&gt;I started writing this as a newsgroup post for one of Mozilla’s mailing lists, but it turned out to be too long and since this part was mainly aimed at folks who either didn’t know about or wanted a quick refresher on character encodings I decided to blog it instead. Please let me know if there are errors in here, I am by no means an expert on this stuff either and I do get caught out sometimes!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bridging an internal LAN to a server&#39;s Docker containers over a VPN</title>
      <link>https://www.oxymoronical.com/blog/2019/03/bridging-an-internal-lan-to-a-servers-docker-containers-over-a-vpn/</link>
      <pubDate>Thu, 14 Mar 2019 13:07:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2019/03/bridging-an-internal-lan-to-a-servers-docker-containers-over-a-vpn/</guid>
      <description>&lt;p&gt;I recently decided that the basic web hosting I was using wasn’t quite a configurable or powerful as I would like so I have started paying for a VPS and am slowly moving all my sites over to it. One of the things I decided was that I wanted the majority of services it ran to be running under Docker. Docker has its pros and cons but the thing I like about it is that I can define what services run, how they run and where they store all their data in a single place, separate from the rest of the server. So now I have a &lt;code&gt;/srv/docker&lt;/code&gt; directory which contains everything I need to backup to ensure I can reinstall all the services easily, mostly regardless of the rest of the server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcoming a new Firefox/Toolkit peer</title>
      <link>https://www.oxymoronical.com/blog/2019/02/Welcoming-a-new-FirefoxToolkit-peer/</link>
      <pubDate>Wed, 13 Feb 2019 12:49:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2019/02/Welcoming-a-new-FirefoxToolkit-peer/</guid>
      <description>&lt;p&gt;Please join me in welcoming Bianca Danforth to the set of peers blessed with reviewing patches to Firefox and Toolkit. She’s been doing great work making testing experiment extensions easy and so it’s time for her to level-up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Phabricator</title>
      <link>https://www.oxymoronical.com/blog/2018/06/Taming-Phabricator/</link>
      <pubDate>Tue, 19 Jun 2018 10:31:08 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2018/06/Taming-Phabricator/</guid>
      <description>&lt;p&gt;So Mozilla is going all-in on Phabricator and Differential as a code review tool. I have mixed feelings on this, not least because it’s support for patch series is more manual than I’d like. But since this is the choice Mozilla has made I might as well start to get used to it. One of the first things you see when you log into Phabricator is a default view full of information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Searchfox in VS Code</title>
      <link>https://www.oxymoronical.com/blog/2018/06/Searchfox-in-VS-Code/</link>
      <pubDate>Thu, 07 Jun 2018 12:21:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2018/06/Searchfox-in-VS-Code/</guid>
      <description>&lt;p&gt;I spend most of my time developing flipping back and forth between &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;VS Code&lt;/a&gt; and &lt;a href=&#34;https://searchfox.org/&#34;&gt;Searchfox&lt;/a&gt;. VS Code is a great editor but it has nowhere near the speed needed to do searches over the entire tree, at least on my machine. Searchfox on the other hand is pretty fast. But there’s something missing. I usually want to search Searchfox for something I found in the code. Then I want to get the file I found in Searchfox open in my editor.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Even more new peers</title>
      <link>https://www.oxymoronical.com/blog/2017/09/Even-more-new-peers/</link>
      <pubDate>Wed, 20 Sep 2017 10:33:08 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/09/Even-more-new-peers/</guid>
      <description>&lt;p&gt;Please welcome the latest new peers to Firefox and Toolkit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Johann Hofmann&lt;/li&gt;&#xA;&lt;li&gt;Nihanth Subramanya&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As you might gather I’ve been updating the peer list a lot lately trying to catch up with reality. If there is anyone I’m missing then please let me know!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How do you become a Firefox peer? The answer may surprise you!</title>
      <link>https://www.oxymoronical.com/blog/2017/09/How-do-you-become-a-Firefox-peer-The-answer-may-surprise-you/</link>
      <pubDate>Wed, 13 Sep 2017 11:02:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/09/How-do-you-become-a-Firefox-peer-The-answer-may-surprise-you/</guid>
      <description>&lt;p&gt;So you want to know how someone becomes a peer? Surprisingly the answer is pretty unclear. There is no formal process for peer status, at least for Firefox and Toolkit. I haven’t spotted one for other modules either. What has generally happened in the past is that from time to time someone will come along and say, “Oh hey, shouldn’t X be a peer by now?” to which I will say “Uhhh maybe! Let me go talk to some of the other peers that they have worked with”. After that magic happens and I go and update the stupid wiki pages, write a blog post and mail the new peers to congratulate them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Firefox and Toolkit module peers</title>
      <link>https://www.oxymoronical.com/blog/2017/09/New-Firefox-and-Toolkit-module-peers/</link>
      <pubDate>Tue, 12 Sep 2017 14:44:03 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/09/New-Firefox-and-Toolkit-module-peers/</guid>
      <description>&lt;p&gt;Please join me in welcoming another set of brave souls willing to help shepherd new code into Firefox and Toolkit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Luke Chang&lt;/li&gt;&#xA;&lt;li&gt;Ricky Chien&lt;/li&gt;&#xA;&lt;li&gt;Luca Greco&lt;/li&gt;&#xA;&lt;li&gt;Kate Hudson&lt;/li&gt;&#xA;&lt;li&gt;Tomislav Jovanovic&lt;/li&gt;&#xA;&lt;li&gt;Ray Lin&lt;/li&gt;&#xA;&lt;li&gt;Fischer Liu&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;While going through this round of peer updates I’ve realised that it isn’t terribly clear how people become peers. I intend to rectify that in a coming &lt;a href=&#34;https://www.oxymoronical.com/blog/2017/09/How-do-you-become-a-Firefox-peer-The-answer-may-surprise-you&#34;&gt;blog post&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Firefox and Toolkit module peers in Taipei!</title>
      <link>https://www.oxymoronical.com/blog/2017/08/New-Firefox-and-Toolkit-module-peers-in-Taipei/</link>
      <pubDate>Wed, 09 Aug 2017 16:05:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/08/New-Firefox-and-Toolkit-module-peers-in-Taipei/</guid>
      <description>&lt;p&gt;Please join me in welcoming three new peers to the Firefox and Toolkit modules. All of them are based in Taipei and I believe that they are our first such peers which is very exciting as it means we now have more global coverage.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tim Guan-tin Chien&lt;/li&gt;&#xA;&lt;li&gt;KM Lee Rex&lt;/li&gt;&#xA;&lt;li&gt;Fred Lin&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I’ve &lt;a href=&#34;https://www.oxymoronical.com/blog/2016/06/New-Firefox-reviewers&#34;&gt;blogged before about the things I expect&lt;/a&gt; from the peers and while I try to keep the lists up to date myself please feel free to point out folks you think may have been passed over.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on the module system</title>
      <link>https://www.oxymoronical.com/blog/2017/07/Thoughts-on-the-module-system/</link>
      <pubDate>Thu, 13 Jul 2017 15:06:04 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/07/Thoughts-on-the-module-system/</guid>
      <description>&lt;p&gt;For a long long time Mozilla has governed its code (and a few other things) as a series of modules. Each module covers an area of code in the source and has an owner and a list of peers, folks that are knowledgeable about that module. The &lt;a href=&#34;https://wiki.mozilla.org/Modules&#34;&gt;full list of modules&lt;/a&gt; is public. In the early days the module system was everything. Module owners had almost complete freedom to evolve their module as they saw fit including choosing what features to implement and what bugs to fix. The folks who served as owners and peers came from diverse areas too. They weren’t just Mozilla employees, many were outside contributors.&lt;/p&gt;</description>
    </item>
    <item>
      <title>More new Firefox/Toolkit peers</title>
      <link>https://www.oxymoronical.com/blog/2017/02/More-new-FirefoxToolkit-peers/</link>
      <pubDate>Thu, 23 Feb 2017 09:51:28 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/02/More-new-FirefoxToolkit-peers/</guid>
      <description>&lt;p&gt;A few things are happening which means there are a bunch of new Firefox/Toolkit peers to announce.&lt;/p&gt;&#xA;&lt;p&gt;First since I’m now owner of both Firefox and Toolkit I’ve decided it doesn’t make much sense to have separate lists of peers. Either I trust people to review or I don’t so I’m merging the lists of peers for these modules. Practically since Toolkit already included all of the Firefox peers this just means that the following folks are now Firefox peers in addition to already being Toolkit peers:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome to a new Firefox/Toolkit peer, Shane Caraveo</title>
      <link>https://www.oxymoronical.com/blog/2017/02/Welcome-to-a-new-FirefoxToolkit-peer-Shane-Caraveo/</link>
      <pubDate>Tue, 21 Feb 2017 09:49:38 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/02/Welcome-to-a-new-FirefoxToolkit-peer-Shane-Caraveo/</guid>
      <description>&lt;p&gt;It’s that time again when I get to announce a new Firefox/Toolkit peer. Shane has been involved with Mozilla for longer than I can remember and recently he has been doing fine work on webextensions including the new sidebar API. As usual we probably should have made Shane a peer sooner so this is a case of better late than never.&lt;/p&gt;&#xA;&lt;p&gt;I took a moment to tell Shane what I expect of all my peers:&lt;/p&gt;</description>
    </item>
    <item>
      <title>hgchanges is down, probably for good</title>
      <link>https://www.oxymoronical.com/blog/2017/02/hgchanges-is-down-probably-for-good/</link>
      <pubDate>Mon, 06 Feb 2017 14:01:35 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2017/02/hgchanges-is-down-probably-for-good/</guid>
      <description>&lt;p&gt;My little tool to help folks track when changes are made to files or directories in Mozilla’s mercurial repositories has gone down again. This time an influx of some 8000 changesets from the servo project are causing the script that does the updating to fail so I’ve turned off updating. I no longer have any time to work on this tool so I’ve also taken it offline and don’t really have any intention to bring it back up again. Sorry to the few people that this inconveniences. Please go lobby the engineering productivity folks if you still need a tool like this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Globes</title>
      <link>https://www.oxymoronical.com/blog/2016/12/Globes/</link>
      <pubDate>Sun, 18 Dec 2016 19:14:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/12/Globes/</guid>
      <description>&lt;p&gt;I got bored over the weekend and decided to try my hand at fractal art again. I used to play around with this years ago but not so much recently. I was pretty disappointed to find that nothing has really changed when it comes to the tools available for creating fractals. Most of them haven’t been updated in years and there don’t seem to be much in the way of new kids on the block that I can see either. About the only new tool I found is &lt;a href=&#34;http://www.chaoticafractals.com/&#34;&gt;Chaotica&lt;/a&gt; which hasn’t been updated in a year and only slowly before then. I used it to create the above piece.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Firefox module ownership</title>
      <link>https://www.oxymoronical.com/blog/2016/12/On-Firefox-module-ownership/</link>
      <pubDate>Wed, 14 Dec 2016 16:15:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/12/On-Firefox-module-ownership/</guid>
      <description>&lt;p&gt;It has been over eleven years since I first wrote a patch for Firefox. It was reviewed by the then-Firefox module owner, Mike Connor. If you had told me then that at some point in the future &lt;em&gt;I&lt;/em&gt; was going to be the module owner I probably would have laughed at you. I didn’t know at the time how much Mozilla would shape my life. Yet yesterday Dave Camp handed over the reigns to me and here we are.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A new owner for the add-ons manager</title>
      <link>https://www.oxymoronical.com/blog/2016/08/A-new-owner-for-the-add-ons-manager/</link>
      <pubDate>Mon, 15 Aug 2016 16:29:33 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/08/A-new-owner-for-the-add-ons-manager/</guid>
      <description>&lt;p&gt;I’ve been acting as the owner for the add-ons manager for the past little while and while I have always cared a lot about the add-ons space it is time to formerly pass over the torch. So I was pleased that &lt;a href=&#34;http://rhelmer.org/blog/&#34;&gt;Rob Helmer&lt;/a&gt; was willing to take it over from me.&lt;/p&gt;&#xA;&lt;p&gt;Rob has been doing some exceptional work on making system add-ons (used as part of the go faster project) more robust and easier for Mozilla to use. He’s also been thinking lot about improvements we can make to the add-ons manager code to make it more friendly to approach.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Firefox reviewers</title>
      <link>https://www.oxymoronical.com/blog/2016/06/New-Firefox-reviewers/</link>
      <pubDate>Wed, 08 Jun 2016 09:34:36 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/06/New-Firefox-reviewers/</guid>
      <description>&lt;p&gt;I’m delighted to announce that I’ve just made Andrew Swan (aswan on IRC) a reviewer for Firefox code. That also reminds me that I failed to announce when I did the same for Rob Helmer (rhelmer). Please inundate them with patches.&lt;/p&gt;&#xA;&lt;p&gt;There are a few key things I look for when promoting folks to reviewers, surprisingly none of them are an understanding of the full breadth of code in Firefox or Toolkit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Got bored, built a thermostat</title>
      <link>https://www.oxymoronical.com/blog/2016/03/got-bored-built-a-thermostat/</link>
      <pubDate>Wed, 23 Mar 2016 10:22:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/03/got-bored-built-a-thermostat/</guid>
      <description>&lt;p&gt;Well sort of. The other week we had the fun of having most of our heating ducts torn out and replaced to get rid of some asbestos and add A/C. They also gave us a new thermostat for reasons that are beyond me, the old one has exactly the same functions but is slightly easier to use. These cheap thermostats are all the same, same functionality, almost identical controls and all terrible to use. This new one requires me to set 48 different values to set the schedule and then despite clearly having a basic micro-controller in there still requires me to flip a manual switch to select between heating and cooling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s talk about social anxiety</title>
      <link>https://www.oxymoronical.com/blog/2016/01/Lets-talk-about-social-anxiety/</link>
      <pubDate>Thu, 28 Jan 2016 23:29:38 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/01/Lets-talk-about-social-anxiety/</guid>
      <description>&lt;p&gt;It took me a long time to publish &lt;a href=&#34;https://www.oxymoronical.com/blog/2016/01/Me-and-my-dumb-brain&#34;&gt;my last post&lt;/a&gt;. I spent months trying to start it until I finally felt brave enough. I must confess that for a few hours after it was published I felt my anxiety levels rising. No-one responded. Nothing on Twitter or Facebook. Was everyone horrified at what I’d said? What had I done?&lt;/p&gt;&#xA;&lt;p&gt;I’m glad to say that those feelings soon subsided as friends and colleagues chimed in their support both public and private. A few mentioned that seeing me talk about these things helped them too. Knowing that you’re not alone is a powerful thing. That can be hard with mental health because we don’t talk about it. When it strikes you feel alone and isolated which makes everything worse.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Me and my dumb brain</title>
      <link>https://www.oxymoronical.com/blog/2016/01/Me-and-my-dumb-brain/</link>
      <pubDate>Wed, 27 Jan 2016 17:18:57 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/01/Me-and-my-dumb-brain/</guid>
      <description>&lt;p&gt;Today those polite folk from up north have been talking about mental health and how it affects them and those around them. Mental health is one of those issues that we too rarely talk about. I think it’s partly because you can’t see the problem and unless you have experienced it yourself it can be very difficult to understand. There has always been a stigma attached as if for some reason having something wrong with your mind is much worse than having any other kind of medical issue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving the performance of the add-ons manager with asynchronous file I/O</title>
      <link>https://www.oxymoronical.com/blog/2016/01/Improving-the-performance-of-the-add-ons-manager-with-asynchronous-file-IO/</link>
      <pubDate>Wed, 27 Jan 2016 12:35:25 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2016/01/Improving-the-performance-of-the-add-ons-manager-with-asynchronous-file-IO/</guid>
      <description>&lt;p&gt;The add-ons manager has a dirty secret. It uses an awful lot of synchronous file I/O. This is the kind of I/O that blocks the main thread and can cause Firefox to be janky. I’m told that that is a technical term. Asynchronous file I/O is much nicer, it means you can let the rest of the app continue to function while you wait for the I/O operation to complete. I rewrote much of the current code from scratch for Firefox 4.0 and even back then we were trying to switch to asynchronous file I/O wherever possible. But still I used mostly synchronous file I/O.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linting for Mozilla JavaScript code</title>
      <link>https://www.oxymoronical.com/blog/2015/12/Linting-for-Mozilla-JavaScript-code/</link>
      <pubDate>Fri, 18 Dec 2015 11:27:07 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/12/Linting-for-Mozilla-JavaScript-code/</guid>
      <description>&lt;p&gt;One of the projects I’ve been really excited about recently is getting ESLint working for a lot of our JavaScript code. If you haven’t come across ESLint or linters in general before they are automated tools that scan your code and warn you about syntax errors. They can usually also be set up with a set of rules to enforce code styles and warn about potential bad practices. The devtools and Hello folks have been using eslint for a while already and Gijs asked why we weren’t doing this more generally. This struck a chord with me and a few others and so we’ve been spending some time over the past few weeks getting our in-tree support for ESLint to work more generally and fixing issues with browser and toolkit JavaScript code in particular to make them lintable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running ESLint on commit</title>
      <link>https://www.oxymoronical.com/blog/2015/12/Running-ESLint-on-commit/</link>
      <pubDate>Fri, 18 Dec 2015 11:24:23 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/12/Running-ESLint-on-commit/</guid>
      <description>&lt;p&gt;ESLint becomes the most useful when you get warnings before even trying to land or get your code reviewed. You can add support to your code editor but not all editors support this so I’ve written a mercurial extension which gives you warnings any time you commit code that fails lint checks. It uses the same rules we run elsewhere. It doesn’t abort the commit, that would be annoying if you’re working on a feature branch but gives you a heads up about what needs to be fixed and where.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delivering Firefox features faster</title>
      <link>https://www.oxymoronical.com/blog/2015/10/Delivering-Firefox-features-faster/</link>
      <pubDate>Mon, 05 Oct 2015 11:20:28 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/10/Delivering-Firefox-features-faster/</guid>
      <description>&lt;p&gt;Over time Mozilla has been trying to reduce the amount of time between developing a feature and getting it into a user’s hands. Some time ago we would do around one feature release of Firefox every year, more recently we’ve moved to doing one feature release every six weeks. But it still takes at least 12 weeks for a feature to get to users. In some cases we can speed that up by landing new things directly on the beta/aurora branches but the more we do this the harder it is for release managers to track the risk of shipping a given release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making communicating with chrome from in-content pages easy</title>
      <link>https://www.oxymoronical.com/blog/2015/03/Making-communicating-with-chrome-from-in-content-pages-easy/</link>
      <pubDate>Mon, 23 Mar 2015 08:34:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/03/Making-communicating-with-chrome-from-in-content-pages-easy/</guid>
      <description>&lt;p&gt;As Firefox increasingly switches to support running in multiple processes we’ve been finding common problems. Where we can we are designing nice APIs to make solving them easy. One problem is that we often want to run in-content pages like about:newtab and about:home in the child process without privileges making it safer and less likely to bring down Firefox in the event of a crash. These pages still need to get information from and pass information to the main process though, so we have had to come up with ways to handle that. Often we use custom code in a frame script acting as a middle-man, using things like DOM events to listen for requests from the in-content page and then messaging to the main process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>hgchanges is back up</title>
      <link>https://www.oxymoronical.com/blog/2015/01/hgchanges-is-be-back-up/</link>
      <pubDate>Thu, 29 Jan 2015 10:33:05 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/01/hgchanges-is-be-back-up/</guid>
      <description>&lt;p&gt;The offending changeset that broke &lt;a href=&#34;https://www.oxymoronical.com/blog/2015/01/hgchanges-is-down-for-now&#34;&gt;hgchanges yesterday &lt;/a&gt;turns out to be a merge from an ancient branch to current tip. That makes the diff insanely huge which is why things like hgweb were tripping over it. Kwierso point out that just ignoring those changesets would solve the problem. It’s not ideal but since in this case they aren’t useful changesets I’ve gone ahead and done that and so hgchanges is now updating again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>hgchanges is down for now</title>
      <link>https://www.oxymoronical.com/blog/2015/01/hgchanges-is-down-for-now/</link>
      <pubDate>Wed, 28 Jan 2015 21:23:31 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/01/hgchanges-is-down-for-now/</guid>
      <description>&lt;p&gt;My &lt;a href=&#34;http://hgchanges.fractalbrew.com/&#34;&gt;handy tool&lt;/a&gt; for tracking changes to directories in the mozilla mercurial repositories is going to be broken for a little while. Unfortunately a &lt;a href=&#34;https://hg.mozilla.org/mozilla-central/rev/8991b10184de994b6ba38edd81a73856c8c3d595&#34;&gt;particular changeset&lt;/a&gt; seems to be breaking things in ways I don’t have the time to fix right now. Specifically trying to download the &lt;a href=&#34;https://hg.mozilla.org/mozilla-central/raw-rev/4f2a8114211d:8991b10184de&#34;&gt;raw patch&lt;/a&gt; for the changeset is causing hgweb to timeout. Short of finding time to debug and fix the problem my only solution is to wait until that patch is old enough that it no longer attempts to index it. That could take a week or so.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome the new Toolkit peers</title>
      <link>https://www.oxymoronical.com/blog/2015/01/Welcome-the-new-Toolkit-peers/</link>
      <pubDate>Fri, 16 Jan 2015 11:23:06 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2015/01/Welcome-the-new-Toolkit-peers/</guid>
      <description>&lt;p&gt;I have been a little lax in my duty of keeping the list of peers for Toolkit up to date and there have been a few notable exceptions. Thankfully we’re good about disregarding rules when it makes sense to and so many people who should be peers have already been doing reviews. Of course that’s no use to new contributors trying to figure out who should review what so I am grateful to someone who prodded me into updating the list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The bizarre world of the expectant father</title>
      <link>https://www.oxymoronical.com/blog/2014/05/the-bizarre-world-of-the-expectant-father/</link>
      <pubDate>Wed, 07 May 2014 17:45:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2014/05/the-bizarre-world-of-the-expectant-father/</guid>
      <description>&lt;p&gt;I don’t often blog about non-work related stuff. Actually scratch that, I don’t often blog. But I can’t help but talk about how life becomes very strange when you’re expecting. None of this is new but it is new to me so therefore you must read it again and in some cases relive it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;random-strangers-are-suddenly-your-closest-friend&#34;&gt;Random strangers are suddenly your closest friend&lt;/h2&gt;&#xA;&lt;p&gt;I don’t know how my wife copes with it at least I don’t have to wear a stamp on my forehead proclaiming me to be an expectant father. Even so the fact does occasionally slip out while I’m talking to people I don’t know. All of a sudden I’m expected to offer up details on how far along we are, how my wife is feeling, if we know the sex, what names have we picked and damnit I just want to order some new checks please I don’t need to hear about how great the schools are around here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome to the new Toolkit peers - Paolo, Matt, Jared and Irving</title>
      <link>https://www.oxymoronical.com/blog/2014/04/Welcome-to-the-new-Toolkit-peers-Paolo-Matt-Jared-and-Irving/</link>
      <pubDate>Tue, 15 Apr 2014 13:38:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2014/04/Welcome-to-the-new-Toolkit-peers-Paolo-Matt-Jared-and-Irving/</guid>
      <description>&lt;p&gt;Slightly belated in some cases but I’d like to formally welcome four new &lt;a href=&#34;https://wiki.mozilla.org/Modules/Toolkit&#34;&gt;toolkit peers&lt;/a&gt;. Paolo Amadini, Matthew Noorenberghe, Jared Wein and Irving Reid have all shown themselves to be well capable of reviewing patches in any of the toolkit code. Paolo, Matt and Jared actually got added a few months ago but apparently I failed to make an announcement at the time. Irving was added just last week. Please congratulate them all and don’t go too hard on their review queues!&lt;/p&gt;</description>
    </item>
    <item>
      <title>An update for hgchanges</title>
      <link>https://www.oxymoronical.com/blog/2014/03/An-update-for-hgchanges/</link>
      <pubDate>Thu, 13 Mar 2014 15:47:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2014/03/An-update-for-hgchanges/</guid>
      <description>&lt;p&gt;Nearly a year ago I showed off the first version of my webapp for displaying &lt;a href=&#34;https://www.oxymoronical.com/blog/2013/04/Get-notifications-about-changes-to-any-directory-in-mercurial&#34;&gt;recent changes in mercurial repositories&lt;/a&gt;. I’ve heard directly from a number of people that use it but it’s had a few problems that I’ve spent some of my spare time trying to solve. I’m now pleased to say that a new version is up and running. I’m not sure it’s accurate to call this a rewrite since it was entirely incremental but when I look back over of the code changes there really isn’t much that wasn’t touched in some way or other. So what’s new? For you, a person using the site absolutely nothing! So what on earth have I been doing rewriting the code?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Tools meet-up in Portland</title>
      <link>https://www.oxymoronical.com/blog/2014/03/Developer-Tools-meet-up-in-Portland/</link>
      <pubDate>Wed, 05 Mar 2014 14:33:06 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2014/03/Developer-Tools-meet-up-in-Portland/</guid>
      <description>&lt;p&gt;Two weeks ago the developer tools teams and a few others met in the Portland office for a very successful week of discussions and hacking. The first day was about setting the stage for the week and working out what everyone was going to work on. Dave Camp kicked us off with a review of the last six months in developer tools and talked about what is going to be important for us to focus on in 2014. We then had a little more in-depth information from each of the teams. After lunch a set of lightning talks went over some projects and ideas that people had been working on recently.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An editable box model view in the devtools</title>
      <link>https://www.oxymoronical.com/blog/2014/02/An-editable-box-model-view-in-the-devtools/</link>
      <pubDate>Fri, 21 Feb 2014 15:07:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2014/02/An-editable-box-model-view-in-the-devtools/</guid>
      <description>&lt;p&gt;This week the whole devtools group has been sequestered in Mozilla’s Portland office having one of our regular meet-ups. As always it’s been a fantastically productive week with lots of demos to show for it. I’ll be writing a longer write-up later but I wanted to post about what I played with over the week.&lt;/p&gt;&#xA;&lt;p&gt;My wife does the odd bit of web development on the side. For a long time she was a loyal Firebug user and a while ago I asked her what she thought of Firefox’s built in devtools. She quickly pointed out a couple of features that Firebug had that Firefox did not. As I was leaving for this week I mentioned I’d be with the devtools group and she asked whether her features had been fixed yet. It turns out that &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=918716&#34;&gt;colour swatches&lt;/a&gt; had been but the box model &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=850336&#34;&gt;still wasn’t editable&lt;/a&gt;. So I figured I could earn myself some brownie points by hacking on that this week.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sycamore Canyon, July 27th</title>
      <link>https://www.oxymoronical.com/blog/2013/07/Sycamore-Canyon-July-27th/</link>
      <pubDate>Sat, 27 Jul 2013 21:42:09 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/07/Sycamore-Canyon-July-27th/</guid>
      <description>&lt;p&gt;We went for a hike through Sycamore Canyon this afternoon getting some amazing overlooks of the Pacific coast as well as seeing some very alien landscape. This canyon was one of those hit by the wildfire recently and while the firefighters clearly worked hard to keep the campsite untouched as soon as you walk out onto the trails the impact is clear. The area looks almost desolate with blackened trees littering the hills. It’s so quiet up there too, it seems that few people want to explore while the canyon is in this state but I found it quite interesting to see just how different everything is right now. It’s not all bad news, there are lots of signs of regrowth, prickly pears with green buds, agave with green shoots and many trees are showing new green leaves. I think the most spectacular thing was how a lot of the damage was clearly only skin deep. Lots of the trees there are black on the outside yes, but where the bark has started to peel away the branches are a bright red underneath, as if untouched by the heat and flames. It makes for quite a spectacular contrast. We’re planning on going back there a lot to see how everything changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wildwood Regional Park, 1st June</title>
      <link>https://www.oxymoronical.com/blog/2013/06/Wildwood-Canyon-1st-June/</link>
      <pubDate>Mon, 10 Jun 2013 16:33:55 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/06/Wildwood-Canyon-1st-June/</guid>
      <description>&lt;p&gt;Last weekend a friend of ours was visiting so we took him out to one of our favourite walks in the Wildwood Regional Park. We’d spotted earlier in the week that there was a closer entrance to the park, just a few minutes drive from our house so we decided to try it from that side. From the maps it looked like we could drive quite close and by just a mile or so from paradise falls. Of course things never work out like that. One of the roads was closed to public traffic and so we ended up parking further out. We spotted the start of a trail leading up into the hills and so decided to take that instead. It ended up being a very steep climb up some 600 feet in the first hour but it was worth it for the views from up there. After we got down into the park and to the waterfall we found a flatter route back, it just involved going past a water reclamation facility so we had to put up with some bad smells for five minutes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Win Friends and Influence People in the Digital Age</title>
      <link>https://www.oxymoronical.com/blog/2013/06/How-to-Win-Friends-and-Influence-People-in-the-Digital-Age/</link>
      <pubDate>Mon, 10 Jun 2013 10:20:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/06/How-to-Win-Friends-and-Influence-People-in-the-Digital-Age/</guid>
      <description>&lt;p&gt;A friend recently made me a deal where he would buy me this book if I’d read it and tell him something that I learnt from it. I think this is all a cunning plan of his to get all his friends to do the same and save him having to read it himself but I’m never one to turn down a free book, especially when it is one that a former manager recommended I read. Well ok so he recommended I read &lt;a href=&#34;http://www.amazon.com/How-Win-Friends-Influence-People/dp/1439167346/ref=sr_1_1?ie=UTF8&amp;amp;qid=1370825581&amp;amp;sr=8-1&amp;amp;keywords=how+to+win+friends+and+influence+people&#34;&gt;the original&lt;/a&gt; which was written in the 1930’s. Since then there have been a number of books based on the same ideas for different audiences, even one in pink for teen girls (&lt;a href=&#34;http://www.amazon.com/Friends-Influence-People-Teen-Girls/dp/0743272773/ref=sr_1_4?ie=UTF8&amp;amp;qid=1370825581&amp;amp;sr=8-4&amp;amp;keywords=how+to+win+friends+and+influence+people&#34;&gt;I am not kidding&lt;/a&gt;). &lt;a href=&#34;http://www.amazon.com/How-Friends-Influence-People-Digital/dp/1451612591/ref=sr_1_2?ie=UTF8&amp;amp;qid=1370825581&amp;amp;sr=8-2&amp;amp;keywords=how+to+win+friends+and+influence+people&#34;&gt;This version&lt;/a&gt; attempts to bring the concepts into the modern age by using more recent examples and explaining how you can apply them to the internet age.&lt;/p&gt;</description>
    </item>
    <item>
      <title>500px isn&#39;t quite Flickr yet</title>
      <link>https://www.oxymoronical.com/blog/2013/05/500px-isnt-quite-Flickr-yet/</link>
      <pubDate>Sun, 26 May 2013 12:20:40 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/05/500px-isnt-quite-Flickr-yet/</guid>
      <description>&lt;p&gt;Since the &lt;a href=&#34;https://www.oxymoronical.com/blog/2013/05/Hello-new-Flickr-goodbye-social&#34;&gt;big changes to Flickr&lt;/a&gt; last week I’ve been mulling over the idea of switching to a different photo sharing site. &lt;a href=&#34;http://500px.com/&#34;&gt;500px&lt;/a&gt; had caught my eye in the past as being a very similar concept to Flickr. It has social aspects like Flickr does, maybe even more so as it supports the notion of “liking” a photo as well as making it a “favourite”. They seem to target the more professional photographer (yes &lt;a href=&#34;http://instagram.com/p/Zj1zNSGopR/#&#34;&gt;Marissa Mayer&lt;/a&gt;, there really is still such a thing) and the curated photos that show up through their main photos section shows that. Frankly it’s a little off-putting since my photos don’t even come close to that level, but the same can be said for Flickr’s similar sections so I guess it’s not that big of a deal. So I took a day or two to upload some of my photos, put 500px through its paces and see how it measures up to Flickr. I’ve built up a fairly specific workflow for my photo uploading and I’m measuring against that so what might be show-stoppers for me may not affect others.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello new Flickr, goodbye social</title>
      <link>https://www.oxymoronical.com/blog/2013/05/Hello-new-Flickr-goodbye-social/</link>
      <pubDate>Fri, 24 May 2013 10:25:43 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/05/Hello-new-Flickr-goodbye-social/</guid>
      <description>&lt;p&gt;To say that it was a shock to find Flickr had released a massive revamp of their site is something of an understatement. Ever since Yahoo took over the reigns the site has received minimal attention leading many to believe that it wouldn’t be long before they gave up altogether. Every time Yahoo announced another set of web properties that they were discontinuing users breathed a sigh of relief to see that Flickr wasn’t on the list … yet. Now those days may be over. Love them or hate them it is clear that Yahoo have invested a lot of time and thought into the changes that they released earlier this week.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Six years revisited</title>
      <link>https://www.oxymoronical.com/blog/2013/05/Six-years-revisited/</link>
      <pubDate>Tue, 21 May 2013 09:00:09 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/05/Six-years-revisited/</guid>
      <description>&lt;p&gt;Two years ago &lt;a href=&#34;https://www.oxymoronical.com/blog/2011/04/6-years-ago&#34;&gt;I blogged&lt;/a&gt; about how it had been six years since I wrote my first patch for Firefox. Today I get to say that it’s been six years since I started getting paid to do what I love, working for Mozilla. In that time I’ve moved to a new continent, found a wife (through Mozilla no less!), progressed from coder to module owner to manager, seen good friends leave for other opportunities and others join and watched (dare I say helped?) Mozilla, and the Firefox team in particular, grow from the small group that I joined in 2007 to the large company that will soon surpass 1000 employees.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox now ships with the add-on SDK</title>
      <link>https://www.oxymoronical.com/blog/2013/05/Firefox-now-ships-with-the-add-on-SDK/</link>
      <pubDate>Wed, 15 May 2013 15:31:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/05/Firefox-now-ships-with-the-add-on-SDK/</guid>
      <description>&lt;p&gt;It’s been a long ride but we can finally say it. This week Firefox 21 shipped and it includes the add-on SDK modules.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;shipped.jpg&#34;&gt;&lt;img src=&#34;https://www.oxymoronical.com/blog/2013/05/Firefox-now-ships-with-the-add-on-SDK/shipped.jpg&#34; style=&#34;width: 343px&#34; alt=&#34;We took all the Jetpack APIs and we shipped them in Firefox!&#34; title=&#34;We took all the Jetpack APIs and we shipped them in Firefox!&#34;&gt;&#xA;  &lt;/a&gt;What does this mean? Well for users it means two important things:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Smaller add-ons. Since they no longer need to ship the APIs themselves add-ons only have to include the unique code that makes them special. That’s something like a 65% file-size saving for the most popular SDK based add-ons, probably more for simpler add-ons.&lt;/li&gt;&#xA;&lt;li&gt;Add-ons will stay compatible with Firefox for longer. We can evolve the modules in Firefox that add-ons use so that most of the time when changes happen to Firefox the modules seamlessly shift to keep working. There are still some cases where that might be impossible (when a core feature is dropped from Firefox for example) but hopefully those should be rare.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;To take advantage of these benefits add-ons have to be repacked with a recent version of the SDK. We’re &lt;a href=&#34;https://groups.google.com/d/msg/mozilla-labs-jetpack/-nxopO-_gVI/MxZHoOv0ddIJ&#34;&gt;working on a plan&lt;/a&gt; to do that automatically for existing add-ons where possible but developers who want to get the benefits right now can just repack their add-ons themselves using SDK 1.14 and using &lt;code&gt;cfx xpi --strip-sdk&lt;/code&gt;, or using the next release of the SDK, 1.15 which will do that by default.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Afterburner steak rub</title>
      <link>https://www.oxymoronical.com/blog/2013/04/afterburner-steak-rub/</link>
      <pubDate>Sun, 14 Apr 2013 16:45:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/04/afterburner-steak-rub/</guid>
      <description>&lt;p&gt;This is a recipe for a steak rub that I made up last night. It came out pretty well and everyone enjoyed it. It slightly caramelises the surface of the steak infusing it with herby goodness and after you enjoy that flavour a nice kick of heat comes in the after taste.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1/4 handful fresh sage, finely chopped&lt;/li&gt;&#xA;&lt;li&gt;1/2 handful fresh thyme, finely chopped&lt;/li&gt;&#xA;&lt;li&gt;1 handful fresh parsley, finely chopped&lt;/li&gt;&#xA;&lt;li&gt;2 tsp salt&lt;/li&gt;&#xA;&lt;li&gt;1 tbsp brown sugar&lt;/li&gt;&#xA;&lt;li&gt;2 tsp black pepper&lt;/li&gt;&#xA;&lt;li&gt;1 tsp cayenne pepper&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Mix it all together in a bowl, rinse off your steaks and apply liberally to each side about half an hour before you plan to start cooking. These quantities should make enough for 4 small steaks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get notifications about changes to any directory in mercurial</title>
      <link>https://www.oxymoronical.com/blog/2013/04/Get-notifications-about-changes-to-any-directory-in-mercurial/</link>
      <pubDate>Fri, 05 Apr 2013 14:36:32 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/04/Get-notifications-about-changes-to-any-directory-in-mercurial/</guid>
      <description>&lt;p&gt;Back in the old days when we used CVS of all things for our version control we had a wonderful tool called &lt;a href=&#34;http://bonsai.mozilla.org/&#34;&gt;bonsai&lt;/a&gt; to help query the repository for changes. You could list changes on a per directory basis if you needed which was great for keeping an eye on certain chunks of code. I recall there being a way of getting an RSS feed from it and I used it when I was the module owner of the extension manager to see what changes were landed that I hadn’t noticed in bugs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hacking on Tilt</title>
      <link>https://www.oxymoronical.com/blog/2013/03/hacking-on-tilt/</link>
      <pubDate>Mon, 18 Mar 2013 18:38:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/03/hacking-on-tilt/</guid>
      <description>&lt;p&gt;Tilt, or 3D view as it is known in Firefox, is an awesome visual tool that really lets you see the structure of a webpage. It shows you just how deep your tag hierarchy goes which might give signs of your page being too complex or even help you spot errors in your markup that you wouldn’t otherwise notice. But what if it could do more? What if there were different ways to visualise the same page? What if even web developers could create their own visualisations?&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Add-on SDK is now in Firefox</title>
      <link>https://www.oxymoronical.com/blog/2013/02/The-Add-on-SDK-is-now-in-Firefox/</link>
      <pubDate>Fri, 01 Feb 2013 22:06:43 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/02/The-Add-on-SDK-is-now-in-Firefox/</guid>
      <description>&lt;p&gt;We’re now a big step closer to shipping the SDK APIs with Firefox and other apps, we’ve uplifted the SDK code from our git repository to &lt;code&gt;mozilla-inbound&lt;/code&gt; and assuming it sticks we will be on the trains for releasing. We’ll be doing weekly uplifts to keep the code in &lt;code&gt;mozilla-central&lt;/code&gt; current.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-changed&#34;&gt;What’s changed?&lt;/h2&gt;&#xA;&lt;p&gt;Not a lot yet. Existing add-ons and add-ons built with the current version of the SDK still use their own versions of the APIs from their XPIs. Add-ons built with the next version of the SDK may start to try to use the APIs in Firefox in preference to those shipped with the XPI and then a future version will only use those in Firefox. We’re also talking about the possibility of making Firefox override the APIs in any SDK based add-on and use the shipped ones automatically so the add-on author wouldn’t need to do anything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pop-free sound from a Raspberry Pi running XBMC</title>
      <link>https://www.oxymoronical.com/blog/2013/01/pop-free-sound-from-a-raspberry-pi-running-xbmc/</link>
      <pubDate>Thu, 10 Jan 2013 21:10:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2013/01/pop-free-sound-from-a-raspberry-pi-running-xbmc/</guid>
      <description>&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: I’ll leave this around for posterity but a large part of this problem has now been fixed in the latest Raspberry Pi firmware. See &lt;a href=&#34;http://forum.stmlabs.com/showthread.php?tid=4573&amp;amp;pid=59568#pid59568&#34;&gt;here&lt;/a&gt; for instructions for raspbmc until that gets updated.&lt;/p&gt;&#xA;&lt;p&gt;I’ve been in the process of setting up a &lt;a href=&#34;http://www.raspberrypi.org/&#34;&gt;Raspberry Pi&lt;/a&gt; in my office so I can play my mp3 collection through my old stereo. It’s generally gone well and I have to take my hat off to the developers of &lt;a href=&#34;http://www.raspbmc.com/&#34;&gt;Raspbmc&lt;/a&gt; which makes setting up &lt;a href=&#34;http://xbmc.org/&#34;&gt;XBMC&lt;/a&gt; on the Pi ridiculously easy and fast. It didn’t take me long to have Airplay set up and running as well as being able to use my phone to remote control XBMC to play things direct from my music library sitting on my &lt;a href=&#34;http://www.synology.com/&#34;&gt;Synology NAS&lt;/a&gt;. Quite a nice setup really.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making Git play nice on Windows</title>
      <link>https://www.oxymoronical.com/blog/2012/12/Making-Git-play-nice-on-Windows/</link>
      <pubDate>Fri, 28 Dec 2012 17:57:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/12/Making-Git-play-nice-on-Windows/</guid>
      <description>&lt;p&gt;A while ago now I switched to Windows on my primary development machine. It’s pretty frustrating particularly when it comes to command line support but &lt;a href=&#34;https://wiki.mozilla.org/MozillaBuild&#34;&gt;MozillaBuild&lt;/a&gt; goes a long way to giving me a more comfortable environment. One thing that took a long time to get working right though was full colour support from both mercurial and git. Git in particular is a problem because it uses a custom version of MSYS which seems to conflict with the stock MSYS in MozillaBuild leaving things broken if you don’t set it up just right. Since I just switched to a new machine I thought it would be useful to record how I got it working, perhaps more for my benefit than anything else, but perhaps others will find it useful too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s just put it in Toolkit!</title>
      <link>https://www.oxymoronical.com/blog/2012/11/Lets-just-put-it-in-Toolkit/</link>
      <pubDate>Fri, 23 Nov 2012 23:41:56 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/11/Lets-just-put-it-in-Toolkit/</guid>
      <description>&lt;p&gt;Toolkit is fast turning into the dumping ground of mozilla-central. Once upon a time the idea was simple. Any code that could be usefully shared across multiple applications (and in particular code that wasn’t large enough to deserve a module of its own) would end up in Toolkit. The rules were pretty simple, any code in there should work for any application that wants to use it. This didn’t always work exactly according to plan but we did our best to fix Seamonkey and Thunderbird incompatibilities as they came along.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is an API?</title>
      <link>https://www.oxymoronical.com/blog/2012/11/What-is-an-API/</link>
      <pubDate>Fri, 23 Nov 2012 19:27:02 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/11/What-is-an-API/</guid>
      <description>&lt;p&gt;I recently posted in the newsgroups about a &lt;a href=&#34;https://groups.google.com/d/topic/mozilla.dev.platform/fZV-DYnqQEc/discussion&#34;&gt;concern over super-review&lt;/a&gt;. In some cases patches that seem to meet the policy aren’t getting super-reviewed. Part of the problem here is that the policy is a little ambiguous. It says that any API or pseudo-API requires super-review but depending on how you read that section it could mean any patch that changes the signature of a JS function is classed as an API. We need to be smarter than that. Here is a straw-man proposal for defining what is an API:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is Jetpack here for?</title>
      <link>https://www.oxymoronical.com/blog/2012/10/What-is-Jetpack-here-for/</link>
      <pubDate>Fri, 26 Oct 2012 18:27:17 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/10/What-is-Jetpack-here-for/</guid>
      <description>&lt;p&gt;Who are the &lt;a href=&#34;https://wiki.mozilla.org/Labs/Jetpack&#34;&gt;Jetpack&lt;/a&gt; team? What are they here for? A lot of people in Mozilla don’t know that Jetpack still exists (or never knew it existed). Others still think of it as the original prototype which we dropped in early 2010. Our goals have changed a lot since then. Even people who think they know what we’re about might be surprised at what our current work involves.&lt;/p&gt;&#xA;&lt;p&gt;Let’s start with this basic statement:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simple image filters with getUserMedia</title>
      <link>https://www.oxymoronical.com/blog/2012/10/Simple-image-filters-with-getUserMedia/</link>
      <pubDate>Mon, 22 Oct 2012 17:44:37 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/10/Simple-image-filters-with-getUserMedia/</guid>
      <description>&lt;p&gt;I forgot to blog about this last week, but &lt;a href=&#34;https://blog.mozilla.org/dolske/2012/10/21/image-enhancement-gum/&#34;&gt;Justin&lt;/a&gt; made me remember. The WebRTC getUserMedia API is available on the Nightly and Aurora channels of Firefox right now and Tim has done a couple of &lt;a href=&#34;http://timtaubert.de/blog/2012/10/building-a-live-green-screen-with-getusermedia-and-mediastreams/&#34;&gt;great&lt;/a&gt; &lt;a href=&#34;http://timtaubert.de/blog/2012/10/getusermedia-part-2-building-an-eyetoy-like-mini-game/&#34;&gt;demos&lt;/a&gt; of using JavaScript to process the media stream. That got me interested and after a little playing around I remembered learning the basics of convolution image filters so I thought I’d give it a try. The &lt;a href=&#34;https://www.oxymoronical.com/experiments/convolution/&#34;&gt;result is a sorta ugly-looking UI&lt;/a&gt; that lets you build your own image filters to apply to the video coming off your webcam. There are a few pre-defined filter matrices there to get you started and it’s interesting to see what effects you can get. Remember that you need to enable &lt;em&gt;media.navigator.enabled&lt;/em&gt; in about:config to make it work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Six hour chilli</title>
      <link>https://www.oxymoronical.com/blog/2012/10/six-hour-chilli/</link>
      <pubDate>Mon, 08 Oct 2012 05:51:36 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/10/six-hour-chilli/</guid>
      <description>&lt;p&gt;I’ve enjoyed making and eating chilli ever since I was in university. It has a lot of appeal for your average student:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can make it in bulk and live off it for a few weeks&lt;/li&gt;&#xA;&lt;li&gt;You can make it spicy enough that you start bleeding out of your nose (and thus totally impress all your friends)&lt;/li&gt;&#xA;&lt;li&gt;It’s dead simple and really hard to screw up&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The great part is that really once you have the basic ingredients you can just go nuts, vary up the ratios, add extra bits and pieces, whatever you fancy. Eventually though I discovered that I was getting a bit too wild and really wanted to nail down a basic “good” recipe to work from. It took a couple of tries but here it is. It’ll take around six hours to cook, an extra hour for prep depending on how lazy/drunk you are.&lt;/p&gt;</description>
    </item>
    <item>
      <title>After an awesome Jetpack work week</title>
      <link>https://www.oxymoronical.com/blog/2012/09/After-an-awesome-Jetpack-work-week/</link>
      <pubDate>Tue, 04 Sep 2012 19:54:40 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/09/After-an-awesome-Jetpack-work-week/</guid>
      <description>&lt;p&gt;It’s the first day back at work after spending a great work week in London with the Jetpack team last week. I was going to write a summary of everything that went on but it turns out that Jeff &lt;a href=&#34;http://canuckistani.ca/blog/2012/09/01/jetpack-work-week/&#34;&gt;beat me to it&lt;/a&gt;. That’s probably a good thing as he’s a better writer than I so go there and read up on all the fun stuff that we got done.&lt;/p&gt;&#xA;&lt;p&gt;All I’ll add is that it was fantastic getting the whole team into a room to talk about what we’re working on and get a load of stuff done. I ran a discussion on what the goals of the Jetpack project are (I’ll follow up on this in another blog post to come later this week) and was delighted that everyone on the team is on the same page. Employing people from all around the world is one of Mozilla’s great strengths but also a potential risk. It’s vital for us to keep doing work weeks and all hands like this to make sure everyone gets to know everyone and is working together towards the same goals.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Where are we all now?</title>
      <link>https://www.oxymoronical.com/blog/2012/08/Where-are-we-all-now/</link>
      <pubDate>Fri, 31 Aug 2012 10:43:38 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/08/Where-are-we-all-now/</guid>
      <description>&lt;p&gt;Quite a while ago now I generated a map showing &lt;a href=&#34;https://www.oxymoronical.com/blog/2009/05/Where-are-we-all&#34;&gt;where all the Mozilla employees are in the world&lt;/a&gt;. A few of the new folks on my team reminded me of it and when I showed it to them they wanted to know when I was going to get around to updating it. Challenge accepted! Back then the Mozilla phone book was available as a static html page so scraping it for the locations was easy. Now the phonebook is a prettier webapp so the same technique doesn’t quite work. Instead I ended up writing a simple add-on to pull the main phonebook tree then do requests for the json data for each employee, dumping them to a file on disk. Then some manipulation of the original scripts led to great success. Click through for a full zoomable map.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing changes is the key to a project&#39;s success</title>
      <link>https://www.oxymoronical.com/blog/2012/05/Managing-changes-is-the-key-to-a-projects-success/</link>
      <pubDate>Wed, 30 May 2012 07:43:15 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/05/Managing-changes-is-the-key-to-a-projects-success/</guid>
      <description>&lt;p&gt;TomTom made an &lt;a href=&#34;http://www.tomtom.com/en_gb/licensing/newsletter/201205/didyouknow/&#34;&gt;interesting claim recently&lt;/a&gt;. Their summary is “&lt;em&gt;when it comes to automotive-grade mapping, open source has some quite serious limitations, falling short on the levels of accuracy and reliability required for safe navigation&lt;/em&gt;”&lt;/p&gt;&#xA;&lt;p&gt;This is a bold claim and they talk about recent studies that back them up. Unfortunately none of them are referenced but it’s pretty clear from the text of the article that all they are doing is comparing the accuracy of TomTom maps with existing open source maps. So they’re just generalising, this doesn’t prove a limitation with the open source process itself of course, just perhaps of a particular instance of it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I made a thing to help with GPS in Lightroom</title>
      <link>https://www.oxymoronical.com/blog/2012/03/A-made-a-thing-to-help-with-GPS-in-Lightroom/</link>
      <pubDate>Mon, 19 Mar 2012 02:14:07 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2012/03/A-made-a-thing-to-help-with-GPS-in-Lightroom/</guid>
      <description>&lt;p&gt;Yep, this post is totally not Mozilla related so I’ll keep it short, but a lot of people in Mozilla do take great photos and maybe they are stuck in my position: No actual GPS device and an compulsion to try to correctly GPS tag their vast collection. I put it off for a long while but finally this weekend wrote a Lightroom plugin to help ease a lot of the manual labour. Go &lt;a href=&#34;http://www.fractalbrew.com/2012/03/lrgeocode-a-helper-for-adding-gps-data-to-plugins/&#34;&gt;check it out&lt;/a&gt; if you’re interested. It’s even &lt;a href=&#34;https://github.com/Mossop/LRGeocode&#34;&gt;on github&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>The add-ons manager is about to get more Unfocused</title>
      <link>https://www.oxymoronical.com/blog/2011/12/The-add-ons-manager-is-about-to-get-more-Unfocused/</link>
      <pubDate>Wed, 21 Dec 2011 23:09:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/12/The-add-ons-manager-is-about-to-get-more-Unfocused/</guid>
      <description>&lt;p&gt;About three and a half years ago (I recall it happening at the 2008 summit in Whistler), &lt;a href=&#34;http://blog.mozilla.com/rstrong/&#34;&gt;Rob Strong&lt;/a&gt; handed ownership of the add-ons manager over to me. I had already been very involved in working on the module so I was really excited to have something to call my own and be responsible for. It’s been a great few years with many fun bugs and new features culminating with the complete redesign that we did for Firefox 4 and the third party blocking features in Firefox 8, but times have changed. I now have more responsibilities on my plate (like managing the awesome Add-ons SDK engineers) and to be honest I think it’s probably a bad idea to have such a fundamental feature of Firefox to be under the control of just one person for so long. So I’m delighted to say that &lt;a href=&#34;http://theunfocused.net/&#34;&gt;Blair McBride&lt;/a&gt; has agreed to take over as module owner.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Crashplan breaks xpcshell tests on Windows</title>
      <link>https://www.oxymoronical.com/blog/2011/11/how-crashplan-breaks-xpcshell-tests-on-windows/</link>
      <pubDate>Wed, 23 Nov 2011 20:15:52 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/11/how-crashplan-breaks-xpcshell-tests-on-windows/</guid>
      <description>&lt;p&gt;I recently switched to a Windows laptop and have been going through the usual teething pains related. One thing that confused me though was that when I was running xpcshell tests on my new machine they would frequently fail with access denied errors. I’ve seen this sort of thing before so I know some service was monitoring files and opening them after they had changed, when this happens they can’t be deleted or edited until the service closes them again and often tests open, close and delete files so fast that there isn’t time for that to happen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebApp Tabs, version control and GitHub</title>
      <link>https://www.oxymoronical.com/blog/2011/11/WebApp-Tabs-version-control-and-GitHub/</link>
      <pubDate>Mon, 07 Nov 2011 00:59:28 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/11/WebApp-Tabs-version-control-and-GitHub/</guid>
      <description>&lt;p&gt;The extension I’ve been working on in my spare time for the past couple of weeks is now available as a first (hopefully not too buggy) release. It lets you open WebApps in Thunderbird, properly handling loading new links into Firefox and making all features like spellchecking work in Thunderbird (most other extensions I found didn’t do this). You can read more about the actual extension at its &lt;a href=&#34;http://www.fractalbrew.com/labs/webapp-tabs/&#34; title=&#34;WebApp Tabs for Thunderbird&#34;&gt;homepage&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Overlays without overlays in restartless add-ons</title>
      <link>https://www.oxymoronical.com/blog/2011/10/Overlays-without-overlays-in-restartless-add-ons/</link>
      <pubDate>Mon, 31 Oct 2011 01:43:46 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/10/Overlays-without-overlays-in-restartless-add-ons/</guid>
      <description>&lt;p&gt;Perhaps the most common way of making changes to Firefox with an extension has always been using the overlay. For a window’s UI you can make changes to the underlying XUL document, add script elements to be executed in the context of the normal window’s code and add new stylesheets to the window to change how the UI looks.&lt;/p&gt;&#xA;&lt;p&gt;Restartless add-ons change this around completely, the normal overlay and style-overlay mechanisms just aren’t available to restartless add-ons and this is likely to remain true for a while, these methods don’t clean up after themselves when the add-on is uninstalled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Another 7 things…</title>
      <link>https://www.oxymoronical.com/blog/2011/08/another-7-things/</link>
      <pubDate>Sun, 07 Aug 2011 02:43:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/08/another-7-things/</guid>
      <description>&lt;p&gt;Thanks to &lt;a href=&#34;http://antennasoft.net/robcee/2011/08/06/tagged-7-things-redux/&#34; title=&#34;Tagged. 7 Things. Redux.&#34;&gt;robcee&lt;/a&gt; you get to learn a little more about me. Much like him I’ve done this &lt;a href=&#34;https://www.oxymoronical.com/blog/2009/01/7-things-I-know-about-me&#34; title=&#34;7 things I know about me…&#34;&gt;once before&lt;/a&gt; (perhaps it’s a sign of our age?) but it was over two years ago so let’s see if I can manage to rustle up a whole other seven things. I believe that the original meme said the facts had to be surprising things that most people didn’t know but I think I’ve used up all the surprising stuff about me already so most of this is probably common knowledge to those that follow my &lt;a href=&#34;http://twitter.com/EnglishMossop&#34; title=&#34;@EnglishMossop&#34;&gt;twitter stream&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding add-on preferences to the Add-ons Manager</title>
      <link>https://www.oxymoronical.com/blog/2011/07/Adding-add-on-preferences-to-the-Add-ons-Manager/</link>
      <pubDate>Thu, 07 Jul 2011 19:06:32 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/07/Adding-add-on-preferences-to-the-Add-ons-Manager/</guid>
      <description>&lt;p&gt;For some time now Firefox for mobile has had this nice feature where add-ons could embed their preferences right into the list of add-ons, no need to open a whole a new window like add-ons for desktop have to. During the development of Firefox 4 we were a little jealous of what the mobile team had done and so we drew up some ideas for how the same functionality would look on desktop. We didn’t get time to implement them then but I’m excited that someone from the community stepped up and implemented it for us. Not just that but he made the code shared between mobile and desktop, added some new option types and made it work fine for restartless add-ons which are unable to register their own chrome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unloading JS modules</title>
      <link>https://www.oxymoronical.com/blog/2011/07/Unloading-JS-modules/</link>
      <pubDate>Thu, 07 Jul 2011 18:26:44 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/07/Unloading-JS-modules/</guid>
      <description>&lt;p&gt;One of the problems with writing a restartless add-on is that you have to be careful about undoing anything your add-on does when it is told to shutdown. This means that right now some features of the platform can’t be used as we have no way to undo them. Recently I made this list a little shorter by making it possible to unload JS modules loaded with &lt;code&gt;Components.utils.import()&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Just call &lt;code&gt;Components.utils.unload(uri)&lt;/code&gt; and the module loaded from that URI will be unloaded. Take care when you do this because something might still have references into it which will stop working. Firefox also caches the module’s code for fast loading the next time around. The add-ons manager clears this cache when your add-on is updated or uninstalled so you mostly don’t have to worry about it but if you do something strange like unload a module, manually alter the file and then import it again you won’t get the latest code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making it easier to check that your plugins are up to date</title>
      <link>https://www.oxymoronical.com/blog/2011/07/Making-it-easier-to-check-that-your-plugins-are-up-to-date/</link>
      <pubDate>Thu, 07 Jul 2011 17:48:31 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/07/Making-it-easier-to-check-that-your-plugins-are-up-to-date/</guid>
      <description>&lt;p&gt;Keeping the software you use up to date is a crucial part of keeping yourself safe while browsing online. At Mozilla we work hard to help you get the most up to date version of Firefox and all the add-ons you have installed. For some time now security updates for Firefox have been installed without you needing to do anything. In Firefox 4 we made extension and theme updates behave similarly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why do Firefox updates break add-ons?</title>
      <link>https://www.oxymoronical.com/blog/2011/06/Why-do-Firefox-updates-break-add-ons/</link>
      <pubDate>Sat, 25 Jun 2011 00:25:22 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/06/Why-do-Firefox-updates-break-add-ons/</guid>
      <description>&lt;p&gt;Our success in switching to the new rapid release cycle for Firefox has stirred up lots of excitement in the community and I wouldn’t be surprised if that intensifies when we ship the next update to Firefox in 8 weeks time. People keep pointing out that everytime we update Firefox we break add-ons so surely faster releases means add-ons will get broken faster. Many people don’t really understand why Firefox updates should break add-ons anyway so here is my attempt at an explanation and how maybe rapid releases aren’t such a bad thing after all.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Professional photographer for a day</title>
      <link>https://www.oxymoronical.com/blog/2011/06/Professional-photographer-for-a-day/</link>
      <pubDate>Mon, 20 Jun 2011 06:25:14 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/06/Professional-photographer-for-a-day/</guid>
      <description>&lt;p&gt;A funny thing happened last weekend. I got to pretend to be a professional photographer and did a photo shoot. Ok it wasn’t highly paid (actually it wasn’t paid at all so technically I wasn’t professional!), but it was an interesting experience nonetheless.&lt;/p&gt;&#xA;&lt;p&gt;I had only just got my new camera (the Nikon D7000 for those interested) so this was my first chance to really play with it and as it happened my girlfriend needed some shots taken of t-shirts and things that her company were selling. Luckily her sister (who is ridiculously photogenic) was also in town and agreed to be a model.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating custom add-on types just got easier</title>
      <link>https://www.oxymoronical.com/blog/2011/05/Creating-custom-add-on-types-just-got-easier/</link>
      <pubDate>Wed, 25 May 2011 19:01:53 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/05/Creating-custom-add-on-types-just-got-easier/</guid>
      <description>&lt;p&gt;One of the nice features that we added to the add-ons manager in Firefox 4 was support for custom add-on types that could be treated the same way as the built-in types, even showing up in the same UI if you did a little work. I &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/07/How-to-extend-the-new-Add-ons-Manager&#34; title=&#34;How to extend the new Add-ons Manager (or how I built a simple greasemonkey clone in an evening)&#34;&gt;blogged a basic example&lt;/a&gt; of how to do this and I know since then Greasemonkey and Stylish have been using the support.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to disable extension compatibility checking on Nightly builds of Firefox</title>
      <link>https://www.oxymoronical.com/blog/2011/05/How-to-disable-extension-compatibility-checking-on-Nightly-builds-of-Firefox/</link>
      <pubDate>Tue, 24 May 2011 22:26:58 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/05/How-to-disable-extension-compatibility-checking-on-Nightly-builds-of-Firefox/</guid>
      <description>&lt;p&gt;A long long time ago (I can still remember…) we &lt;a href=&#34;https://www.oxymoronical.com/blog/2009/11/Changing-the-checkCompatibility-preference&#34; title=&#34;Changing the checkCompatibility preference&#34;&gt;changed the preference&lt;/a&gt; you use to disable compatibility checking for extensions. We still aim for users to instead use tools like the Add-on Compatibility Reporter to handle this (especially since we are going to start crowdsourcing data from it), but for developers who don’t want to install that but still want to use extensions on their nightly builds the new rapid release model would mean setting a new preference every 6 weeks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Do I need a new camera?</title>
      <link>https://www.oxymoronical.com/blog/2011/05/Do-I-need-a-new-camera/</link>
      <pubDate>Sun, 15 May 2011 21:53:49 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/05/Do-I-need-a-new-camera/</guid>
      <description>&lt;p&gt;It’s been about a year since I last went through this. The result of my &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/04/Time-for-a-new-Camera&#34; title=&#34;Time for a new Camera&#34;&gt;last plea for help&lt;/a&gt; was a number of recommendations and I ended up buying the excellent Canon Powershot S90. It really is a great point and shoot and I think pretty much exactly what I needed at the time to help me learn a little more about photography. I always figured it would be good test to be able to play with and figure out whether I eventually needed to move onto something more. I guess the main thing that disappoints me a little about the S90 is its slow speed, it can only take about a shot a second in RAW. I often could do with something faster. Also while its low-light performance is better than anything I’ve ever used before it still isn’t as good as I’d like. I could certainly do with a longer optical zoom but that’d have to be combined with something that used faster shutter speeds I guess.&lt;/p&gt;</description>
    </item>
    <item>
      <title>6 years ago…</title>
      <link>https://www.oxymoronical.com/blog/2011/04/6-years-ago/</link>
      <pubDate>Sat, 30 Apr 2011 09:00:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/04/6-years-ago/</guid>
      <description>&lt;p&gt;We were amusing ourselves on IRC yesterday by showing each other the first patches we ever submitted to Mozilla and I suddenly noticed that mine was exactly 6 years ago from today. It was the ridiculously trivial &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=292411&#34; title=&#34;Bug 292411 - View Saved Passwords list is blank with animateFadeIn set to true&#34;&gt;bug 292411&lt;/a&gt;, nothing more than a typo correction really. I can remember being quite excited that I had found a bug I could fix and rushing to get it submitted before anyone else. Of course in those days there were no real automated tests so it was a pretty simple process and within a day my patch was reviewed and landed for Firefox 1.5.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Fennec for Android from OSX</title>
      <link>https://www.oxymoronical.com/blog/2011/03/Building-Fennec-for-Android-from-OSX/</link>
      <pubDate>Sun, 13 Mar 2011 18:38:58 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/03/Building-Fennec-for-Android-from-OSX/</guid>
      <description>&lt;p&gt;I had some free time yesterday so I thought I’d try to dabble in building Fennec with some debugging to figure out why it &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=636042&#34; title=&#34;Bug 636046: All fonts are serif&#34;&gt;looks like ass&lt;/a&gt; on my phone. I’ve played with building Fennec a few times before and like everytime before the first thing I needed to do was fix the problems in the build system that breaks building for Android from OSX. Everyone else uses a Linux host it seems. This time there were only two bugs to be found and on the off chance anyone else is trying to do this I thought I’d link to them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s next for the Add-ons Manager?</title>
      <link>https://www.oxymoronical.com/blog/2011/03/Whats-next-for-the-Add-ons-Manager/</link>
      <pubDate>Tue, 08 Mar 2011 22:52:14 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/03/Whats-next-for-the-Add-ons-Manager/</guid>
      <description>&lt;p&gt;Firefox 4 is just around the corner and it’s great to look back over just how far the Add-ons Manager has come since Firefox 3.6. In fact if you want to see the full history look at my earlier post that shows its &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/07/History-of-the-Add-ons-Manager&#34; title=&#34;History of the Add-ons Manager&#34;&gt;evolution since Phoenix 0.2&lt;/a&gt;. We set out with some pretty lofty goals for Firefox 4 and I’m pretty excited at just how many of them we achieved. I hope everyone appreciates the hard work that &lt;a href=&#34;http://theunfocused.net/&#34;&gt;Blair&lt;/a&gt;, &lt;a href=&#34;http://jboriss.wordpress.com/&#34;&gt;Boriss&lt;/a&gt;, &lt;a href=&#34;http://blog.fligtar.com/&#34;&gt;Justin&lt;/a&gt;, &lt;a href=&#34;http://www.hskupin.info/&#34;&gt;Henrik&lt;/a&gt;, Ben, myself and all the others put in to get us to where we are today.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Playing with windows in restartless (bootstrapped) extensions</title>
      <link>https://www.oxymoronical.com/blog/2011/01/Playing-with-windows-in-restartless-bootstrapped-extensions/</link>
      <pubDate>Wed, 19 Jan 2011 20:14:27 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/01/Playing-with-windows-in-restartless-bootstrapped-extensions/</guid>
      <description>&lt;p&gt;Lots of people seem to be &lt;a href=&#34;http://starkravingfinkle.org/blog/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/&#34;&gt;playing&lt;/a&gt; with the new support for restartless extensions (also known as bootstrapped extensions) coming in Firefox 4. Nothing could make me happier really. I’m not sure I can remember ever helping implement something which is will hopefully turn out to be a game changer for extension development in the future. The technical details of restartless extensions are &lt;a href=&#34;https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions&#34;&gt;talked about&lt;/a&gt; in a &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/07/How-to-extend-the-new-Add-ons-Manager&#34;&gt;few places&lt;/a&gt; but one thing that is missing is what I think is probably going to be the most common code pattern in these extensions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sad news today</title>
      <link>https://www.oxymoronical.com/blog/2011/01/sad-news-today/</link>
      <pubDate>Thu, 06 Jan 2011 04:53:44 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/01/sad-news-today/</guid>
      <description>&lt;p&gt;As I &lt;a href=&#34;https://www.oxymoronical.com/blog/2011/01/Kontemplating-Kitteh-Katastrophe&#34;&gt;blogged yesterday&lt;/a&gt;, today Ripley got a CT scan and biopsy of the mass that is growing in her left shoulder. The biopsy results won’t be back for a few days but the CT results were really all that were needed to confirm our worst fears. Ripley has cancer and it’s large and aggressive.&lt;/p&gt;&#xA;&lt;p&gt;We got to look at the CT scan and it was frankly terrifying how large this thing is. In certain cross sections it looked to be taking up a full third of her body and it curves all down her left side and up over the top of her spine. It was taking up the contrast solution they inject which means blood is running through it. This both increases the odds of it spreading and makes it much more difficult to remove. In short, there is basically nothing we can do at this point.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kontemplating Kitteh Katastrophe</title>
      <link>https://www.oxymoronical.com/blog/2011/01/kontemplating-kitteh-katastrophe/</link>
      <pubDate>Wed, 05 Jan 2011 07:37:26 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/01/kontemplating-kitteh-katastrophe/</guid>
      <description>&lt;p&gt;Well that’s certainly a nicer way of saying that you’re trying to work out just how to decide how much money and trauma it is worth putting your cat through to keep her alive.&lt;/p&gt;&#xA;&lt;p&gt;Just before we flew home for Christmas (yes, &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/12/British-Airways-ruined-my-Christmas&#34;&gt;that flight&lt;/a&gt;) we spotted a small lump on Ripley’s left shoulder. We rushed her to the vet’s fearing the worst but they allayed our fears, finding it was just a blood filled space, likely the result of a trauma (though what we couldn’t fathom) and blood tests showed no irregularities. They said it should shrink over the course of a few weeks. We had to put her up at the boarders while we were travelling of course but we managed to put it out of our minds and have a good trip with family.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shooting fireworks on New Year&#39;s Eve</title>
      <link>https://www.oxymoronical.com/blog/2011/01/Shooting-fireworks-on-New-Years-Eve/</link>
      <pubDate>Sun, 02 Jan 2011 03:55:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2011/01/Shooting-fireworks-on-New-Years-Eve/</guid>
      <description>&lt;p&gt;There are many blog posts on the subject of how to best set up your camera to shoot fireworks but I was so surprised at just how well it worked out for me that I thought I’d add mine to the pile. Also I wanted to make sure I remembered what I did right and wrong here for next time I try. You’re going to need three things really:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A camera that is up to the job. Perhaps surprisingly you don’t need a full SLR for this, but you do need something that will let you manually adjust the aperture, ISO and exposure times. Shooting in RAW is vastly preferably. I was using a Canon Powershot S90.&lt;/li&gt;&#xA;&lt;li&gt;A basic tripod. Exposure times will need to be long so you won’t be able to manually hold it steady and you’re shooting upwards so not much other than a tripod will do the job.&lt;/li&gt;&#xA;&lt;li&gt;Lots of luck. How much really depends on the fireworks display. The longer it is the more time you’ll have to refine your timing and aim. In my case our display was at home one with just 4 fireworks going off, ridiculously I managed to get the setup pretty much right first time.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The basic setup is straightforward. You want a small aperture, apparently somewhere in the range of f/8 to f/16 is golden, my camera limits at f/8 though so that is what I used. You want a fairly low ISO value too, I shot at 100. In an ideal world you’ll want a camera where you can manually hold the shutter open for however long it takes the firework to fire off. I didn’t have that though so instead I just manually set an exposure of 10 seconds which I figured was a long enough to capture a full rocket. Then set up on the tripod, point in the direction you think the firework will go and hope. Remember that fireworks go quite far and your camera will probably capture a decent area of the sky so chances are you’ll get it in frame, whether it is way off to one side is pretty much luck the first time though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>British Airways ruined my Christmas</title>
      <link>https://www.oxymoronical.com/blog/2010/12/british-airways-ruined-my-christmas/</link>
      <pubDate>Thu, 23 Dec 2010 00:29:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/12/british-airways-ruined-my-christmas/</guid>
      <description>&lt;p&gt;To be clear I don’t blame BA for having to cancel flights into Heathrow when the airport cannot run at full capacity. That is certainly not their fault, you can’t change the weather (though you could buy more snowploughs!). What annoys me is their incompetent response to the situation and then their attempts at being nice with fakey emails from the CEO.&lt;/p&gt;&#xA;&lt;p&gt;I wanted to go and see my family for Christmas this year. We were booked on a direct flight from San Francisco to Heathrow that was due to leave about 4 hours from now but due to the snowstorms in the UK it has been cancelled. The first we heard about it was an email from my dad at 9:30am yesterday morning, he had been keeping track of the flight status better than us. I don’t understand this. They have my contact details so why wasn’t I the first to hear about the cancellation the moment it went up onto the website. In fact I finally got an email from BA about it at 3pm, at least five and a half hours after it went onto the website. The email contained this boldfaced lie:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox 4 and the Add-ons Manager at Add-on-Con</title>
      <link>https://www.oxymoronical.com/blog/2010/12/Firefox-4-and-the-Add-ons-Manager-at-Add-on-Con/</link>
      <pubDate>Fri, 10 Dec 2010 04:52:05 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/12/Firefox-4-and-the-Add-ons-Manager-at-Add-on-Con/</guid>
      <description>&lt;p&gt;As I &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/12/Add-on-Con-is-here&#34;&gt;mentioned before&lt;/a&gt; I was part of a presentation at Add-on-Con this year. Myself, &lt;a href=&#34;http://jboriss.wordpress.com/&#34;&gt;Boriss&lt;/a&gt; and &lt;a href=&#34;http://blog.fligtar.com/&#34;&gt;Justin&lt;/a&gt; talked about the new UI changes in Firefox 4 and about the main changes to the add-ons manager. If you’re particularly interested the &lt;a href=&#34;Firefox_4_Add_ons.pdf&#34;&gt;slides are available here&lt;/a&gt; though I guess slides are often just tiny snippets of info from the actual session so if anything catches your eye you’ll need to get in touch and ask us about it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on-Con is here!</title>
      <link>https://www.oxymoronical.com/blog/2010/12/Add-on-Con-is-here/</link>
      <pubDate>Fri, 03 Dec 2010 22:32:06 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/12/Add-on-Con-is-here/</guid>
      <description>&lt;p&gt;Next week is &lt;a href=&#34;http://addoncon.com/&#34;&gt;Add-on-Con 2010&lt;/a&gt; and if you do any work in the add-ons space then you’re probably going to want to take a look at what is going on and hopefully sign up to attend. There are two days this year, one for some training and then the traditional day for keynotes and business/development tracks. I’ll be there for all of the main day and while I don’t think I am going to make the training day I should be there in the evening for the &lt;a href=&#34;http://www.meetup.com/addons/calendar/15494798/&#34;&gt;Mozilla party&lt;/a&gt;, be sure to sign up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Minor change coming to the interface amIWebInstallListener in Firefox 4.0 beta 8</title>
      <link>https://www.oxymoronical.com/blog/2010/11/Minor-change-coming-to-the-interface-amIWebInstallListener-in-Firefox-40-beta-8/</link>
      <pubDate>Thu, 25 Nov 2010 00:27:48 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/11/Minor-change-coming-to-the-interface-amIWebInstallListener-in-Firefox-40-beta-8/</guid>
      <description>&lt;p&gt;We’re past API freeze so any API changes should be getting announced and communicated. In this case the change is tiny and unlikely to affect anyone. Have you heard of the interface amIWebInstallListener? If not then you can probably ignore this.&lt;/p&gt;&#xA;&lt;p&gt;If you’re interested it is effectively what the add-ons manager backend code uses to communicate messages about webpage initiated add-on installations. An add-on or application might provide its own implementation if it wanted to provide its own UI for installs. Or an add-on might call it to get the normal UI to show up for some other cases but this is pretty rare.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beating Bootcamp</title>
      <link>https://www.oxymoronical.com/blog/2010/10/beating-bootcamp/</link>
      <pubDate>Sun, 24 Oct 2010 20:44:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/10/beating-bootcamp/</guid>
      <description>&lt;p&gt;I had a plan to go back to doing some more traditional Fractal work this weekend, unfortunately the best tools out there (&lt;a href=&#34;http://www.ultrafractal.com/&#34;&gt;UltraFractal&lt;/a&gt; is a fine example) tend to be on Windows and all my machines are Macs right now. So I figured it would be a simple task to use &lt;a href=&#34;http://www.apple.com/support/bootcamp/&#34;&gt;Bootcamp&lt;/a&gt; to install Windows onto my laptop, but like much else that I’ve tried to do these past few weeks it turned into a bit of a nightmare so I figured I’d document how I managed it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nightly Tester Tools is being brought back to life</title>
      <link>https://www.oxymoronical.com/blog/2010/10/Nightly-Tester-Tools-is-being-brought-back-to-life/</link>
      <pubDate>Mon, 18 Oct 2010 21:14:35 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/10/Nightly-Tester-Tools-is-being-brought-back-to-life/</guid>
      <description>&lt;p&gt;After my &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/05/Where-is-the-updated-Nightly-Tester-Tools&#34;&gt;last post&lt;/a&gt; about how I no longer have the time to maintain &lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;Nightly Tester Tools&lt;/a&gt; I am happy to say that someone has stepped forward to take over development and maintenance. I’m even more happy that it is one of the Mozilla teams so finally NTT is going to be officially owned and supported by Mozilla.&lt;/p&gt;&#xA;&lt;p&gt;I sat down with them last week to talk over what I saw as the key goals of NTT and some ideas I had had suggested to me for the future but they also want to hear from you so &lt;a href=&#34;http://harthur.wordpress.com/2010/10/18/nightly-tester-tools-resurrection/&#34;&gt;go and read about their plans&lt;/a&gt; and give them your thoughts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PreFox is now available for testing</title>
      <link>https://www.oxymoronical.com/blog/2010/09/PreFox-is-now-available-for-testing/</link>
      <pubDate>Sun, 19 Sep 2010 04:30:02 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/09/PreFox-is-now-available-for-testing/</guid>
      <description>&lt;p&gt;I’ve finally been able to make some early alpha builds of PreFox, which is clearly a rather unoriginal name for Firefox running on the Palm Pre, available for testing. You can read more and find the builds at the &lt;a href=&#34;http://bit.ly/dvmGJM&#34;&gt;release announcement&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This has been a long time coming, made that much longer by Sprint delaying the release of webOS 1.4.5 and of course Firefox 4 blockers eating into my spare time, I’m hopeful that now both builds and the source code are available some people will start to help out with getting it to be a viable alternative to the default webOS browser. Lots of the remaining work is stuff that is really outside my skill-set.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t miss an exciting opportunity to shape the future of Firefox 4!</title>
      <link>https://www.oxymoronical.com/blog/2010/09/Dont-miss-an-exciting-opportunity-to-shape-the-future-of-Firefox-4/</link>
      <pubDate>Wed, 01 Sep 2010 23:31:11 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/09/Dont-miss-an-exciting-opportunity-to-shape-the-future-of-Firefox-4/</guid>
      <description>&lt;p&gt;You might have heard of this web-browser. It’s called Firefox. You may have also heard that a new version is due out soon. As my part in its development I have helped completely reshape the way the add-ons manager looks. The good news is that the large bits of the changes are pretty much done, pretty much all that is left is a bunch of UI tweaks and some small behaviour changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jonathan Coulton is Awesome</title>
      <link>https://www.oxymoronical.com/blog/2010/07/jonathan-coulton-is-awesome/</link>
      <pubDate>Sun, 18 Jul 2010 07:17:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/07/jonathan-coulton-is-awesome/</guid>
      <description>&lt;p&gt;I love fractals and I think Jonathan Coulton is great, so I think that this is really really awesome. I couldn’t stop laughing when I watched it.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/lIlwFpz9s_I?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;</description>
    </item>
    <item>
      <title>How to extend the new Add-ons Manager (or how I built a simple greasemonkey clone in an evening)</title>
      <link>https://www.oxymoronical.com/blog/2010/07/How-to-extend-the-new-Add-ons-Manager/</link>
      <pubDate>Fri, 09 Jul 2010 22:30:56 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/07/How-to-extend-the-new-Add-ons-Manager/</guid>
      <description>&lt;p&gt;One of the goals of the new add-ons manager API was to create something that was itself extensible. A couple of times in the past we’ve had to add new types of add-ons to the UI like Plugins and Personas. In both cases squeezing them into the UI was something of a kludge involving a bunch of custom code for each case. We already have a number of new types of add-ons that we want to add, things like search plugins which are currently managed by their own custom UI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing the new Add-ons Manager</title>
      <link>https://www.oxymoronical.com/blog/2010/07/Introducing-the-new-Add-ons-Manager/</link>
      <pubDate>Wed, 07 Jul 2010 00:51:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/07/Introducing-the-new-Add-ons-Manager/</guid>
      <description>&lt;p&gt;Add-ons have really been an integral part of Firefox ever since before its first release. In fact Firefox has had an add-ons manager of some form since version 0.2 (which was at that time called Phoenix). Firefox 4 will include a completely redesigned add-ons manager and while many nightly testers will have already seen our work, now the beta release is out I wanted to talk about some of the new features it includes. If you’re interested I’m also writing a companion piece that talks about the &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/07/History-of-the-Add-ons-Manager&#34;&gt;history of the add-ons manager&lt;/a&gt; from its first appearance through to what the future may bring.&lt;/p&gt;</description>
    </item>
    <item>
      <title>History of the Add-ons Manager</title>
      <link>https://www.oxymoronical.com/blog/2010/07/History-of-the-Add-ons-Manager/</link>
      <pubDate>Wed, 07 Jul 2010 00:51:36 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/07/History-of-the-Add-ons-Manager/</guid>
      <description>&lt;p&gt;With all of the work that has gone into the new add-ons manager for Firefox 4 I thought it would be interesting to take a quick look back at the history of this part of Firefox and a quick look at what the future may hold.&lt;/p&gt;&#xA;&lt;h3 id=&#34;phoenix-02&#34;&gt;Phoenix 0.2&lt;/h3&gt;&#xA;&lt;p&gt;Even in the earliest versions of Firefox, extensions were supported using the old XPInstall style packages. These had some pretty fundamental problems though in that there was no built in support for uninstalling extensions nor any way to disable them. There wasn’t even an extension manager window to see what you had installed at first. The very first time that a list of extensions and themes appeared in Firefox was way back in version 0.2, back when the product was called Phoenix. It was a very basic user interface and appeared inside the preferences window.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting the World on Fire</title>
      <link>https://www.oxymoronical.com/blog/2010/06/Setting-the-World-on-Fire/</link>
      <pubDate>Wed, 30 Jun 2010 01:21:31 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/06/Setting-the-World-on-Fire/</guid>
      <description>&lt;p&gt;This isn’t normally something I’d syndicate to planet, but it has a certain relevance to Firefox so I thought I’d make an exception here. Feel free to skip by if you want more of the usual fare.&lt;/p&gt;&#xA;&lt;p&gt;Those of you that have been within a few meters of my laptop or desk or even delved into my website a little may have noticed that I a certain fondness for fractal images. I find them to be extremely beautiful and I’m constantly amazed at what you can generate with what is essentially some numbers and mathematical equations. I’m even more amazed that I can actually generate pieces that look pretty good (IMHO) myself so I’m always happy when others tell me that they like my work. This happened a short time ago when I was asked to create some new art work for Mozilla’s Mountain View office. Apparently my work was selected by the architect and others out of a selection of examples from me and some professional artists.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multiple breaking changes are coming for components in extensions</title>
      <link>https://www.oxymoronical.com/blog/2010/06/Multiple-breaking-changes-are-coming-for-components-in-extensions/</link>
      <pubDate>Mon, 14 Jun 2010 23:45:50 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/06/Multiple-breaking-changes-are-coming-for-components-in-extensions/</guid>
      <description>&lt;p&gt;Are you an extension or application developer? Have you written any XPCOM components, JS, binary or otherwise? If not you can probably ignore the rest of this post, unless you are interested anyway.&lt;/p&gt;&#xA;&lt;p&gt;If you do then you might be interested to hear that your components are probably going to break in an upcoming Firefox nightly, maybe as early as next week. I’m going to blog specific examples on the changes you need to make once we have better documentation up and builds to test against, for now it is just important for you to know that the changes are coming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Documenting the new Add-ons Manager</title>
      <link>https://www.oxymoronical.com/blog/2010/06/Documenting-the-new-Add-ons-Manager/</link>
      <pubDate>Fri, 04 Jun 2010 16:35:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/06/Documenting-the-new-Add-ons-Manager/</guid>
      <description>&lt;p&gt;I’ve spent some time this week transferring all the API documentation for the new add-ons manager from the Mozilla wiki to the Mozilla Developer Network. This should now be the place to go for the &lt;a href=&#34;https://developer.mozilla.org/en/Addons/Add-on_Manager&#34;&gt;definitive info&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Right now it is pretty dry, for the most part just pure API info with no examples. Before I started working more on that side of things I wanted to ask what kind of examples people might like to see documented?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Support for dropping XPI files into the extension install locations might be going away</title>
      <link>https://www.oxymoronical.com/blog/2010/05/Support-for-dropping-XPI-files-into-the-extension-install-locations/</link>
      <pubDate>Thu, 27 May 2010 23:22:05 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/05/Support-for-dropping-XPI-files-into-the-extension-install-locations/</guid>
      <description>&lt;p&gt;For some time now Firefox has supported a way of installing extensions that involves simply copying the extension’s XPI file into one of the &lt;a href=&#34;https://developer.mozilla.org/En/Installing_extensions&#34;&gt;extension install locations&lt;/a&gt;. The next time Firefox runs it would pop up the install dialog for the extension and allow the user to choose whether to install it or not.&lt;/p&gt;&#xA;&lt;p&gt;I don’t know how many people use this feature and while the code to do it (at least for the profile folder) isn’t terribly complex, it is additional code that may not be necessary. Right now the new add-ons manager doesn’t support it and I’ve heard only a couple of people comment on its absence but nightly testers are by no means representational so I’m asking a little more widely whether people have a real need for keeping this working in Firefox 4?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Where is the updated Nightly Tester Tools?</title>
      <link>https://www.oxymoronical.com/blog/2010/05/Where-is-the-updated-Nightly-Tester-Tools/</link>
      <pubDate>Mon, 17 May 2010 02:39:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/05/Where-is-the-updated-Nightly-Tester-Tools/</guid>
      <description>&lt;p&gt;Many of you nightly testers may have noticed that Nightly Tester Tools’ compatibility override feature doesn’t work with the new add-ons manager and may be wondering when I’m planning to issue an update to fix that. The more astute of you may have noticed that there hasn’t actually been a real code update to Nightly Tester Tools in 2 years, barring a couple of simple app compatibility fixes. Those with a sharp memory will remember that I said &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/08/Throwing-in-the-Towel&#34;&gt;just under 2 years ago&lt;/a&gt; that I was ceasing work on my extensions in my spare time. I suggested that Nightly Tester Tools might still receive the odd update but obviously that hasn’t happened and the truth is that I can’t see it happening anytime soon. I’m too busy with that whole real life thing to even be able to work on projects I do enjoy, let alone maintain old stuff that no longer really interests me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-ons manager re-landed</title>
      <link>https://www.oxymoronical.com/blog/2010/05/Add-ons-manager-re-landed/</link>
      <pubDate>Mon, 10 May 2010 23:36:46 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/05/Add-ons-manager-re-landed/</guid>
      <description>&lt;p&gt;A little sort of coincidental performance regression forced us to back out the new add-ons manager last week. It has now been re-landed with added bug fixes and should be in tomorrow’s nightly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The new add-ons manager is here</title>
      <link>https://www.oxymoronical.com/blog/2010/04/The-new-add-ons-manager-is-here/</link>
      <pubDate>Thu, 29 Apr 2010 19:34:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/04/The-new-add-ons-manager-is-here/</guid>
      <description>&lt;p&gt;Finally, after far too much time, the new add-ons manager is about to land in trunk nightlies. I am putting together the final patches to land now. The bit most people will see is the new UI so I guess I’ll steal &lt;a href=&#34;http://jboriss.wordpress.com/2010/04/01/add-ons-manager-redesign-update/&#34;&gt;Boriss’&lt;/a&gt; image for you to look at here with the same caveats. What you see on trunk over the next few days is just the initial steps to switching to a redesigned UI and (more importantly from my point of view) a totally new extension manager backend that will make it easier for us to improve and build upon in the future. The changes are so large that it is important to get more people testing it now while it still looks fairly unpolished so we can pick up problems that we’ve missed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Time for a new Camera</title>
      <link>https://www.oxymoronical.com/blog/2010/04/Time-for-a-new-Camera/</link>
      <pubDate>Sun, 25 Apr 2010 04:54:19 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/04/Time-for-a-new-Camera/</guid>
      <description>&lt;p&gt;I’ve never been terribly impressed with my current digital camera. It’s an Olympus FE-280 that I bought on the spur of the moment in Boston a few years ago when my previous camera decided it didn’t want to stay charged any longer. Feature-wise the Olympus probably has almost everything I want, but its menu system is so convoluted that I can never find how to enable the things I’m after in a reasonable amount of time. In the past few years it has slowly developed some bad pixels (both on the view screen itself and on the CCD cell and now the battery charger is starting to flash ominously suggesting that the battery is about to go to a better place so I think it is about time to start looking for a replacement and this time I want to do some research.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Myths and mysconceptions about Firefox on the Palm Pre</title>
      <link>https://www.oxymoronical.com/blog/2010/04/Myths-and-mysconceptions-about-Firefox-on-the-Palm-Pre/</link>
      <pubDate>Wed, 21 Apr 2010 18:09:49 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/04/Myths-and-mysconceptions-about-Firefox-on-the-Palm-Pre/</guid>
      <description>&lt;p&gt;Since I posted &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/04/Firefox-running-on-the-Palm-Pre-mostly&#34;&gt;last week&lt;/a&gt; about how I was experimenting with running Firefox on my Palm Pre a number of tech news sites, large and small, picked it up and posted their own take on it. Some of the sites (and some of the readers of those sites) made some fairly odd statements about my work. This is probably because to the uninitiated (and many of the initiated in fact) the internals of Firefox are something of a mystery. I also suspect I made a couple of poor choices of words which led to some misunderstandings so I’d like to try to clarify a couple of points that might make it easier to understand what is going on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox running on the Palm Pre (mostly)</title>
      <link>https://www.oxymoronical.com/blog/2010/04/Firefox-running-on-the-Palm-Pre-mostly/</link>
      <pubDate>Mon, 12 Apr 2010 23:02:56 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/04/Firefox-running-on-the-Palm-Pre-mostly/</guid>
      <description>&lt;p&gt;One of the first things I did when I moved to the U.S. was to get myself a smartphone, and that phone was the Palm Pre. I’ve always thought it was way ahead of its competition in terms of the potential of its potential capabilities and platform. Sadly I think it is let down some by build quality and hardware issues, but I still love it as a phone and really hope that if Palm get bought they’ll continue work on it and develop a better 2nd gen version.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How do restartless add-ons work?</title>
      <link>https://www.oxymoronical.com/blog/2010/04/How-do-restartless-add-ons-work/</link>
      <pubDate>Mon, 12 Apr 2010 21:41:48 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/04/How-do-restartless-add-ons-work/</guid>
      <description>&lt;p&gt;I &lt;a href=&#34;https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts&#34;&gt;blogged a short time ago&lt;/a&gt; about how we’re adding support for a new form of add-on to Firefox that can install and uninstall without needing to restart the application. Since then I’ve been finalizing a specification for how the platform will load these add-ons, trying to keep it simple but still give developers everything they commonly need. The &lt;a href=&#34;https://wiki.mozilla.org/Extension_Manager:Bootstrapped_Extensions&#34;&gt;planned specification is now available&lt;/a&gt; and if developers have comments then I’d like to hear them. Currently there isn’t a version of Firefox that implements it but that should change in the next day or so when I make the changes to the add-ons manager project branch and very soon when it all lands on trunk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How we&#39;re breaking some extensions in the near future</title>
      <link>https://www.oxymoronical.com/blog/2010/03/How-were-breaking-some-extensions-in-the-near-future/</link>
      <pubDate>Fri, 19 Mar 2010 22:09:31 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/03/How-were-breaking-some-extensions-in-the-near-future/</guid>
      <description>&lt;p&gt;You may have read some reports about how we’re re-implementing the bulk of the extension manager in Firefox. It’s been a long running project (something like a year since I first really started planning how to do it). Things are finally started to come together and all being well we are likely to look at landing the first pieces of this on the trunk nightlies in as little as a weeks time. I’ll be up front, this isn’t going to be a perfect landing. There may be some thing that are missing and other bits where the user experience isn’t as perfect as it will be finally. Of course there may also be bugs we have to rush to fix. Despite all this we feel that we’re about at the point where exposing it to the hands of thousands of nightly testers is the best way forward. Your eyes spot things that we miss, even things that may seem obvious to you and you’re vital to us getting these sorts of features polished and really just how they should be before they get released to the world at large in a Firefox release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Look Ma, no restarts!</title>
      <link>https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts/</link>
      <pubDate>Sun, 14 Mar 2010 22:05:11 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts/</guid>
      <description>&lt;figure&gt;&#xA;    &lt;a href=&#34;mac_screenshot.png&#34;&gt;&lt;img src=&#34;https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts/mac_screenshot.png&#34; srcset=&#34;https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts/mac_screenshot_hu_5fbc55e9100f8f00.png, https://www.oxymoronical.com/blog/2010/03/Look-Ma-no-restarts/mac_screenshot.png 2x&#34; style=&#34;width: 600px&#34; alt=&#34;An extension installed without restarting Firefox&#34;&gt;&#xA;    &lt;/a&gt;&lt;figcaption&gt;Look Ma, no restart!&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;This is a screenshot of some of my latest (and most exciting) work on my project to rewrite the extension manager. I’ve just implemented support for a special kind of extension that can install (and uninstall, and enable, disable, upgrade and anything else you can think of) without the user needing to restart Firefox. This is of course to allow add-ons developed on the Jetpack platform to install without restarts but the feature is going to be available to any extension author, there are just some restrictions to how these extensions work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplifying</title>
      <link>https://www.oxymoronical.com/blog/2010/03/Simplifying/</link>
      <pubDate>Sat, 13 Mar 2010 02:29:49 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/03/Simplifying/</guid>
      <description>&lt;p&gt;The big project that I have been working on for quite some time now is a complete change to the architecture of the add-ons manager backend. It’s a big scary prospect since (IMHO) the code is pretty crucial to the success of Firefox and many other Mozilla based applications. Without extensions I don’t think we’d be where we are today, in fact it was because of extensions that I got involved in the project in the first place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving do_execute_soon for xpcshell tests</title>
      <link>https://www.oxymoronical.com/blog/2010/03/Improving-do_execute_soon-for-xpcshell-tests/</link>
      <pubDate>Tue, 09 Mar 2010 19:15:16 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/03/Improving-do_execute_soon-for-xpcshell-tests/</guid>
      <description>&lt;p&gt;It struck me the other day just how much of a pain debugging asynchronous xpcshell tests is. Frequently you just see the test timeout because some code you are working on has thrown an exception, but the test harness can’t detect that and end the test, or even log the exception. Well it can now for do_execute_soon at least. I’ve landed &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=550481&#34;&gt;bug 550481&lt;/a&gt; which catches and logs any exceptions in the callback passed to do_execute_soon. As an added bonus I also removed the need to use do_test_pending/complete when purely using do_execute_soon, the harness does it automatically. There is no harm in you doing it yourself too though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Broken executables in extensions in Firefox 3.6</title>
      <link>https://www.oxymoronical.com/blog/2010/01/Broken-executables-in-extensions-in-Firefox-36/</link>
      <pubDate>Fri, 22 Jan 2010 18:09:41 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/01/Broken-executables-in-extensions-in-Firefox-36/</guid>
      <description>&lt;p&gt;If you are an extension developer and include executable files in your XPI package (binary or shell scripts) then you may be seeing problems in Firefox 3.6.&lt;/p&gt;&#xA;&lt;p&gt;Back between Firefox 3.6 beta and Firefox 3.6 RC we took a small fix to the extension manager that changed how we extract the files from the XPI package. The fix involved adjusting how we accessed files to avoid hitting problems with certain anti-virus tools that would occasionally lock files in the middle of extraction making us fail to install the add-on. A side effect to this fix leaves us setting file permissions on the extracted files in a slightly different way to previously. This side effect means that the executable permission is getting stripped from all extracted files. If you try to execute these files with &lt;code&gt;nsIProcess&lt;/code&gt; it will likely fail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Throwing xpcom docs out into the wild</title>
      <link>https://www.oxymoronical.com/blog/2010/01/Throwing-xpcom-docs-out-into-the-wild/</link>
      <pubDate>Tue, 19 Jan 2010 19:50:41 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/01/Throwing-xpcom-docs-out-into-the-wild/</guid>
      <description>&lt;p&gt;It’s been quite some time since I last worked on my prototype &lt;a href=&#34;https://www.oxymoronical.com/experiments/xpcomref/&#34;&gt;XPCOM component/interface viewer&lt;/a&gt; and I have to face facts, it’s likely to be quite some time till I do again. I haven’t even had time to update it with the data from the latest 1.9.2 and trunk interfaces. Since I’m not likely to go anywhere else with this I’d love for someone else who thinks it is worthwhile to pick it up and run with it. I’ve just done a final commit adding a &lt;a href=&#34;http://hg.oxymoronical.com/projects/ApiSlurp/file/tip/README&#34;&gt;README&lt;/a&gt; on how to use the code (though I’m sure it is lacking in key ways so be prepared to have to experiment a bit) and the full source is available in my &lt;a href=&#34;http://hg.oxymoronical.com/projects/ApiSlurp/&#34;&gt;hg repository&lt;/a&gt;. The code is MPL tri-licensed so you should just be able to fork and go do your own thing. I should be able to answer any questions and would love to see it get finished and really usable somewhere.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Do we need extension dependencies?</title>
      <link>https://www.oxymoronical.com/blog/2010/01/Do-we-need-extension-dependencies/</link>
      <pubDate>Thu, 07 Jan 2010 18:50:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2010/01/Do-we-need-extension-dependencies/</guid>
      <description>&lt;p&gt;Ever since Firefox 2 we have vaguely supported a form of extension dependency. That is marking an extension as requiring particular versions of another extension.&lt;/p&gt;&#xA;&lt;p&gt;The support is currently very limited and when a user tries to use an add-on that depends on something they don’t have they are pretty much left in the cold. While we tell them it requires something we don’t tell that what it requires or give them any easy way to download and install it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Changing the checkCompatibility preference</title>
      <link>https://www.oxymoronical.com/blog/2009/11/Changing-the-checkCompatibility-preference/</link>
      <pubDate>Fri, 06 Nov 2009 21:31:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/11/Changing-the-checkCompatibility-preference/</guid>
      <description>&lt;p&gt;Back in the mists of time I wrote some code to make nightly testers’ lives easier by giving them a simple preference to flip if they wanted to be able to install and use incompatible extensions. It’s been more than three years since then and the use of this preference has grown beyond its original use. It is now something recommended to regular users everywhere from forums to comments in news articles as a way to use their extensions in the new major Firefox releases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lightweight themes UI landed</title>
      <link>https://www.oxymoronical.com/blog/2009/09/Lightweight-themes-UI-landed/</link>
      <pubDate>Fri, 18 Sep 2009 22:11:27 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/09/Lightweight-themes-UI-landed/</guid>
      <description>&lt;p&gt;As part of the ongoing work to bring basic support for lightweight themes (based on the ideas from the &lt;a href=&#34;http://www.getpersonas.com/&#34;&gt;Personas&lt;/a&gt; extension) into Firefox 3.6 I’ve today landed the main UI parts that allow users to see and select between lightweight themes they have used recently. Dão &lt;a href=&#34;http://design-noir.de/log/2009/09/basic-support-for-lightweight-theming-landed/&#34;&gt;landed most of the backend&lt;/a&gt; last week but we’re still waiting on the support for &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=511771&#34;&gt;installing new lightweight themes&lt;/a&gt; before this feature will be truly usable in the development builds. For the time being here is a shot of what the UI looks like in the add-ons manager after you have used some lightweight themes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Third-party extension installation status</title>
      <link>https://www.oxymoronical.com/blog/2009/09/Third-party-extension-installation-status/</link>
      <pubDate>Sat, 12 Sep 2009 16:04:05 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/09/Third-party-extension-installation-status/</guid>
      <description>&lt;p&gt;I have been remiss in not posting a status update about this in two weeks, but that is mostly because we have unfortunately had to slow down work on this feature. The problem is that a string freeze became necessary for all toolkit code (the code shared with the Firefox mobile browser and where this feature would have lived). Unfortunately this all came up over a small period when I was travelling long distances and having to take time out to satisfy immigration authorities that I wasn’t a terrorist intent on bringing down the U.S. government.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Third-party add-on notification progress, the lite edition</title>
      <link>https://www.oxymoronical.com/blog/2009/08/Third-party-add-on-notification-progress-the-lite-edition/</link>
      <pubDate>Fri, 28 Aug 2009 23:36:12 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/Third-party-add-on-notification-progress-the-lite-edition/</guid>
      <description>&lt;p&gt;This week has been the Firefox work week where almost all of the team, including me, made our way to Mountain View. This pretty much means that you spend the entire week in meetings since when you’re remote it can be hard to keep in sync on everything. Of course this means that the amount of coding is pretty low for the week so there isn’t a great deal of progress to report here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Progress on notifying users about third-party add-ons</title>
      <link>https://www.oxymoronical.com/blog/2009/08/Progress-on-notifying-users-about-third-party-add-ons/</link>
      <pubDate>Fri, 21 Aug 2009 18:28:41 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/Progress-on-notifying-users-about-third-party-add-ons/</guid>
      <description>&lt;p&gt;This is a weekly status update on the feature to notify users about add-ons that third-party installers have added to Firefox. You can read more about it in last weeks &lt;a href=&#34;https://www.oxymoronical.com/blog/2009/08/Notifying-users-about-third-party-add-ons&#34;&gt;blog post&lt;/a&gt; or on the &lt;a href=&#34;https://wiki.mozilla.org/Firefox/Projects/System_Extension_Notification&#34;&gt;project wiki&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;status&#34;&gt;Status&lt;/h3&gt;&#xA;&lt;p&gt;There has been little progress this week mostly due to waiting to see whether the &lt;a href=&#34;https://wiki.mozilla.org/Firefox/Projects/Doorhanger_notifications&#34;&gt;doorhanger notifications UI&lt;/a&gt; was going to arrive in time for Firefox 3.6. It looks like it isn’t so instead we are discussing using an in-content page to describe the add-ons that have been installed and allowing users to disable them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Supporting icons for disabled extensions</title>
      <link>https://www.oxymoronical.com/blog/2009/08/Supporting-icons-for-disabled-extensions/</link>
      <pubDate>Thu, 20 Aug 2009 11:17:57 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/Supporting-icons-for-disabled-extensions/</guid>
      <description>&lt;p&gt;I’ve just landed code that allows extensions to include their icon in the add-ons manager view even when disabled. Currently extensions provide their icon by giving a chrome iconURL for us to load. This can only work when the extension is enabled since we don’t register the chrome otherwise. Themes on the other hand provide their icon as a simple file called “icon.png” alongside the install.rdf. Well extensions can do this too now and it will be used in preference to the iconURL but more importantly works at all times (well not before installation yet, but that is at least feasible this way).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why does no-one make a mouse that I want?</title>
      <link>https://www.oxymoronical.com/blog/2009/08/why-does-no-one-make-a-mouse-that-i-want/</link>
      <pubDate>Wed, 19 Aug 2009 14:18:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/why-does-no-one-make-a-mouse-that-i-want/</guid>
      <description>&lt;p&gt;As far as mouse types go you tend to find 2 different styles (lets ignore wired mice for now which are the spawn of the devil).&lt;/p&gt;&#xA;&lt;p&gt;There are notebook mice. These tend to be small, making them uncomfortable for me to use. The big benefit with notebook mice though is that they can come with ultra-small USB dongles, or even better, bluetooth connectivity.&lt;/p&gt;&#xA;&lt;p&gt;Then there are desktop mice. These are larger, ergonomically designed, with more buttons and all around nicer to use. However the USB dongles you get for them are generally a minimum of an inch long.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hey Dreamhost, we use tabs now</title>
      <link>https://www.oxymoronical.com/blog/2009/08/hey-dreamhost-we-use-tabs-now/</link>
      <pubDate>Sat, 15 Aug 2009 16:35:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/hey-dreamhost-we-use-tabs-now/</guid>
      <description>&lt;p&gt;I’ll be honest, this post isn’t about Mozilla or even really anything Mozilla related (beyond the fact that it is about a poor web application). However I know that lots of people in the Mozilla community use &lt;a href=&#34;http://www.dreamhost.com/&#34;&gt;Dreamhost&lt;/a&gt; as their webhost and I figure some of them might want to know to watch out for this and avoid getting into the same mess that I did so I’ll include it in &lt;a href=&#34;http://planet.mozilla.org/&#34;&gt;planet&lt;/a&gt; feed anyway.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notifying users about third-party add-ons</title>
      <link>https://www.oxymoronical.com/blog/2009/08/Notifying-users-about-third-party-add-ons/</link>
      <pubDate>Fri, 14 Aug 2009 21:48:52 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/08/Notifying-users-about-third-party-add-ons/</guid>
      <description>&lt;p&gt;You may have noticed many of the Firefox team starting to blog progress reports on Fridays. This is a part of our new plan to clearly define the &lt;a href=&#34;https://wiki.mozilla.org/Firefox/Projects&#34;&gt;main projects&lt;/a&gt; we are all working on and communicate a much as possible about them rather than just having users surprised to see them turn up in nightlies. So here is my report for this week:&lt;/p&gt;&#xA;&lt;p&gt;I’ve been working on improving the level of information and control we give users over add-ons installed by other applications on the system (think Skype, Java, AV tools etc.). The work for this is being tracked in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=476430&#34;&gt;bug 476430&lt;/a&gt; and on the &lt;a href=&#34;https://wiki.mozilla.org/Firefox/Projects/System_Extension_Notification&#34;&gt;project wiki&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bumper XULRunner release day!</title>
      <link>https://www.oxymoronical.com/blog/2009/07/Bumper-XULRunner-release-day/</link>
      <pubDate>Wed, 22 Jul 2009 18:42:41 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/07/Bumper-XULRunner-release-day/</guid>
      <description>&lt;p&gt;Thanks to the hard work of Nick Thomas and Lukas Blakk, today I can announce the availability of two new official releases of the XULRunner runtime and &lt;a href=&#34;https://developer.mozilla.org/en/Gecko_SDK&#34;&gt;SDKs&lt;/a&gt;. &lt;a href=&#34;https://developer.mozilla.org/en/XULRunner_1.9_Release_Notes&#34;&gt;XULRunner 1.9.0.12&lt;/a&gt; is a maintenance release for the 1.9.0 branch (the code that matches Firefox 3.0.x). &lt;a href=&#34;https://developer.mozilla.org/En/XULRunner_1.9.1_Release_Notes&#34;&gt;XULRunner 1.9.1&lt;/a&gt; is the first official release of XULRunner on the 1.9.1 branch (which matches the code in Firefox 3.5.x). Unfortunately we’re not quite at the point of shipping XULRunner releases at the same time as Firefox 3.5.x releases, but we should have a 1.9.1.1 release soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Where is XULRunner 1.9.1?</title>
      <link>https://www.oxymoronical.com/blog/2009/07/Where-is-XULRunner-191/</link>
      <pubDate>Wed, 08 Jul 2009 19:49:04 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/07/Where-is-XULRunner-191/</guid>
      <description>&lt;p&gt;A question I have been hearing quite a bit on IRC since Firefox 3.5 was released. We don’t quite have the build automation set up to do XULRunner 1.9.1 releases at the same time as Firefox yet, but Nick has been awesome and manually spun some release candidates. These should be pretty much good to go but it would be useful if anyone interested could try them out and report on any serious problems they see. Either just comment here or file a bug and mark it blocking &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=502915&#34;&gt;bug 502915&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Moar xpcom docs!</title>
      <link>https://www.oxymoronical.com/blog/2009/07/Moar-xpcom-docs/</link>
      <pubDate>Sun, 05 Jul 2009 17:57:03 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/07/Moar-xpcom-docs/</guid>
      <description>&lt;p&gt;While many of you were out blowing things up over the weekend I spent a few days varying between getting quite a bit done and banging my head against my desk in frustration.&lt;/p&gt;&#xA;&lt;p&gt;First I updated the &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/&#34;&gt;XPCOM interface lists&lt;/a&gt; that I have been working on with the final release version of Gecko 1.9.0. A few people had asked me for it but I had hit upon the problem that I had lost some of the arcane scripts that I was using to gather the data and so I had to rebuild them first. I have dropped information about the beta versions of 1.9.1 now, just because it was less work that way, if people desperately want them back then I can probably do it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Farewell contents.rdf</title>
      <link>https://www.oxymoronical.com/blog/2009/06/Farewell-contentsrdf/</link>
      <pubDate>Thu, 11 Jun 2009 13:09:17 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/06/Farewell-contentsrdf/</guid>
      <description>&lt;p&gt;This is mainly of interest to add-on and application developers and I should stress from the outset that this is talking about changes in Gecko 1.9.2 which will first be released in whatever version of Firefox comes in 6-12 months time. Firefox 3.5 is unaffected by this change.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-was-it&#34;&gt;What was it?&lt;/h2&gt;&#xA;&lt;p&gt;Contents.rdf was the old way of performing &lt;a href=&#34;https://developer.mozilla.org/En/Chrome_Registration&#34;&gt;chrome registration&lt;/a&gt; for add-ons. It was replaced by chrome.manifest back in the mists of time in Gecko 1.8 and Firefox 1.5 (back in 2005 as it happens). We’ve continued to support reading contents.rdf for those developers who hadn’t had the chance to make the switch but after 4 years it seems time to remove that support and clean up the code that dealt with it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving the add-on install experience</title>
      <link>https://www.oxymoronical.com/blog/2009/06/Improving-the-addon-install-experience/</link>
      <pubDate>Wed, 03 Jun 2009 09:44:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/06/Improving-the-addon-install-experience/</guid>
      <description>&lt;p&gt;Add-on developers face a bit of a challenge when it comes to helping users get the most out of their add-ons. Even once you are past the first hurdle and have got a user to install the add-on, you then need to help them get up and running quickly after Firefox has restarted. Presented with just the blank Firefox window it can be difficult for a user to know where to go next. Many add-on developers have taken to including a first-run experience to give the user some help. Display a webpage with some instructions or open a wizard to start setting up. As this practice started it was generally acceptable. Few add-ons actually did anything so it was helpful. These days though many add-ons are doing it, no doubt with more to come. It is starting to be an annoyance in some cases. Others have already &lt;a href=&#34;http://blog.fligtar.com/2008/10/16/responsible-first-run-usage/&#34;&gt;been discussing&lt;/a&gt; ways that we can improve this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Petals</title>
      <link>https://www.oxymoronical.com/blog/2009/05/Petals/</link>
      <pubDate>Sat, 16 May 2009 22:09:35 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/05/Petals/</guid>
      <description></description>
    </item>
    <item>
      <title>Where are we all?</title>
      <link>https://www.oxymoronical.com/blog/2009/05/Where-are-we-all/</link>
      <pubDate>Fri, 15 May 2009 17:00:06 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/05/Where-are-we-all/</guid>
      <description>&lt;p&gt;Not so long ago &lt;a href=&#34;http://ma.tt/&#34;&gt;Matt Mullenweg&lt;/a&gt; talked to the Mozilla employees about &lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; and its community. He mentioned about a map they had set up to show where they all were in the world and I was intrigued to know what such a map would look like for Mozilla. Now I don’t actually have the locations of all the community members, but I can make a decent start by using the locations of all the Mozilla Corporation employees, and with a few scripts and the &lt;a href=&#34;http://code.google.com/apis/maps/&#34;&gt;Google maps API&lt;/a&gt; there is something interesting to look at. Click on the image to go to the full interactive view:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How do people vote?</title>
      <link>https://www.oxymoronical.com/blog/2009/05/how-do-people-vote/</link>
      <pubDate>Thu, 14 May 2009 11:33:33 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/05/how-do-people-vote/</guid>
      <description>&lt;p&gt;I’m afraid to say that I’m pretty bad when it comes to the political process. I have voted exactly once in my entire life, the first time I was old enough to do so and never since. I like to use the excuse that I don’t know enough about the candidates and the issues involved and so I can’t make an informed decision. While that is actually true (I firmly believe that an uninformed vote is a wasted vote, maybe even a dangerous vote) it really just hides the fact that I don’t make myself find the time to go and research the issues and the candidates like I should. Previously that didn’t worry me so much but I guess as you get older you realise more and more how what the government does influences directly the state of your life, so lately I’ve been trying to keep an eye on the news to see what is going on out there. It’s pretty tough going, the news tends to focus on all the muckslinging and scandals, which as far as I can see is shared pretty evenly by all the parties, and this drowns out discussions on actual policy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why change is hard</title>
      <link>https://www.oxymoronical.com/blog/2009/05/Why-change-is-hard/</link>
      <pubDate>Mon, 11 May 2009 10:56:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/05/Why-change-is-hard/</guid>
      <description>&lt;p&gt;This is really not the ideal set of interactions between the extension manager and its related components. Unfortunately changing it is going to be hard.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;    &lt;a href=&#34;reality.png&#34;&gt;&lt;img src=&#34;https://www.oxymoronical.com/blog/2009/05/Why-change-is-hard/reality.png&#34; style=&#34;width: 504px&#34; alt=&#34;Extension manager inter-dependencies&#34;&gt;&#xA;    &lt;/a&gt;&lt;figcaption&gt;interdependencies&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Unfortunately adding any new features is also pretty hard until at least some of these dependencies are broken.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Letting add-ons perform work during install and uninstall</title>
      <link>https://www.oxymoronical.com/blog/2009/03/Letting-add-ons-perform-work-during-install-and-uninstall/</link>
      <pubDate>Mon, 30 Mar 2009 10:31:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/03/Letting-add-ons-perform-work-during-install-and-uninstall/</guid>
      <description>&lt;p&gt;One of the biggest requested items I see in the add-ons newsgroups and IRC channel is from developers asking how to perform some work when their add-on is installed or uninstalled. Previously it has been vaguely possible to do this, but there is a lot of hassle involved and it wouldn’t always work right.&lt;/p&gt;&#xA;&lt;p&gt;As part of my &lt;a href=&#34;https://wiki.mozilla.org/Extension_Manager:Future_Work&#34;&gt;roadmap&lt;/a&gt; for improving the extension manager we are talking about adding real support for these sorts of activities. The &lt;a href=&#34;https://wiki.mozilla.org/Extension_Manager:Install_Hooks&#34;&gt;draft specification&lt;/a&gt; covers the proposal in more details but in draft it allows the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s up with the extension manager?</title>
      <link>https://www.oxymoronical.com/blog/2009/03/Whats-up-with-the-extension-manager/</link>
      <pubDate>Mon, 30 Mar 2009 10:31:46 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/03/Whats-up-with-the-extension-manager/</guid>
      <description>&lt;p&gt;Some time ago (wow was it really 5 months!) I &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/10/Planning-for-the-future&#34;&gt;blogged about&lt;/a&gt; some plans I have had for the future of the extension manager. I think it’s time for a short review of what it going on.&lt;/p&gt;&#xA;&lt;p&gt;I said at the time that any of the timescales mentioned we’re very rough and certain to be underestimates, but I didn’t quite appreciate how true that was at the time. Despite tripling most of the times we’re still almost nowhere along implemented most of the ideas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.2a1pre builds also available</title>
      <link>https://www.oxymoronical.com/blog/2009/03/XULRunner-192a1pre-builds-also-available/</link>
      <pubDate>Sat, 28 Mar 2009 01:23:34 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/03/XULRunner-192a1pre-builds-also-available/</guid>
      <description>&lt;p&gt;Just as I’ve made some &lt;a href=&#34;https://www.oxymoronical.com/blog/2009/03/XULRunner-191b3-builds-get-them-while-theyre-hot&#34;&gt;1.9.1b3 builds&lt;/a&gt; I’ve spun some builds based on the latest trunk. Feel free to use these to see how things are shaping up with the bleeding edge Mozilla code. Obviously it is pre-alpha so not for productions.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.win32.zip&#34;&gt;runtime&lt;/a&gt; &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.win32.sdk.zip&#34;&gt;sdk&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Linux &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.linux-i686.tar.bz2&#34;&gt;runtime&lt;/a&gt; &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.linux-i686.sdk.tar.bz2&#34;&gt;sdk&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Mac OSX &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.mac-pkg.dmg&#34;&gt;universal runtime&lt;/a&gt; &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.mac-i386.sdk.tar.bz2&#34;&gt;i386 sdk&lt;/a&gt; &lt;a href=&#34;https://people.mozilla.com/~dtownsend/builds/xulrunner/1.9.2a1pre/xulrunner-1.9.2a1pre.en-US.mac-powerpc.sdk.tar.bz2&#34;&gt;ppc sdk&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>XULRunner 1.9.1b3 builds, get them while they&#39;re hot</title>
      <link>https://www.oxymoronical.com/blog/2009/03/XULRunner-191b3-builds-get-them-while-theyre-hot/</link>
      <pubDate>Fri, 27 Mar 2009 18:20:49 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/03/XULRunner-191b3-builds-get-them-while-theyre-hot/</guid>
      <description>&lt;p&gt;In the process of switching from CVS to Mercurial (and behind the scenes Tinderbox to Buildbot), quite a lot of Mozilla’s build and release systems have had to be updated. Sadly one of the casualties that has yet to be resuscitated are nightly builds of XULRunner on the 1.9.1 branch and trunk. Catlee is now doing some &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=445191&#34;&gt;excellent work&lt;/a&gt; to get these up and running, but until that gets going here are some semi-official builds using the code matching Firefox 3.1b3. I say semi-official, they were built on regular build slaves using the standard configuration, but just done by hand. I also haven’t tested all of them yet so let me know if you hit any issues, they might be good indicators of issues we’ll see with the nightlies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing the background update checks</title>
      <link>https://www.oxymoronical.com/blog/2009/03/Testing-the-background-update-checks/</link>
      <pubDate>Thu, 19 Mar 2009 13:02:36 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/03/Testing-the-background-update-checks/</guid>
      <description>&lt;p&gt;Firefox does a fair number of things in the background to help keep things up to date. This includes checking for updates to Firefox itself, checking for updates to add-ons you have installed and checking for updates to a blocklist that disables known unstable add-ons. Normally it does these things quite happily, but for developers and QA, trying to verify that these background tasks are doing what they are supposed to can be annoying. After all who wants to leave Firefox running for a day just to see if it finds a new update?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Brussels bound</title>
      <link>https://www.oxymoronical.com/blog/2009/02/Brussels-bound/</link>
      <pubDate>Wed, 04 Feb 2009 11:12:57 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/02/Brussels-bound/</guid>
      <description>&lt;p&gt;This weekend is &lt;a href=&#34;http://fosdem.org/2009/&#34;&gt;FOSDEM 2009&lt;/a&gt; and I’m actually managing to attend this year. It’s kind of weird, I keep doing all this travelling to the states yet I end up having to miss all the awesome stuff that goes on in Europe for various reasons (often because I am all travelled out from the states). But I’m going to be at FOSDEM even if it kills me, which considering the snow on the roads and serious travelling I have over the next few months is a possibility. Thankfully the jetlag from Europe is a lot easier to recover from.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Giving up is hard to do</title>
      <link>https://www.oxymoronical.com/blog/2009/01/giving-up-is-hard-to-do/</link>
      <pubDate>Sat, 31 Jan 2009 15:56:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/giving-up-is-hard-to-do/</guid>
      <description>&lt;p&gt;I don’t like to think of myself as a hoarder, but I am. Certainly not as bad as many people but you know stuff just builds up and it seems a shame to throw away perfectly good things. My hoarding is kept mostly under control by the fact that I haven’t lived in the same place for more than about 2 years since I left home. Moving is the perfect opportunity to ditch things you don’t need any longer, if you throw it away you don’t have to pack it and I &lt;strong&gt;hate&lt;/strong&gt; packing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flipping the bird</title>
      <link>https://www.oxymoronical.com/blog/2009/01/Flipping-the-bird/</link>
      <pubDate>Fri, 30 Jan 2009 21:34:16 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/Flipping-the-bird/</guid>
      <description>&lt;p&gt;I outed myself last night on IRC as a non-Thunderbird user and &lt;a href=&#34;http://weblogs.mozillazine.org/dmose/&#34;&gt;dmose&lt;/a&gt; asked me why. I only had some fairly vague hand gesturing things to say so I said I’d switch back to it a bit and see what things really hurt. This is that list, or at least one day’s worth:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mail windows stay in the way when I send a mail (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=126140&#34;&gt;bug 126140&lt;/a&gt;). This bugs me, yes I can click back to the main window and carry on what I’m doing, but not only does the compose window not go away but another window opens to tell me the progress of the send. I don’t care. I only need to hear something if something goes wrong during the send, at which point bring me the window back with an error.&lt;/li&gt;&#xA;&lt;li&gt;The quick search box only searches a single folder (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=353564&#34;&gt;bug 353564&lt;/a&gt;). This makes the rather strange assumption that I already know where a message I’m searching for is. Yes I know I can use the full search to do it, but I don’t want the added steps for something that should be automatic.&lt;/li&gt;&#xA;&lt;li&gt;Ugly ugly fonts (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=465633&#34;&gt;bug 465633&lt;/a&gt;). This turned out to be one of the major things. Once I spent the time to configure the fonts to use some nicer ones (that are available by default in OSX) things really started to look up.&lt;/li&gt;&#xA;&lt;li&gt;The message threading is oddly laid out. The author should be part of the expandable section, but the twister is by the subject, it is a bit weird, probably because it is different to how OSX Mail does it.&lt;/li&gt;&#xA;&lt;li&gt;The header on the message reading pane is far too large and wasteful. What does it include? A set of buttons to reply, forward etc. which are already in my toolbar anyway. The subject and sender of the message which are listed in the message list anyway. And who it was sent to. Even if I wanted to see all these things it could be displayed in less than half the space I think. The same is true of the “remote images are blocked” notification. Both of these two together take up nearly a seventh of my screen height.&lt;/li&gt;&#xA;&lt;li&gt;Tabs. I’m not sure I see the need for them in a mail app but fair enough if you do that’s fine. But don’t force me to lose more screen space when I don’t want to use them.&lt;/li&gt;&#xA;&lt;li&gt;I have many contacts with multiple email addresses. I can’t seem to see a way to choose which email address to use other than manually copying and pasting it. The autocomplete only seems to offer the first from each address book. Using the physical address book doesn’t seem to help either. Even more fun my OSX address book has sometimes 3 or more email addresses for people, Thunderbird can only see two of them.&lt;/li&gt;&#xA;&lt;li&gt;Please don’t bug me about saving a draft of a message that has no content, no subject and no filled in email addresses.&lt;/li&gt;&#xA;&lt;li&gt;Had to manually ask Thunderbird to check for new mail in IMAP folders other than the inbox and as far as I can tell the new mail count in the dock doesn’t include anything other than the inbox, and even then it gets it wrong sometimes (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=274688&#34;&gt;bug 274688&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Over complicated identities (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=476142&#34;&gt;bug 476142&lt;/a&gt;). What I want from an identity is just to be able to send email from a second address. That is it. Other than that I want the same settings as the main identity.&lt;/li&gt;&#xA;&lt;li&gt;Over complicated font selection (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=382272&#34;&gt;bug 382272&lt;/a&gt;). This is the same dialog as in Firefox (where I also think it is pretty nasty). I like that I can choose what font it defaults to for serif, sans-serif and mono-space. I don’t like that I have to make that choice for each language. It took me a while in Thunderbird before I figured out bug mail was classified as “Other Languages” (&lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=91190&#34;&gt;bug 91190&lt;/a&gt;) and that was why it wasn’t obeying my settings.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These last few are part of the main problem I feel Thunderbird suffers from right now. Too many options. I’m sure there are many people out there who love the fact they can have different composition settings per mail server and per identity, and different fonts per language, and have the option whether or not to check for email in individual folders. I don’t. I don’t have the time to spend trying to keep my settings the same in 20 different places. If we must offer this sort of customisability then have a global settings area and make everything default to using that, then let users choose to override those defaults in a particular place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updated Interface lists</title>
      <link>https://www.oxymoronical.com/blog/2009/01/Updated-Interface-lists/</link>
      <pubDate>Thu, 29 Jan 2009 17:27:08 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/Updated-Interface-lists/</guid>
      <description>&lt;p&gt;I’ve generated a new database for my interface listing webapp so you can now see the current state of the 1.9.1b3pre and 1.9.2a1pre platforms. So for all you extension developers getting ready for the Firefox 3.1b3 release maybe you want to see what has changed &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/compare/platform/1.9.1b3pre/1.9.1b2&#34;&gt;since 3.1b2&lt;/a&gt;? Or &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/compare/platform/1.9.1b3pre/1.9.0.0&#34;&gt;since 3.0&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;p&gt;There are still more things I want to do with this web-app, but right now my time is being spent elsewhere so for now I’ll just keep it up to date with the beta releases. Once 3.1 final is released I’ll likely remove all the beta versions since they probably won’t be necessary then.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I must be missing something in the clouds</title>
      <link>https://www.oxymoronical.com/blog/2009/01/i-must-be-missing-something-in-the-clouds/</link>
      <pubDate>Thu, 29 Jan 2009 10:38:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/i-must-be-missing-something-in-the-clouds/</guid>
      <description>&lt;p&gt;For a long time now there have been web applications mirroring pretty much all the applications I use locally, email, calendar, spreadsheets, etc. I keep looking at these and feeling like I should jump on the bandwagon, after all lots of the people I work with use them and rave about them so they must be great right? The problem is I can’t figure out what I am actually missing, and most of the time I can spot immediately things I would miss by moving to them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Daylight robbery</title>
      <link>https://www.oxymoronical.com/blog/2009/01/daylight-robbery/</link>
      <pubDate>Thu, 22 Jan 2009 14:23:25 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/daylight-robbery/</guid>
      <description>&lt;p&gt;It wasn’t long ago that I was responsible for developing and maintaining a large number of websites. Like everyone in this role I needed a domain registrar I could trust to be cheap, efficient and most of all keep me updated about upcoming renewals. At the time I had a lot of love for &lt;a href=&#34;http://www.freeparking.co.uk&#34;&gt;Freeparking&lt;/a&gt;. They didn’t (and still don’t) look like much, but at the time I started using them they were all these things. No surprise I carried on using them after I left my last job when registering some personal domains.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zooming along, hopefully as fast as before</title>
      <link>https://www.oxymoronical.com/blog/2009/01/Zooming-along-hopefully-as-fast-as-before/</link>
      <pubDate>Wed, 14 Jan 2009 19:43:14 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/Zooming-along-hopefully-as-fast-as-before/</guid>
      <description>&lt;p&gt;I’ve just landed a fix to &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=386835&#34;&gt;a bug&lt;/a&gt; that has irritated me ever since page zoom started getting remembered for sites. It fixes a real problem you find if you both use zoom a fair bit, and load pages in background tabs. When you finally decide to look at that tab there is this little pause (or long pause if the page is large) and sometimes a visual jump as it re-zooms the content. It also changes where the page is scrolled to which is very irritating if you have just clicked a link to a specific line in some source code for example.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stupid rules</title>
      <link>https://www.oxymoronical.com/blog/2009/01/stupid-rules/</link>
      <pubDate>Wed, 14 Jan 2009 17:53:55 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/stupid-rules/</guid>
      <description>&lt;p&gt;So let’s pretend I am in a bad place and looking to kill myself through an overdose of pills. Is the fact that the supermarkets refuse to sell more than two packets going to be a hindrance to me? I don’t think so. I’ll just go through a few times, soon have enough for my stupid attempt.&lt;/p&gt;&#xA;&lt;p&gt;Now let’s pretend I’m really sick. Getting out of bed is quite an effort let alone leaving the house. Unfortunately I’ve run out of drugs so I have to make a run to the store. Clearly I want to get a few packs, not only can I get through a pack a day but a few different types covers me as the illness changes over time. Now the store refusing to sell more than two packets is actually a pain in the ass.&lt;/p&gt;</description>
    </item>
    <item>
      <title>7 things I know about me…</title>
      <link>https://www.oxymoronical.com/blog/2009/01/7-things-i-know-about-me/</link>
      <pubDate>Sat, 10 Jan 2009 01:35:31 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/7-things-i-know-about-me/</guid>
      <description>&lt;p&gt;That pesky &lt;a href=&#34;http://blog.mozilla.com/joe/&#34;&gt;JOEDREW!&lt;/a&gt; has tagged me so I guess I have to participate in this thing.&lt;/p&gt;&#xA;&lt;p&gt;Here are the rules for this particular meme&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Link to your original tagger(s) and list these rules in your post.&lt;/li&gt;&#xA;&lt;li&gt;Share seven facts about yourself in the post.&lt;/li&gt;&#xA;&lt;li&gt;Tag seven people at the end of your post by leaving their names and the links to their blogs.&lt;/li&gt;&#xA;&lt;li&gt;Let them know they’ve been tagged.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;My seven things:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What happened in 2008?</title>
      <link>https://www.oxymoronical.com/blog/2009/01/what-happened-in-2008/</link>
      <pubDate>Sat, 03 Jan 2009 17:23:38 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2009/01/what-happened-in-2008/</guid>
      <description>&lt;p&gt;In no particular order:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Celebrated the birth of friends’ children.&lt;/li&gt;&#xA;&lt;li&gt;Helped some friends through sad times.&lt;/li&gt;&#xA;&lt;li&gt;Moved past previous mistakes.&lt;/li&gt;&#xA;&lt;li&gt;Experienced the sheer terror of minimoto bikes.&lt;/li&gt;&#xA;&lt;li&gt;Met new friends who I now wouldn’t want to lose.&lt;/li&gt;&#xA;&lt;li&gt;Bought a new car.&lt;/li&gt;&#xA;&lt;li&gt;Went to the gym a lot.&lt;/li&gt;&#xA;&lt;li&gt;Met someone very special, twice.&lt;/li&gt;&#xA;&lt;li&gt;Saw a friend set himself free.&lt;/li&gt;&#xA;&lt;li&gt;Grew a beard.&lt;/li&gt;&#xA;&lt;li&gt;Earned responsibilities.&lt;/li&gt;&#xA;&lt;li&gt;Started planning for the future.&lt;/li&gt;&#xA;&lt;li&gt;Survived the dangers of Whistler.&lt;/li&gt;&#xA;&lt;li&gt;Visited Toronto.&lt;/li&gt;&#xA;&lt;li&gt;Saw my parents move away from my childhood home.&lt;/li&gt;&#xA;&lt;li&gt;Took lots of flights.&lt;/li&gt;&#xA;&lt;li&gt;Became a regular employee for the first time in 8 years.&lt;/li&gt;&#xA;&lt;li&gt;Had a great holiday that I wish could have lasted longer.&lt;/li&gt;&#xA;&lt;li&gt;Started the long road to moving to America.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What will 2009 bring?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Call centre fail</title>
      <link>https://www.oxymoronical.com/blog/2008/12/call-centre-fail/</link>
      <pubDate>Fri, 19 Dec 2008 17:33:44 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/call-centre-fail/</guid>
      <description>&lt;p&gt;It’s always fun phoning my mobile phone company. Firstly there is the infuriating menu system where even the “to talk about anything else option” goes to another set of options, none of which are “to talk about anything else”. Then there are the broken systems that lead all the operators to just go to a default “please call us back later”:&lt;/p&gt;&#xA;&lt;p&gt;Me: “Hi, I’d like to know what the costs are for using data on my current plan.”&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making Gallery2 understand ogg and use video tags</title>
      <link>https://www.oxymoronical.com/blog/2008/12/making-gallery2-understand-ogg-and-use-video-tags/</link>
      <pubDate>Mon, 15 Dec 2008 21:13:30 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/making-gallery2-understand-ogg-and-use-video-tags/</guid>
      <description>&lt;p&gt;One of the nice new features in the fast evolving &lt;a href=&#34;http://www.whatwg.org/specs/web-apps/current-work/&#34;&gt;HTML 5 spec&lt;/a&gt; is support for specific &lt;a href=&#34;https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox&#34;&gt;video and audio tags&lt;/a&gt;, replacing the more generic object and embed tags that have been used in the past. They have many benefits over the object tag such as a well defined JavaScript interface, controls provided by the browser and support for multiple formats for the browser to choose between for display. The current beta version of Firefox 3.1 supports this and includes support for playing the &lt;a href=&#34;http://en.wikipedia.org/wiki/Ogg&#34;&gt;Ogg format&lt;/a&gt; with &lt;a href=&#34;http://en.wikipedia.org/wiki/Theora&#34;&gt;Theora&lt;/a&gt; and &lt;a href=&#34;http://en.wikipedia.org/wiki/Vorbis&#34;&gt;Vorbis&lt;/a&gt; codecs included. Opera has &lt;a href=&#34;http://dev.opera.com/articles/view/a-call-for-video-on-the-web-opera-vid/&#34;&gt;support underway&lt;/a&gt; as well and it looks like the latest Safari releases also have it (though it seems broken in some respects).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Turning the cogs</title>
      <link>https://www.oxymoronical.com/blog/2008/12/Turning-the-cogs/</link>
      <pubDate>Sun, 14 Dec 2008 19:36:22 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/Turning-the-cogs/</guid>
      <description>&lt;p&gt;Flame fractals are even less “designed” than the more traditional fractals based on complex equations. There you tend to start with a fixed formula that you know looks good, and then find a nice region to render. With flames you normally just look through randomly generated starting points, sometimes ten, sometimes maybe even a hundred until you find one that looks good enough to investigate further. Then you tinker with the parameters, a nudge here, a colour change there, iteratively making it “better”. Sometimes of course one of the random images looks absolutely great and no amount of changing will improve it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fractals</title>
      <link>https://www.oxymoronical.com/blog/2008/12/Fractals/</link>
      <pubDate>Sun, 14 Dec 2008 00:11:47 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/Fractals/</guid>
      <description>&lt;p&gt;A friend asked the other days what was up with all the fractals on my site and it reminded me that I’ve neither mentioned them in my blog or even sat down and created any for a while, so I thought I’d remedy that, especially since I now have the &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/09/More-personal&#34;&gt;personal section&lt;/a&gt; so I don’t have to bother &lt;a href=&#34;http://planet.mozilla.org&#34;&gt;planet&lt;/a&gt; readers with this stuff.&lt;/p&gt;&#xA;&lt;p&gt;Fractals fascinate me for a couple of reasons. The first is obvious, they are in general strikingly beautiful. Even the most basic fractals with simple colouring choices look stunning and because of how they are created can be generated at any size with no loss of detail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Travel stats</title>
      <link>https://www.oxymoronical.com/blog/2008/12/travel-stats/</link>
      <pubDate>Fri, 12 Dec 2008 10:20:43 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/travel-stats/</guid>
      <description>&lt;p&gt;I thought it would be amusing to look at some of the numbers associated with my travel home from San Francisco. This is taking into account the time between leaving the place I was staying in America to getting back to my house:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;63 hours total travel time&lt;/li&gt;&#xA;&lt;li&gt;29 hours in hotel rooms&lt;/li&gt;&#xA;&lt;li&gt;16 hours sleeping&lt;/li&gt;&#xA;&lt;li&gt;15 hours in the air&lt;/li&gt;&#xA;&lt;li&gt;4 plane flights (on 3 different planes)&lt;/li&gt;&#xA;&lt;li&gt;8 hours sat in planes that weren’t flying&lt;/li&gt;&#xA;&lt;li&gt;3 hours in a car&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Over-obsessed</title>
      <link>https://www.oxymoronical.com/blog/2008/12/over-obsessed/</link>
      <pubDate>Thu, 11 Dec 2008 17:28:04 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/over-obsessed/</guid>
      <description>&lt;p&gt;Apparently I’ve been talking a little too much about interfaces lately&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;    &lt;a href=&#34;word-cloud.png&#34;&gt;&lt;img src=&#34;https://www.oxymoronical.com/blog/2008/12/over-obsessed/word-cloud.png&#34; srcset=&#34;https://www.oxymoronical.com/blog/2008/12/over-obsessed/word-cloud_hu_ac2422c94170641d.png, https://www.oxymoronical.com/blog/2008/12/over-obsessed/word-cloud.png 2x&#34; style=&#34;width: 600px&#34; alt=&#34;Word cloud&#34;&gt;&#xA;    &lt;/a&gt;&lt;figcaption&gt;Word cloud&lt;/figcaption&gt;&lt;/figure&gt;</description>
    </item>
    <item>
      <title>Happy to be home?</title>
      <link>https://www.oxymoronical.com/blog/2008/12/happy-to-be-home/</link>
      <pubDate>Thu, 11 Dec 2008 15:33:12 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/happy-to-be-home/</guid>
      <description>&lt;p&gt;I’m normally pretty happy to be getting home after a trip to the States. Not because I don’t enjoy being out there of course, but you know home is where you’re most comfortable and living out of a bag in a hotel gets tiring after a time. Today is the first time that that has really changed.&lt;/p&gt;&#xA;&lt;p&gt;I really didn’t spend as much time in San Francisco as I would have liked. A mere 4 days meant I totally failed to hang out with some of the friends I wanted to and didn’t have enough time with even those that I did get to see. I’m really grateful to those that put me up and took special efforts to catch up with me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is the most useful way to present interface lists?</title>
      <link>https://www.oxymoronical.com/blog/2008/12/What-is-the-most-useful-way-to-present-interface-lists/</link>
      <pubDate>Mon, 01 Dec 2008 22:30:51 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/12/What-is-the-most-useful-way-to-present-interface-lists/</guid>
      <description>&lt;p&gt;I’ve just rolled out a small update to the &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/&#34;&gt;interface cross reference&lt;/a&gt;, nothing major, just fixing a few bugs and I’ve put up what looks like the final set of interfaces for 1.9.1b2.&lt;/p&gt;&#xA;&lt;p&gt;I’ve now figured out the best way to gather the interface lists and so the cross reference now includes all interfaces used in all 3 major platforms of Firefox. It is relatively simple for me to add the interfaces for other applications now but this got me thinking about what kind of uses people are making of this and how the multi-OS, multi-app interfaces should be presented. A few ideas came to mind:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving the API references</title>
      <link>https://www.oxymoronical.com/blog/2008/11/Improving-the-API-references/</link>
      <pubDate>Sun, 16 Nov 2008 13:21:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/11/Improving-the-API-references/</guid>
      <description>&lt;p&gt;I forgot to add to my &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/11/API-reference-updates&#34;&gt;last post&lt;/a&gt; some information about what I currently had in mind to improve about the &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/&#34;&gt;API reference&lt;/a&gt; I’ve been working on. Any further suggestions people have are very welcome, but here is the current few ideas I have.&lt;/p&gt;&#xA;&lt;p&gt;Currently it only indexes Firefox and Gecko interfaces, in fact it only indexes those used by an OSX build of Firefox. It would be nice to be able to index interfaces for all the main applications and for all the platforms. There are a couple of issues with this. Firstly I’d want the UI to work so people viewing it could select what set of interfaces they wanted to see. Secondly actually building the lists of interfaces for each application and OS is going to be pretty tricky I think. So far I’ve resorted to building Firefox then looking in dist/idl. This works but it is time consuming. Possibly I might be able to come up with some clever nonsense to make the build system only compile idls but we’ll see.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API reference updates</title>
      <link>https://www.oxymoronical.com/blog/2008/11/API-reference-updates/</link>
      <pubDate>Sat, 15 Nov 2008 20:29:20 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/11/API-reference-updates/</guid>
      <description>&lt;p&gt;Since my &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/10/Finding-API-Changes&#34;&gt;first announcement&lt;/a&gt; about my little &lt;a href=&#34;https://www.oxymoronical.com/experiments/apidocs/&#34;&gt;api reference tool&lt;/a&gt; I’ve slowly been working on updates to make it more useful and easier to navigate around. I’ve now gone and pushed the latest version live. A few of the new features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The main and platform lists of interfaces are split by the module where the interface lives.&lt;/li&gt;&#xA;&lt;li&gt;Interface lists have a quick filter box, type in it to filter the list quickly.&lt;/li&gt;&#xA;&lt;li&gt;Any interfaces used as return types or parameters are now links to get you straight to the information about them.&lt;/li&gt;&#xA;&lt;li&gt;Full IDL support so it now lists all the special attributes and for the uninitiated they have tooltips that explain what they mean.&lt;/li&gt;&#xA;&lt;li&gt;You can now list all usage of an interface by other interfaces.&lt;/li&gt;&#xA;&lt;li&gt;Constants are ordered the same as in the source IDL since they tend to make more sense that way.&lt;/li&gt;&#xA;&lt;li&gt;Includes direct links to the source IDL file.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I’ve also updated the database with the latest APIs in 1.9.1b2pre and as soon as 1.9.1b2 is frozen I’ll update it again just to be sure it has the latest versions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Planning for the future</title>
      <link>https://www.oxymoronical.com/blog/2008/10/Planning-for-the-future/</link>
      <pubDate>Tue, 28 Oct 2008 16:24:26 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/Planning-for-the-future/</guid>
      <description>&lt;p&gt;For some time now I’ve been &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/04/Whats-the-Future-for-Add-ons-Management&#34;&gt;throwing&lt;/a&gt; &lt;a href=&#34;https://www.oxymoronical.com/blog/2008/08/Add-ons-Manager-session-notes&#34;&gt;around&lt;/a&gt; ideas for new features that we may want for the add-ons manager. After lots of thought and trying to take on board comments from anyone that would pipe up I decided it was high time to put together an actual plan for what features I have decided should be pursued and what order to start tackling them.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.mozilla.org/Extension_Manager:Future_Work&#34;&gt;The roadmap&lt;/a&gt; itself should be pretty self explanatory, just remember that nothing is ever set in stone. I’ll try to keep it updated as things change, features seem less important or new items are added. But for now this is how I see the add-ons manager evolving over the course of about the next year or so, which may be the next two versions after Firefox 3.1.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dividing the labour</title>
      <link>https://www.oxymoronical.com/blog/2008/10/Dividing-the-labour/</link>
      <pubDate>Mon, 27 Oct 2008 11:19:39 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/Dividing-the-labour/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.mozilla.com/faaborg/&#34;&gt;Faaborg&lt;/a&gt; has started a discussion on the newsgroups on the relative importance of polish and blocker bugs (I’d provide a link bug Google Groups seems to be refusing to acknowledge existence of the post). I have been for quite some time now very focused on the in-depth blocker issues, partly because that is where all the interesting work is for me, but also because I think it makes more sense for me or one of the other guys with good understandings of how the extension manager works to be making these changes rather than throwing others in at the deep end.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finding API Changes</title>
      <link>https://www.oxymoronical.com/blog/2008/10/Finding-API-Changes/</link>
      <pubDate>Fri, 24 Oct 2008 20:07:51 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/Finding-API-Changes/</guid>
      <description>&lt;p&gt;I started a small discussion on the newsgroups the other day wondering about the numbers of API changes that had landed on trunk since 1.9.0. It was a short discussion, maybe partly because all I had to go on were the vague metrics that mercurial could give me. It also evolved a little into a discussion of how add-on developers we’re meant to find out about API changes. It’s true that as developers we are getting better at trying to announce our changes as much as possible, but inevitably we miss some, and if you don’t track the announcements what then?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Frustration</title>
      <link>https://www.oxymoronical.com/blog/2008/10/frustration/</link>
      <pubDate>Tue, 21 Oct 2008 18:07:02 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/frustration/</guid>
      <description>&lt;p&gt;For a while now I’ve been in a bit of a rut. I knew I was there I just hadn’t quite got the motivation to pull myself out of it. It wasn’t such a bad place to be, but the difference of being just ok with the way things are going and being exactly where you want to be and with the people you want to be with is a pretty large one. I’ve been exceptionally lucky that over the last few months a bunch of things have happened that will help take me to where I want to go and start some new and exciting changes in my life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updating wordpress posts without updating</title>
      <link>https://www.oxymoronical.com/blog/2008/10/updating-wordpress-posts-without-updating/</link>
      <pubDate>Sun, 19 Oct 2008 20:22:53 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/updating-wordpress-posts-without-updating/</guid>
      <description>&lt;p&gt;Dear web (I’m not going to insult you and call you lazy like some people I’d mention),&lt;/p&gt;&#xA;&lt;p&gt;Why is it that even if I’m just adding a tag to a wordpress post it deems it necessary to update the date of the post causing places like planet to republish the post? Surely there must be some way around this that I’m missing?&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Long and winding road</title>
      <link>https://www.oxymoronical.com/blog/2008/10/the-long-and-winding-road/</link>
      <pubDate>Sun, 19 Oct 2008 20:04:22 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/the-long-and-winding-road/</guid>
      <description>&lt;p&gt;So as I’ve said before I’m planning on moving somewhere new. I’ve finally made up my mind and I’ll be trying to relocate to Mozilla’s Mountain View office. I say trying because of course just deciding is only the first bit, there are still visas to be arranged, contracts to be agreed, accommodation to find. It’s going to be a long road and I’m barely started.&lt;/p&gt;&#xA;&lt;p&gt;Hopefully the guys in the Toronto office don’t hate me too much for snubbing them. While they are awesome and I would really love to work out of that office, I think I’m going going to get a better social life outside of work around San Francisco. I have friends inside and outside the city who I know will drag me out so I’m not at home alone every weekend like I am now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Random music</title>
      <link>https://www.oxymoronical.com/blog/2008/10/random-music/</link>
      <pubDate>Thu, 16 Oct 2008 19:44:14 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/random-music/</guid>
      <description>&lt;p&gt;I’ve known for a while that I’m not terribly good at varying the music I listen to. Even within my own music collection I tend to have a few favourite albums of the moment, and while those favourites vary I rarely listen to anything else. Except when I have the radio on, and then it is your usual popular stuff, some good, some pap. I still pick up new things from friends occasionally but I never really go out of my way to vary what I’m listening to. I started to change that a little over the last few weeks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Status quo ante</title>
      <link>https://www.oxymoronical.com/blog/2008/10/status-quo-ante/</link>
      <pubDate>Tue, 07 Oct 2008 09:33:56 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/status-quo-ante/</guid>
      <description>&lt;p&gt;Looks like I can finally say that my body clock is fully switched back to UK time. I can be sure of this because I spent 2 hours trying to get to sleep last night. That hasn’t happened since I flew out to Toronto over 3 weeks ago. I had rather hoped that after my trip had resolved all the issues I was stressed about that I might be able to get myself back into some sort of sensible sleep pattern, but apparently not.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sky Anytime, programmes you can&#39;t watch whenever you don&#39;t want to watch them</title>
      <link>https://www.oxymoronical.com/blog/2008/10/sky-anytime-programmes-you-cant-watch-whenever-you-dont-want-to-watch-them/</link>
      <pubDate>Mon, 06 Oct 2008 19:28:35 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/sky-anytime-programmes-you-cant-watch-whenever-you-dont-want-to-watch-them/</guid>
      <description>&lt;p&gt;At my old house I used to have cable TV. Provided first by NTL who then got bought out by Virgin Media. In many ways they weren’t so good, however where Virgin excelled was in providing an excellent on-demand service. With the right TV package you could get instant access to the last 7 days highlights (or for some definition of) and entire series of popular programmes.&lt;/p&gt;&#xA;&lt;p&gt;Sky can’t quite match the kind of choice Virgin can give, they just don’t have the ability to stream data on demand to an individual home. Instead they have come up with a kind of a halfway house solution. So long as you have their PVR (Sky+) you can switch on the Anytime service. You sacrifice a bunch of space on the PVR but overnight it downloads and stores programming, leaving you with a choice of maybe 10 programmes or movies to watch whenever you like.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How extensions can slow down Firefox (my dirty little secret)</title>
      <link>https://www.oxymoronical.com/blog/2008/10/How-extensions-can-slow-down-Firefox-my-dirty-little-secret/</link>
      <pubDate>Mon, 06 Oct 2008 11:21:24 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/10/How-extensions-can-slow-down-Firefox-my-dirty-little-secret/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.oxymoronical.com/web/firefox/TabSidebar&#34;&gt;Tab Sidebar&lt;/a&gt; is probably my favourite extension that I’ve created. It is certainly the most polished, thanks mostly to other people pushing me to make it so. For those that haven’t used it it creates a thumbnail preview of all of your tabs in the sidebar. The thumbnails automatically update whenever the page changes, even things like popup menus generally show up. This automatic updating comes at a cost though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Back home</title>
      <link>https://www.oxymoronical.com/blog/2008/09/back-home/</link>
      <pubDate>Sun, 28 Sep 2008 11:15:48 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/09/back-home/</guid>
      <description>&lt;p&gt;Finally back home after my two weeks in North America. Both Toronto and Mountain View included fun and disappointment. Traveling to these places is generally awesome but somehow I always manage to generate some form of drama for myself, and really living out of hotels and restaurants gets old pretty fast. I’m not much of a cook but I am looking forward to sitting down with a homemade meal this evening, well maybe tomorrow with the jetlag.&lt;/p&gt;</description>
    </item>
    <item>
      <title>More personal</title>
      <link>https://www.oxymoronical.com/blog/2008/09/More-personal/</link>
      <pubDate>Sun, 28 Sep 2008 08:26:01 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/09/More-personal/</guid>
      <description>&lt;p&gt;I guess I’ve always disliked the idea of putting my personal thoughts onto my blog. I figure that no-one really cares much about what I’m thinking.&lt;/p&gt;&#xA;&lt;p&gt;Despite this I’m going to start to post some more personal stuff here. I’ve come to realise that I am frequently bored and just looking for something to say. I usually just fire off a random email to one of my close friends, mostly not really saying anything just general rambling. I think I’ll make their lives easier by just posting here instead, then if they want to get back to me they can, or not without me being too bothered by it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Less technical</title>
      <link>https://www.oxymoronical.com/blog/2008/09/Less-technical/</link>
      <pubDate>Sun, 28 Sep 2008 08:25:50 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/09/Less-technical/</guid>
      <description>&lt;p&gt;I’m going to be starting to post some more personal posts to my blog. Chances are these are not going to be very interesting to the average reader of &lt;a href=&#34;http://planet.mozilla.org&#34;&gt;planet&lt;/a&gt; so I’ve also tinkered with the categories so they won’t get syndicated there.&lt;/p&gt;&#xA;&lt;p&gt;This means a couple of things. Firstly if you are actually interested in the posts then you’ll have to subscribe to the personal category on my blog. Secondly (and I’m guessing this affects no-one) the urls of the categories on my blog have changed a little so if you had direct feeds to them you’ll have to update.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ruminations on a fortnight</title>
      <link>https://www.oxymoronical.com/blog/2008/09/ruminations-on-a-fortnight/</link>
      <pubDate>Sat, 27 Sep 2008 09:28:32 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/09/ruminations-on-a-fortnight/</guid>
      <description>&lt;p&gt;It’s been a hectic couple of weeks for me and I wanted to touch on a few of the highs and lows before I forget them all.&lt;/p&gt;&#xA;&lt;p&gt;It started with flights to get me to Toronto (for those of you that don’t know I live and work out of the UK). I was speaking at the &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008/Presentations&#34;&gt;Toronto Developer Day&lt;/a&gt; as well as attending a Firefox team work week (two things that conflicted more than I would have liked unfortunately). I normally manage to find direct flights but this time I had to connect through Amsterdam which wasn’t too bad, even if they seem even more mad for security than Heathrow. Incidentally terminal 4 at Heathrow is miles nicer than 3 where I normally come from, even if the 6 police officers armed with automatic weapons was a little disconcerting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toronto Developer Day</title>
      <link>https://www.oxymoronical.com/blog/2008/09/Toronto-Developer-Day/</link>
      <pubDate>Thu, 04 Sep 2008 13:30:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/09/Toronto-Developer-Day/</guid>
      <description>&lt;p&gt;In case you hadn’t heard Mozilla are running a &lt;a href=&#34;https://wiki.mozilla.org/DeveloperDays/TorontoSept2008&#34;&gt;developer day&lt;/a&gt; in a week or so’s time in Toronto. The first day is aimed at giving a good overview of the Mozilla platform and what technologies it offers. The second day will be a more hands on workshop where you can try your hand at extensions, applications and testing with friendly experienced people around to lend a hand when you hit problems. It isn’t far off now so get yourself signed up if you’re coming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Throwing in the Towel</title>
      <link>https://www.oxymoronical.com/blog/2008/08/Throwing-in-the-Towel/</link>
      <pubDate>Tue, 26 Aug 2008 19:52:45 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/08/Throwing-in-the-Towel/</guid>
      <description>&lt;p&gt;I guess it isn’t going to come as much of a surprise to people when I say I’ve been having a hard time finding the time to maintain the extensions I develop. I’ll go over some of the reasons why shortly, but I guess the highlight (or lowlight depending on your point of view) of this post is that I’m no longer going to really put in any effort to keep them updated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The great bug triage</title>
      <link>https://www.oxymoronical.com/blog/2008/08/The-great-bug-triage/</link>
      <pubDate>Wed, 13 Aug 2008 10:14:12 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/08/The-great-bug-triage/</guid>
      <description>&lt;p&gt;I was very excited to learn at the Firefox Summit that Rob Strong was handing over ownership of the Extension Manager module to me. He did great work making the extension manager what it is today but has lately had to be more focused on Installer and windows integration issues.&lt;/p&gt;&#xA;&lt;p&gt;Last week I spent a large part of my time trying to get myself up to speed on all the old filed bugs, clearing out things that clearly aren’t going to happen and trying to consolidate others. In particular I made the effort to go over every single unconfirmed bug and either resolve as appropriate or request any additional information from the reporter. It is rather sad that many of these were issues that noone commented in after the initial report or even worse the reporter responded with additional information but people (including me) dropped the ball and nothing further happened.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-ons Manager session notes</title>
      <link>https://www.oxymoronical.com/blog/2008/08/Add-ons-Manager-session-notes/</link>
      <pubDate>Mon, 04 Aug 2008 19:07:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/08/Add-ons-Manager-session-notes/</guid>
      <description>&lt;p&gt;My head is slightly less fuzzy now and I’m almost back on UK time so I thought it would be a good opportunity to give a quick review of how the &lt;a href=&#34;http://wiki.mozilla.org/Summit2008/Sessions/Proposals/Add-on_Manager&#34;&gt;Add-ons Manager&lt;/a&gt; session I ran at the summit went. I won’t go into too much detail, just a look at the main points of discussion and how I felt the room reacted to the ideas. You can also see the &lt;a href=&#34;https://www.oxymoronical.com/presentations/addonsmanager-2008-07-29.html&#34;&gt;slides&lt;/a&gt; I prepared or the &lt;a href=&#34;http://wiki.mozilla.org/Summit2008/Sessions/Proposals/Add-on_Manager/Session_Notes&#34;&gt;notes&lt;/a&gt; that Basil kindly took for me without me needing to remember to ask. Most of the session was about things we might want to implement and what problems/benefits we might encounter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thanks Canada (no, really)</title>
      <link>https://www.oxymoronical.com/blog/2008/08/Thanks-Canada-no-really/</link>
      <pubDate>Sun, 03 Aug 2008 06:02:47 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/08/Thanks-Canada-no-really/</guid>
      <description>&lt;p&gt;It’s 6:30am Sunday UK time (though in my weird method of getting over the jet lag that works out as just after lunchtime) and I’ve just got home to Swansea. As many others are I’ve been thinking back over the great times I’ve had over the past two weeks. Needless to say I got out alive, as I believe everyone did (though apparently some are still stranded in Vancouver), despite Canada’s attempts to break us.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keeping Track</title>
      <link>https://www.oxymoronical.com/blog/2008/07/Keeping-Track/</link>
      <pubDate>Tue, 08 Jul 2008 12:58:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/07/Keeping-Track/</guid>
      <description>&lt;p&gt;In the past year or so that I’ve been working for Mozilla I’ve found myself slowly working my way through a bunch of different ways to keep track of all of the work on my plate. I still don’t think I’ve found the best way so I wondered what other people do to manage such things?&lt;/p&gt;&#xA;&lt;p&gt;For a rough idea of my work, most of my work is bug oriented. Either bugs that I want to work on when I get some time, bugs I am actively working on, bugs I am waiting for review on, bugs I am reviewing, bugs I am waiting to check in, bugs I want to backport to a branch… and so on. Then there is other work like planning future work and working with extension authors to help resolve their problems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Filing good Extension Manager bugs</title>
      <link>https://www.oxymoronical.com/blog/2008/06/Filing-good-Extension-Manager-bugs/</link>
      <pubDate>Fri, 27 Jun 2008 12:12:54 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/06/Filing-good-Extension-Manager-bugs/</guid>
      <description>&lt;p&gt;The Extension Manager is pretty complex and so it can be difficult to gather the sort of information needed in a bug report to really diagnose what is going on. When the problem is related to extension installation, upgrade, uninstall or enable/disable, these suggestions should help get as much information as possible into a bug report.&lt;/p&gt;&#xA;&lt;h3 id=&#34;be-specific-in-your-description&#34;&gt;Be specific in your description&lt;/h3&gt;&#xA;&lt;p&gt;While it may appear that your problem happens for “every add-on you try to install” or for “every website” the reality is that add-ons are complex things. A feature of the 20 add-ons you tried might not be present in the one add-on that the developer tests with. If you say precisely what add-ons you tried then the developers will test with those add-on which gives us a better chance of reproducing your problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Should AMO allow adverts for pay-for add-ons?</title>
      <link>https://www.oxymoronical.com/blog/2008/06/Should-AMO-allow-adverts-for-pay-for-add-ons/</link>
      <pubDate>Thu, 26 Jun 2008 11:09:03 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/06/Should-AMO-allow-adverts-for-pay-for-add-ons/</guid>
      <description>&lt;p&gt;Assuming you agree that paying for some add-ons is ok then you have to ask what we do about people using AMO as a marketing platform. This is a tough question since we risk devaluing AMO as a website if it just gets filled up with adverts. I don’t believe that there is an official policy on this. It is such a rare issue right now that maybe one isn’t necessary, but here are are my thoughts on what such a policy might say.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Should developers charge for add-ons?</title>
      <link>https://www.oxymoronical.com/blog/2008/06/Should-developers-charge-for-add-ons/</link>
      <pubDate>Thu, 26 Jun 2008 11:06:34 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/06/Should-developers-charge-for-add-ons/</guid>
      <description>&lt;p&gt;I’m very surprised that many people are questioning whether developers should even be allowed to charge for add-ons. Traditionally it is true that add-ons have been freely available, but I’ve known of pay for add-ons for at least 2 years now (that add-on is still available so must be doing ok) and I imagine there have been some around for longer. Some companys’ entire business rests on their Firefox add-ons. That sort of situation wouldn’t exist if no-one ever paid for add-ons in some way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Money money money</title>
      <link>https://www.oxymoronical.com/blog/2008/06/Money-money-money/</link>
      <pubDate>Thu, 26 Jun 2008 11:04:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/06/Money-money-money/</guid>
      <description>&lt;p&gt;The question about developers charging money for the use of add-ons seems to be getting brought up again lately. One of the more active theme developers has started to charge for premium versions of their themes, leaving free basic versions still available on &lt;a href=&#34;https://addons.mozilla.org&#34;&gt;addons.mozilla.org&lt;/a&gt;. There are a couple of different issues with this, both of which many users are taking exception to. Apparently once I started writing about this I couldn’t stop so I’ve split this out into a couple of different posts to follow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on Developers, Get the News you Crave</title>
      <link>https://www.oxymoronical.com/blog/2008/05/Add-on-Developers-Get-the-News-you-Crave/</link>
      <pubDate>Fri, 16 May 2008 17:23:51 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/05/Add-on-Developers-Get-the-News-you-Crave/</guid>
      <description>&lt;p&gt;Being an add-on developer can be hard work. So many different places to look for information about releases, new features and changes to the platform. How can you be expected to keep up with all this?&lt;/p&gt;&#xA;&lt;p&gt;Well starting next week hopefully we’ll be taking a big step in the right direction. Mozilla are launching about:addons, a newsletter dedicated to getting add-on developers all the important information they need. There will be announcements about when to check your add-ons against new releases of applications, new features added to &lt;a href=&#34;https://addons.mozilla.org&#34;&gt;addons.mozilla.org&lt;/a&gt;, plans for the future that you can get involved with and early warning of API changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s the Future for Add-ons Management?</title>
      <link>https://www.oxymoronical.com/blog/2008/04/Whats-the-Future-for-Add-ons-Management/</link>
      <pubDate>Tue, 15 Apr 2008 10:07:56 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/04/Whats-the-Future-for-Add-ons-Management/</guid>
      <description>&lt;p&gt;With Firefox 3 getting ever closer to release it is time (well, past time) to start thinking about the future. The Extension Manager has seen quite a number of improvements since Firefox 2. Many were designed to be invisible, generally improving stability and fixing oddities. Some are extremely visible such as the &lt;a href=&#34;http://developer.mozilla.org/en/docs/Extension_Versioning,_Update_and_Compatibility#Securing_Updates&#34;&gt;new security requirements&lt;/a&gt; and the &lt;a href=&#34;http://madhava.com/egotism/archive/005011.html&#34;&gt;addons.mozilla.org integration&lt;/a&gt;. The question is, what’s the next step for add-ons management?&lt;/p&gt;&#xA;&lt;p&gt;Here are a few ideas that are floating around my mind to get you started:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why 2 SDKs are better than 1</title>
      <link>https://www.oxymoronical.com/blog/2008/04/Why-2-SDKs-are-better-than-1/</link>
      <pubDate>Thu, 10 Apr 2008 19:30:42 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/04/Why-2-SDKs-are-better-than-1/</guid>
      <description>&lt;p&gt;In the past the Gecko SDK was somewhat limited. You could compile against it, but only if you were using frozen components, of which there are exceptionally few. You can build an application with only them, but I’d be startled if any moderately complicated app or extension gets by with only them. Thankfully this has changed for 1.9 and the new style SDK contains all interfaces and headers, frozen and unfrozen. This gives you access to lots more, though has the minor disadvantage that you have to keep an eye on what you are using as it could break in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Timezones, Testing and Deals with the Devil</title>
      <link>https://www.oxymoronical.com/blog/2008/03/On-Timezones-Testing-and-Deals-with-the-Devil/</link>
      <pubDate>Mon, 10 Mar 2008 16:04:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/03/On-Timezones-Testing-and-Deals-with-the-Devil/</guid>
      <description>&lt;p&gt;Timezones make my head hurt. Not the concept, that is easy, but writing code that works correctly in different timezones. Throw daylight savings correction into the mix and you’ll often find me in a corner rocking gently. The problem of course is that I frequently have to deal with data that isn’t just the standard unix timestamp (or various orders of magnitude away from). A number of times a load of information has been thrown away, never to be recovered which makes life interesting. You end up having to decide which is the best path to take when all of them are wrong in various ways.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meet the New Website, Same as the Old Website, Roughly</title>
      <link>https://www.oxymoronical.com/blog/2008/02/meet-the-new-website-same-as-the-old-website-roughly/</link>
      <pubDate>Tue, 19 Feb 2008 20:04:47 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/02/meet-the-new-website-same-as-the-old-website-roughly/</guid>
      <description>&lt;p&gt;I’ve finally taken the plunge and switched my website to a more modern blogging software (&lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt;) and a dedicated media gallery (&lt;a href=&#34;http://www.gallery2.org/&#34;&gt;Gallery 2&lt;/a&gt;). Hopefully through the magic of redirects most shouldn’t notice much difference. I just hope planet hasn’t decided to dump all my posts onto the front page, if it has then I apologise.&lt;/p&gt;&#xA;&lt;p&gt;I’ve also taken this opportunity to move all my extensions to &lt;a href=&#34;https://addons.mozilla.org&#34;&gt;addons.mozilla.org&lt;/a&gt;. Most are currently still in the sandbox, hopefully they will come public soon. I’m also using the nice new AMO API service to populate details on the add-on homepages, means there is only one place I need to make most changes to.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trimming the Fat</title>
      <link>https://www.oxymoronical.com/blog/2008/02/Trimming-the-Fat/</link>
      <pubDate>Fri, 08 Feb 2008 17:30:27 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/02/Trimming-the-Fat/</guid>
      <description>&lt;p&gt;As I mentioned in my last post and as I know everyone is well aware, tinderbox is starting to feel the strain. You already can’t just glance at it to see what is going on. The Firefox tree is currently showing build and test results from a total of 23 machines. The interesting thing is that not all of these machines are actually doing any compiling. The rest are merely running tests on builds produced by the other machines. That isn’t to say that those test results are less important but I wonder whether it is worth treating these differently.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visualising our Labours</title>
      <link>https://www.oxymoronical.com/blog/2008/02/Visualising-our-Labours/</link>
      <pubDate>Tue, 05 Feb 2008 17:07:18 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2008/02/Visualising-our-Labours/</guid>
      <description>&lt;p&gt;Well it has been a mad few weeks. Between landing the new &lt;a href=&#34;http://madhava.com/egotism/archive/005011.html&#34;&gt;Get Add-ons pane&lt;/a&gt;, sheriffing the Firefox 3 beta 3 freeze, &lt;a href=&#34;http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&amp;amp;date=explicit&amp;amp;mindate=1201658283&amp;amp;maxdate=1201658500&#34;&gt;decimating&lt;/a&gt; old parts of the code and working through &lt;a href=&#34;https://bugzilla.mozilla.org/showdependencytree.cgi?id=404024&amp;amp;maxdepth=1&amp;amp;hide_resolved=0&#34;&gt;follow-up issues&lt;/a&gt; from the Get Add-ons pane and not to mention two 10 hour flights it really has been busy. Thankfully I’ve not just been totally buried under code, I’ve had some small spare time to tinker with a few other things (I need to to keep my sanity).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Authors, Say Hi to McCoy</title>
      <link>https://www.oxymoronical.com/blog/2007/09/Extension-Authors-Say-Hi-to-McCoy/</link>
      <pubDate>Mon, 17 Sep 2007 16:10:36 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/09/Extension-Authors-Say-Hi-to-McCoy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;mccoy128.png&#34;&gt;&lt;img src=&#34;https://www.oxymoronical.com/blog/2007/09/Extension-Authors-Say-Hi-to-McCoy/mccoy128.png&#34; style=&#34;width: 128px&#34; alt=&#34;McCoy&#34; title=&#34;McCoy&#34;&gt;&#xA;  &lt;/a&gt;I know all you extension authors out there have been understandably miffed at the add-on update security bits landing before you could do anything about it, so I’ve pushed hard and we can now make an early version of McCoy available.&lt;/p&gt;&#xA;&lt;p&gt;McCoy is the tool to use if you are hosting your own add-ons and for whatever reason cannot use SSL to secure the updates. If you haven’t yet heard about the new security restrictions that will be in Firefox 3 or you don’t quite understand them yet then why not skip on over to the vastly improved &lt;a href=&#34;http://developer.mozilla.org/en/docs/Extension_Versioning%2C_Update_and_Compatibility&#34;&gt;add-on updates documentation&lt;/a&gt; and take particular note of the security section.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ZipWriter is Here!</title>
      <link>https://www.oxymoronical.com/blog/2007/09/ZipWriter-is-Here/</link>
      <pubDate>Mon, 17 Sep 2007 16:04:11 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/09/ZipWriter-is-Here/</guid>
      <description>&lt;p&gt;Yes, finally after months of twiddling my thumbs waiting for approval to land the zipwriter component has gone into trunk, and is enabled for all applications (some apps might need to add the interface to their packages list). If you want to use check out the &lt;a href=&#34;http://mxr.mozilla.org/seamonkey/source/modules/libjar/zipwriter/public/nsIZipWriter.idl&#34;&gt;interface&lt;/a&gt;, it’s fairly well documented I think. That magic contract ID you need is “@mozilla.org/zipwriter;1”.&lt;/p&gt;&#xA;&lt;p&gt;It’s been quite a long process both writing the code, getting reviewed and getting agreement for it to appear in Firefox so I hope all you extension authors and application developers are going to make good use out of it in your projects. Let me know what you come up with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on Security Restrictions Landed</title>
      <link>https://www.oxymoronical.com/blog/2007/09/Add-on-Security-Restrictions-Landed/</link>
      <pubDate>Mon, 03 Sep 2007 23:49:14 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/09/Add-on-Security-Restrictions-Landed/</guid>
      <description>&lt;p&gt;I have just checked in &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=378216&#34; title=&#34;Disable insecure extension updates by default&#34;&gt;Bug 378216&lt;/a&gt;, and wanted to give a quick heads up on it.&lt;/p&gt;&#xA;&lt;p&gt;What this means is that we are now enforcing a security restriction on all add-ons. To be specific, if an add-on does not provide a secure method of auto-updating then by default Firefox will refuse to install the add-on. If you have add-ons already installed that are insecure in this way then they will be automatically disabled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Practice what you Preach</title>
      <link>https://www.oxymoronical.com/blog/2007/08/Practice-what-you-Preach/</link>
      <pubDate>Sun, 19 Aug 2007 17:47:08 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/08/Practice-what-you-Preach/</guid>
      <description>&lt;p&gt;One of the main parts of my work for Mozilla at the moment is about &lt;a href=&#34;http://wiki.mozilla.org/User:Mossop:Fx-Docs:AddonUpdateSecurity&#34;&gt;securing add-on updates&lt;/a&gt;. The spec is now pretty near complete and the implementation is also pretty much complete so hopefully we can start pushing out the necessary tools to add-on authors real soon then land the work shortly after.&lt;/p&gt;&#xA;&lt;p&gt;Of course it wouldn’t be right for me to push this out without first making my own extensions comply with the new requirements. So today I am rolling out updates to all of them, mostly just changing the update url to an SSL one, though a couple of the extensions (&lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;Nightly Tester Tools&lt;/a&gt; and &lt;a href=&#34;https://www.oxymoronical.com/web/firefox/FindBarRX&#34;&gt;/Find Bar/&lt;/a&gt;) have some additional updates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let the Testing Commence</title>
      <link>https://www.oxymoronical.com/blog/2007/08/Let-the-Testing-Commence/</link>
      <pubDate>Sun, 12 Aug 2007 06:38:49 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/08/Let-the-Testing-Commence/</guid>
      <description>&lt;p&gt;After a fair bit of work (feels like longer than 2 months) I’ve finally managed to get &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=382752&#34;&gt;bug 382752&lt;/a&gt; landed. What this gives us in simple terms is a set of functions that we can use in order to do unit testing on the extension manager. Alongside I have checked in the first unit test. Now if anything regresses &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=257155&#34;&gt;bug 257155&lt;/a&gt; we should know about it immediately.&lt;/p&gt;&#xA;&lt;p&gt;Ignoring the regression detection, I’ve always found unit tests to be fantastically useful when developing new code or fixing bugs. Zipwriter is a prime example, with a large number of tests that I can run by typing a single command I can test whether the changes I have made have solved the problem and not introduced any other errors.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Wonder of Stats (Or where did all my users go!)</title>
      <link>https://www.oxymoronical.com/blog/2007/07/The-Wonder-of-Stats-Or-where-did-all-my-users-go/</link>
      <pubDate>Fri, 20 Jul 2007 20:08:19 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/07/The-Wonder-of-Stats-Or-where-did-all-my-users-go/</guid>
      <description>&lt;p&gt;For some time now I’ve promised myself that I’d sort out a simple system to view stats about how many people are using my extensions. The idea is a simple one, on a daily basis Firefox (or whatever app) will ping my site checking for an update for the extension. Counting the number of checks in a day gives you a rough idea of the number of users. You can’t take the numbers literally of course but as ballpark figures go it’s probably not bad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Nightly Tester Tools</title>
      <link>https://www.oxymoronical.com/blog/2007/07/New-Nightly-Tester-Tools/</link>
      <pubDate>Tue, 03 Jul 2007 00:59:21 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/07/New-Nightly-Tester-Tools/</guid>
      <description>&lt;p&gt;I don’t normally do announcements of new versions of my extensions here but unfortunately there was a problem with the packaging of the last version of Nightly Tester Tools so if you want to get the latest and greatest version then you’ll have to &lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;download it&lt;/a&gt; manually.&lt;/p&gt;&#xA;&lt;p&gt;Sorry, I’ll try not to let it happen again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Securing Add-on Updates</title>
      <link>https://www.oxymoronical.com/blog/2007/07/Securing-Add-on-Updates/</link>
      <pubDate>Sun, 01 Jul 2007 00:00:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/07/Securing-Add-on-Updates/</guid>
      <description>&lt;p&gt;Since the disclosure of potential vulnerabilities in the way Firefox (and other Mozilla applications) automatically update your add-ons we have been discussing how to tighten up the system in a way that is hopefully unnoticeable to users and not much extra work for add-on authors.&lt;/p&gt;&#xA;&lt;p&gt;After a process of listening to authors on the newsgroups, forums and by email we now have a &lt;a href=&#34;http://wiki.mozilla.org/User:Mossop:Fx-Docs:AddonUpdateSecurity&#34;&gt;rough proposal&lt;/a&gt; of what changes we are looking to make. There’s still a few minor details to be ironed out of course. This is mainly of interest to add-on authors since there is an impact depending on how you host your updates. I’ve started threads on the &lt;a href=&#34;http://groups.google.com/group/mozilla.dev.extensions/browse_frm/thread/a29f213e165d8267/93a7917b0c1e63c3&#34;&gt;newsgroup&lt;/a&gt; and &lt;a href=&#34;http://forums.mozillazine.org/viewtopic.php?p=2927908&#34;&gt;forums&lt;/a&gt; so if you want to discuss the proposal there then that’d be good. I’d prefer it if you didn’t edit the main page of the wiki but feel free to stick small comments onto the discussion page.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spam: The Neverending Story</title>
      <link>https://www.oxymoronical.com/blog/2007/06/spam-the-neverending-story/</link>
      <pubDate>Wed, 20 Jun 2007 15:58:23 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/spam-the-neverending-story/</guid>
      <description>&lt;p&gt;Spam is one of those evils of the modern age. It looks less and less likely that a real 100% effective solution will be found which is a little sad but not a major deal to my mind. I’ve managed to turn off my old junk email accounts and train my filter to clear out 90% of the junk I receive. Surprisingly I’ve had more problems with spam comments on this site than I have in my email lately. Even with comment moderation turned on the Tab Sidebar extension was receiving a silly amount of junk comments. It probably still is but I’m now using a simple blacklist to catch it all.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Developer Conference: Worth losing sleep over</title>
      <link>https://www.oxymoronical.com/blog/2007/06/Firefox-Developer-Conference-Worth-losing-sleep-over/</link>
      <pubDate>Sat, 16 Jun 2007 13:02:15 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/Firefox-Developer-Conference-Worth-losing-sleep-over/</guid>
      <description>&lt;p&gt;Last night (or I should say early this morning) I got a chance to watch some of the webcasts from the &lt;a href=&#34;http://wiki.mozilla.org/Japan/FxDevCon/Summer2007/English&#34;&gt;Firefox Developer Conference&lt;/a&gt; in Tokyo. I had been wanting to attend one of the previous &lt;a href=&#34;http://wiki.mozilla.org/DeveloperDays&#34;&gt;developer days&lt;/a&gt; but had to pull out due to accommodation problems so it was really great that webcasts were available, I believe this is the first developer day to do so.&lt;/p&gt;&#xA;&lt;p&gt;I managed to catch most of the sessions on FUEL and XULRunner and some of the presentations on the development environments that extension authors use. The first two were good to watch, simple overviews of topics that can often get too bogged down in details. I won’t say I learned a great deal new from them, but then given my background I wouldn’t expect to. I really hope they make the recordings available so when the next person comes onto IRC asking what XULRunner is we can point them to it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add-on Authors? Do you host your own?</title>
      <link>https://www.oxymoronical.com/blog/2007/06/Add-on-Authors-Do-you-host-your-own/</link>
      <pubDate>Fri, 15 Jun 2007 23:11:33 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/Add-on-Authors-Do-you-host-your-own/</guid>
      <description>&lt;p&gt;We’re looking at the situation of automatic updates for add-ons and whether or not tightening up the security of such updates is a good idea or not (this is one &lt;a href=&#34;http://paranoia.dubfire.net/2007/05/remote-vulnerability-in-firefox.html&#34;&gt;good reason&lt;/a&gt; why it could be). After some initial talking I would like to get a little feedback from the add-on authors out there who host their add-ons on their own websites and not on addons.mozilla.org. Are you such a person? If so then please take a few moments to check out the &lt;a href=&#34;http://forums.mozillazine.org/viewtopic.php?t=558599&#34;&gt;thread in the forums&lt;/a&gt; or on the &lt;a href=&#34;http://groups.google.com/group/mozilla.dev.extensions/browse_frm/thread/91d90abaa9ca60e8/51441a2a4a2a489b#51441a2a4a2a489b&#34;&gt;newsgroup&lt;/a&gt; and take a few moments to answer my questions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why would you want a decent password? It&#39;s only money!</title>
      <link>https://www.oxymoronical.com/blog/2007/06/why-would-you-want-a-decent-password-its-only-money/</link>
      <pubDate>Fri, 15 Jun 2007 22:22:41 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/why-would-you-want-a-decent-password-its-only-money/</guid>
      <description>&lt;p&gt;I guess it goes without saying that I’m fairly technically literate and as such I’m pretty well versed in both what makes a strong password and actually using them. I actually have a pair of passwords, one that I use for what I consider my more important logins (company accounts, servers and the like), and another that is for lesser services that if I lost or it got hacked then it wouldn’t be a major compromise of anything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Easy(er) Leak Testing With NTT</title>
      <link>https://www.oxymoronical.com/blog/2007/06/Easyer-Leak-Testing-With-NTT/</link>
      <pubDate>Wed, 13 Jun 2007 22:50:37 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/Easyer-Leak-Testing-With-NTT/</guid>
      <description>&lt;p&gt;David Baron recently &lt;a href=&#34;http://dbaron.org/log/2007-06#e20070612a&#34;&gt;put out the call&lt;/a&gt; for there to be more leak testing on trunk builds.Â We have a number of regressions that we need to find and fix before Firefox 3 goes out the door. The best way to do leak testing has always been to use his excellent leak-gauge script which catches more leaks than the leak monitor extension. Unfortunately the leak-gauge script is not the easiest of beasts to play around with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Long Time No Post</title>
      <link>https://www.oxymoronical.com/blog/2007/06/long-time-no-post/</link>
      <pubDate>Wed, 13 Jun 2007 21:52:13 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/06/long-time-no-post/</guid>
      <description>&lt;p&gt;Wow, it’s been a month to the day since my last post here, and quite a lot’s happened in that time. Those of you that keep up on Mozilla things might realise that I have changed jobs and I’m now working for Mozilla on the Firefox team under &lt;a href=&#34;http://steelgryphon.com/blog/&#34;&gt;Mike Connor&lt;/a&gt;. I’m going to be putting work into the addons side of Firefox 3, in particular taking some of the &lt;a href=&#34;http://wiki.mozilla.org/Firefox3/Product_Requirements_Document#Add-ons&#34;&gt;main requirements&lt;/a&gt; as well as tackling some of the really &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=312473&#34;&gt;irritating&lt;/a&gt; &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=340219&#34;&gt;issues&lt;/a&gt; that have lain dormant for a little too long for my liking. Most exciting stuff for me right now (yes I know, I’m sad!) is that I’ve been working on doing &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=382752&#34;&gt;unit tests&lt;/a&gt; for the extension manager component which makes testing new patches far easier to my mind as well as of course allow us to start catching regressions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac Intel Gecko SDK</title>
      <link>https://www.oxymoronical.com/blog/2007/05/Mac-Intel-Gecko-SDK/</link>
      <pubDate>Sun, 13 May 2007 22:38:37 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/05/Mac-Intel-Gecko-SDK/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Mozilla now produce &lt;a href=&#34;https://developer.mozilla.org/en/Gecko_SDK&#34;&gt;intel gecko SDK&lt;/a&gt;s so there is no need to use the version I have put here, I’ll leave it for posterity though.&lt;/p&gt;&#xA;&lt;p&gt;It’s currently a bit of a pain building xpcom components in intel macs. The only officially available sdk is ppc only. Until Mozilla come up with an official version, here is an intel build of it for those that want it: &lt;a href=&#34;https://www.oxymoronical.com/files/gecko-sdk-mac-intel-1.8.1.3.zip&#34;&gt;gecko-sdk-mac-intel-1.8.1.3.zip&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;As the name suggests it’s built against Gecko 1.8.1.3. To the best of my knowledge it’s right but please don’t bug me if you can’t get your component to work with it unless you’re pretty positive that it’s the sdk that’s wrong.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zip Writer Goodness</title>
      <link>https://www.oxymoronical.com/blog/2007/05/Zip-Writer-Goodness/</link>
      <pubDate>Fri, 04 May 2007 22:59:27 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/05/Zip-Writer-Goodness/</guid>
      <description>&lt;p&gt;I can’t believe it’s been over a month since I wrote something here. Well I kinda can, lots of hectic stuff going on at my work right now which has been making finding time for Mozilla stuff tricky. Hopefully not for much longer.&lt;/p&gt;&#xA;&lt;p&gt;I’m glad to say that I have managed to make great progress on the zip writer component. I have decided that dealing with multiple platform compiles for &lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;Nightly Tester Tools&lt;/a&gt; is just a bad idea, so instead I have pushed on with submitting the zip writer to Mozilla for &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=379633&#34;&gt;review&lt;/a&gt;. Hopefully that will make it into tree where I (and of course anyone else) can just use it. There’s been a bunch of changes between the version I posted earlier and that that’s gone up for review, not least of which is a set of testcases that have made sure I didn’t break the old by making some clean-ups.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extension Updates</title>
      <link>https://www.oxymoronical.com/blog/2007/03/Extension-Updates/</link>
      <pubDate>Sat, 31 Mar 2007 16:30:59 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/Extension-Updates/</guid>
      <description>&lt;p&gt;Obviously for those keeping up with this rather minimal blog I’m somewhat behind where I hoped to be since my last post. Still no new release of Nightly Tester Tools so I thought it worth giving a quick round-up of the few extension’s I’m still working actively on and what’s happening with them:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;Nightly Tester Tools&lt;/a&gt; is getting the main development work right now. My previous few weekends have been spent working on coding zip support so that it can update an extension’s compatibility info on the fly in the xpi file. This will allow the Mozilla extension manager to do it’s job, which is handling the safe install of the extension itself. Right now I’ve slowed down because I’m about to start talking to Mozilla about getting the zip writing component into the Mozilla platform which will undoubtedly require some API changes. That and I don’t have a Linux or Windows platform to do a build of the component on. If anyone wants to volunteer to assist (you need to already have experience of building a mozilla app) then please &lt;a href=&#34;https://www.oxymoronical.com/view/846&#34;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zip Writer Update</title>
      <link>https://www.oxymoronical.com/blog/2007/03/Zip-Writer-Update/</link>
      <pubDate>Sun, 18 Mar 2007 22:06:05 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/Zip-Writer-Update/</guid>
      <description>&lt;p&gt;I spent some more time this weekend hacking on my Zip Writer component. It’s now pretty capable. It can open existing zip files and remove entries and append to them, happily rewriting the headers and everything exactly as it encountered them. And the other major win is that I have deflate code up and running which makes compression possible.&lt;/p&gt;&#xA;&lt;p&gt;All this has allowed me to reintroduce making extensions compatible during the install process in a far safer way than was the case before. NTT can now watch the EM datasource, spot that an extension has finished being downloaded, then open that extension’s xpi file and if necessary rewrite the metedata to claim compatibility with the current version of whatever app you happen to be running in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Long Standing Crappiness</title>
      <link>https://www.oxymoronical.com/blog/2007/03/Long-Standing-Crappiness/</link>
      <pubDate>Tue, 06 Mar 2007 23:23:50 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/Long-Standing-Crappiness/</guid>
      <description>&lt;p&gt;So there’s been this &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=319196&#34;&gt;bug&lt;/a&gt; in Firefox for … well quite a while where it would suddenly stop remembering your toolbar customisations, window positions and even make your bookmarks appear to not be there, and in Firefox 1.5, make the search bar non-functional.&lt;/p&gt;&#xA;&lt;p&gt;Well I’m quite proud to say that after quite a lot of research, and help from those guys doing Firefox support, particularly stevee, I think I have a fix for at least part of the problem. This bug (or at least the part I’m interested in) is all caused by one corrupt file. For quite some time I was unable to reproduce, and it turns out that that’s because the issue actually resolves itself in Minefield which is what I use day to day. Once I started testing on BonEcho it became pretty obvious what was going on. So the patch I’ve just posted for review basically spots a corrupt file on startup, and deletes it. Short and sweet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zip Writer</title>
      <link>https://www.oxymoronical.com/blog/2007/03/Zip-Writer/</link>
      <pubDate>Mon, 05 Mar 2007 00:00:00 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/Zip-Writer/</guid>
      <description>&lt;p&gt;One of the annoying omissions from the Mozilla platform has always been the inability to create a zip file. It’s been bugging me for some time since it’s the only way for &lt;a href=&#34;https://www.oxymoronical.com/web/firefox/nightly&#34;&gt;Nightly Tester Tools&lt;/a&gt; to properly manage overriding compatibility for an individual extension install, without doing dangerous things like it used to. There’s been a &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=338987&#34;&gt;Google Summer of Code&lt;/a&gt; project on creating such functionality but it didn’t get all that far.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Muppet Parade</title>
      <link>https://www.oxymoronical.com/blog/2007/03/muppet-parade/</link>
      <pubDate>Thu, 01 Mar 2007 22:34:54 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/muppet-parade/</guid>
      <description>&lt;p&gt;Yes I am shamelessly adding new posts in an attempt to make the front page look something other than sparse, well sort of…&lt;/p&gt;&#xA;&lt;p&gt;Anyone who read my homepage for about the past year will remember some idiot sending me a pointlessly rude email. Well coincidentally it happened again so I thought I’d share this one as well. Now remember that (due to my shameless neglect to do anything about it) when people fill in the contact form on my site, I have absolutely no clue where they are coming from or quite often what they are talking about:&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Post!</title>
      <link>https://www.oxymoronical.com/blog/2007/03/first-post/</link>
      <pubDate>Thu, 01 Mar 2007 22:20:06 +0000</pubDate>
      <guid>https://www.oxymoronical.com/blog/2007/03/first-post/</guid>
      <description>&lt;p&gt;Well here we are, the first post of what I&amp;rsquo;m trying my best not to call a blog, since I secretly snigger at my friends who have blogs.&lt;/p&gt;&#xA;&lt;p&gt;For those of you new to this site, welcome, for those returning, check out the spiffy new look, ain&amp;rsquo;t it thousands of times better than it was! There&amp;rsquo;s still a bit of work to do, improving the information on my extensions and such but my website has always been a bit of a work in progress.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
