There's been a lot of talk about HTTP cookies lately. I decided to take a look at my cookies database and these are some of the things I found:
Firefox doesn't clear away expired cookies. No big deal for most people. You might think otherwise.
It's the expiry dates that get me. Is there really any reason for a website to store a cookie for 25 years? Is it really going to be useful to Dell, to know when I last visited (September 15th, apparently) 900 years from now? Does Bitbucket need to know what repos I recently viewed, until a few decades before the Mayan Calendar requires a sixth digit? (You remember the Mayans, right?)
Because I can, I made a small add-on to clean up some of this detritus from the cookies database. It can delete expired cookies, cookies you haven't used for a while (you get to set how long), and will alter the expiry date of remaining cookies so that they don't last until the Sun burns up the Earth. It will even do so automatically, when you take a break to watch Sesame Street.
You can use it now too. Here it is. I named it Cookie Time after a company that makes delicious real cookies (feel free to send me some).
Om nomnom nom nom.
I haven't done much lately but I haven't done absolutely nothing. Given that I look at my Lightning calendar every day, some things began to irritate me. I've started to fix them.
(Note that I don't actually plan to fork Lightning and release it, I'm just using the term for pun value.)
Things you can see here:
Things you can't see:
All these things and a few more are available as-is on my c-c patch queue if you're interested in trying them. I've done the easy 80%, and I wish I could justify spending the time on the hard 20%, but I just need to look at the picture above to see the reminders of bills that need to be paid.
As an add-on developer, I don't like doing localization. It's one of those hurdles I have to get over before I can release something. The thought process goes something like this: "I really want to release this new version for people to use and love and send me money for. Oh, I should probably get the translated strings up-to-date. Ugh."
What if localizing was as easy as merging a pull request?
There's a problem with that. Translators probably don't know git¹, and programmers are probably busy programming.
What if we took GitHub, and mushed it together with localization?
Ah, now that I can do, or rather, I can get a computer to do. Get the strings translated, turn the changes into a patch, upload to GitHub. Boom.
So that's what I've done. Introducing Zoo. Nothing really all that fancy, just a text box for each string, and some code to do all the complicated stuff. It's far from ready for the prime-time, but it should be good enough if you're a translator and want to muck around with something different. I've loaded up four of my add-ons there (they come with some existing translations which you won't be able to edit) as a starting point.
I'm nervous about posting this. Please don't break it.
(I'm often lurking in #developers on Mozilla IRC in the US evening/Asian day/European morning, come say hi.)
¹ But, I have had two translation pull requests this week. That makes a total of two, ever. It confirmed what I thought though, that this is a great way of doing things.
Here's a graph (or a chart if you're that way inclined) of the users of one of my add-ons over time. Firefox 14 - 16 are missing from it which is confusing, but that's not the unusual bit. Let's see if you can spot it:
Sorry if you've been writing to me about my add-ons or other work... these things have been on the back burner for me lately.
Oh, and I have a broken wrist and won't be writing any code for some time.
Recently I've decided to make better use of my GitHub account by putting some of my work out there for others to see and contribute to, if they feel the need. It's also been a chance to read through a lot of my old code and tidying it up (plenty of WTF was I thinking? moments).
So here you go, DarkTrojan on GitHub.
Bug 777882 was filed recently, so I've now been around for half of all the bugs on bugzilla.mozilla.org. My first bug was 388941 (not a spectacular success).
As I write this, the builders are compiling code without nsILocalFile for the first time. It's no longer used by any interface or C++ code - except for a few places where it's necessary to avoid everything blowing up. This should make working with files simpler and less confusing for new people, such as first-time add-on developers.