Mar 222010

My cholecystectomy (gall bladder removal) is scheduled for the afternoon of Monday, April 5th. I’ll be taking Monday through Wednesday off that week, and possibly longer if recovery takes longer than expected. Odds are good I’ll be responsive to email by Tuesday or Wednesday but I fully intend to take it easy for at least a couple of days.

 Posted by at 1:05 PM
Mar 172010

Yesterday afternoon, I talked to the nurse at the doctor’s office, and she confirmed that I do in fact have gallstones. After talking to her for a couple of minutes, it was still unclear whether or not that meant I should be looking at having my gall bladder removed right away, or wait for it to get worse. My immediate inclination is to do it sooner rather than later, since it will almost certainly have to be done eventually, and I’d hate to have an attack while traveling (say, in Jamaica for my brother’s wedding in December).

I asked if she could get some advice from the doctor for me, and she said she would and would call me back today. A few minutes ago, having not heard anything yet, I went ahead and called over to them. She went home sick early yesterday and failed to ask the other nurse to follow up, so now, since my doctor is in surgery, I’m stuck waiting another day to find out whether or not I’m correct that I should go ahead and get this done soon.

Basically, the only real information I need is “are the stones I have such that it’s fairly likely to keep getting worse until I need to have this thing removed, or is this something that could be pretty much fine for many years?”

The safest bet is probably to get it taken out right away, but I do want to get all the information I can first.

Sigh. I hate waiting. Especially when I know the likely outcome.

 Posted by at 2:56 PM
Mar 172010

We have a few new and changed templates on MDC that I’d like to share, that will help make various things easier to mark up, and will clarify some edge cases that needed clarification.

Changed templates

Several templates have been improved to do a better job of directing to the correct language, even when used in unusual workspaces in the wiki (for example, domxref and cssxref both work correctly when used in the Project subtree of the wiki.

Also, the templates that automatically add text listing applications based on a given Gecko version (gecko_minversion_header, for example), have been revised so that instead of each of them embedding all the code to figure out and insert the application versions, they each use a sub-template, geckoRelease, to do this work. This will obviously make updating these templates much less painful in the future.

Changes to the “obsolete_inline” template

The obsolete_inline template, used to tag items in a list or table as obsolete, now accepts an optional parameter that indicates the Gecko version in which the API became obsolete. If provided, the text in the displayed tag changes from simply “Obsolete” to “Obsolete in Gecko X”.

Changes to the “domxref” template

The domxref template is used to create a link to a page in the Gecko DOM Reference. It’s been revised so that if you include parentheses at the end of the name of the destination, the link is created to the corresponding page but with parentheses displayed at the end of the name, so that it’s clear that the link is to a method. For example, {{domxref(“document.getElementsByName()”)}} creates a link to “” that is displayed as “document.getElementsByName()”.

New templates

There are also several cool new templates.

Creating Gecko version call-out boxes

In the past, it’s been tricky to include text that applies to a specific version of Gecko (or later) in an article that otherwise also applies to older version of Gecko. We now have a special template and CSS class that work together to let you create boxes — from single line notes to full article sections — that apply to specific Gecko versions.

First, here’s a screen shot of what it looks like in Firefox trunk nightlies:

Screen shot from Firefox nightly

Note the stylish use of CSS gradients here. The CSS smartly falls back to using solid colors if you’re not using a browser that supports Mozilla’s proposed syntax for gradients.

To use this, you start by using the gecko_callout_heading template, like this:


This creates the title. Then you write all your text that belongs in the callout box. You can use code samples, other templates, styles, and so forth as you need to. Then select the entire section that belongs in the callout box, including the title template, and click the div button in the editor’s toolbar:

This brings up the “Create Div Container” dialog box:

Choose the “Version note box” style and click OK. That will apply the appropriate styles so that when the page is viewed, the callout box is all beautiful.

You may note that “Version note box” is listed in the Style popup in the editor’s toolbar. Don’t let this fool you! Choosing it will not work correctly; it will wrap each paragraph or block you have selected in its own box, which is not what you want.

The new “renamed_inline” template

The new renamed_inline template can be used to tag an API in a list or table as having been renamed. This makes it easy to update documentation to reflect changed names. The template accepts two parameters: the previous name of the API and the version of Gecko in which the API’s name changed. For example, {{renamed_inline(“oldapiname”, “1.9.1”)}} would add a little box that says “Renamed from oldapiname in Gecko 1.9.1″.

The new “HTMLElement” template

The new HTMLElement template inserts a link to an element’s documentation in our HTML element reference.

 Posted by at 2:45 PM
Mar 142010

Ultrasound of my gall bladder was negative. Waiting on results from the other tests. The ultrasound technician did re-confirm that I do in fact have only one kidney — the one on the right. On the left, the kidney is just not there. And boy did she look for it!

Hopefully I’ll have results by mid-week or so.

Oddly, I’m still having bouts of nausea and discomfort after the Hepatobiliary Imino-Diacetic Acid (HIDA) scan. The drug they injected to make my gall bladder work its magic in a hurry seems to have disagreed with me rather intensely. Still, I continue to gradually improve and think I’ll be back to normal by Monday. Bleah though.

 Posted by at 1:59 AM
Mar 112010

I’ll be out of the office for a few hours tomorrow morning. After some severe discomfort/pain the other day, my doctor wants me to get my gall bladder checked out, so I’m going in early tomorrow for an ultrasound to see if I have gallstones.

Best case scenario: I have gallstones, and we schedule me to have my gall bladder removed.

If the ultrasound comes up negative, they’ll be immediately taking me in for another test, this one involving injecting a radioactive tracer and following it through my system to see how my liver and gall bladder are functioning. This involves an injection (thereby triggering my intense aversion to needles) and then a lot of waiting around while they take periodic pictures of my insides.

If that test comes up clear, then the problem was something other than my gall bladder and I don’t know what happens next.

If that test indicates a problem, I presume my gall bladder comes out then too. I’d obviously prefer that the first test be the one to determine that my gall bladder should be removed, since I don’t particularly want to deal with the second test. Going through both, especially if both are negative, would kind of suck.

At any rate, this is a longwinded way of saying that I won’t be around until later than usual tomorrow, although I’ll certainly be tweeting and checking mail as holding patterns in the testing allow. If the ultrasound is positive, I’ll probably be at my desk by noon or so Eastern. If it’s negative, and I have to have the other test too, then it’ll probably be early to mid-afternoon instead.

 Posted by at 7:09 PM
Mar 072010

I recently started blocking ads in my browser. I don’t actually mind advertising, and I resisted blocking ads for a long time. I understand that some sites rely on ad revenue to earn a living, and I’m fine with that.

Why, then, have I started blocking ads?

Simple. Companies that insist on using tricks to try to force you to look at ads you don’t want to see. Pop-up and pop-under ads, for example.

Worse, to me, is those ads that pop up if you simply mouse over text in the middle of a news story. This is the epitome of skanky behavior on the part of advertisers. It’s offensive and disruptive. This is why I block ads now. If advertisers would simply realize, “Hey, if we only put some ads here and there in the main page and refrain from making them stunningly distracting, from interfering with the actual usability of the site,” then I would be perfectly happy to turn off the ad blockers and let the ads back into my life.

Until then, I’ll block the ads.

 Posted by at 12:11 AM
Mar 032010

As I’ve blogged before, we’re trying to upgrade the Mozilla Developer Center to the “Noatak” release of MindTouch (version 9.12).

Unfortunately, we’re still having trouble getting the RSS feeds on the staging server to work and so far nobody can figure out why. We’re still working with the support guys at MindTouch, trying to figure this out. It’s the last remaining hold-up; once this is resolved, we’ll be throwing the switch, so to speak.

I’ve blogged in the past a little about what we expect to gain with the Noatak upgrade, but MindTouch has updated their release notes since then, so I’m going to go over it some more.

Performance and Scaling

One of the big wins (we hope) for us will be performance. MindTouch refactored their API to help reduce the number of database hits needed to get things done. In addition, they implemented a new caching module that in their tests speeds up page performance by up to 10x.

They’ve also further improved their support for running across multiple application servers, which we do, although it’s unclear how much of this work we don’t already have, since we’re running a custom build that already integrates several of these changes. However, one additional benefit that most people won’t see — but will be helpful for administration purposes — is that the control panel now shows the status of the Lucene indexer, so I’ll be able to tell if an index pass is underway and if so, how far along it is.

UI improvements

I’ve mentioned before that they’ve added preliminary support for CKEditor 3.0. By default, however, it will still be using the FCKeditor 2.6.x that we’re currently using. We’ll look at switching over sometime after we get deployed, in order to deal with these things one step at a time. Because CKEditor support is new, there may be additional risks involved in switching to it, so we’re not in a hurry to do so.

Once we do, though, we expect the editing experience to be noticeably improved, as it’s faster and more accessible, and offers more customization options that we’ll be able to leverage.

Also, one problem many people have reported is data loss when they try to save but have gotten logged out or lose their internet connection. While over the long term, the ideal solution would be some kind of AJAX-based saving solution, Noatak adds a check where if the save would fail, you get a warning message but don’t lose your edit. Instead, you can — at least — copy and paste your work into another document, then log in and return to the editor to paste your edit back in and save. It’s not a perfect solution but is vastly better than silently losing your work!

Improvements have also been made to file attachment management, making it easier to avoid accidentally attaching multiple copies of the same thing instead of new versions superseding older ones.

Wrap up

So this is all pretty good. It’s not an enormous release in terms of user-facing features, but should be a win for performance and reliability. Of course, we won’t really know for sure how much of a benefit we’ll get out of it until we’ve deployed it and see how it fares when pounded on by our many gazillions of users.

 Posted by at 2:12 PM