To my surprise, damned good.
It was nine years ago today that I joined Mozilla as a senior technical writer. I was hired by Mike Shaver and Deb Richardson to help try to keep up with the pace of progress and to work on organizing and cleaning up older content as well. I actually started working the last few days of March, but my first official day (that is to say, the first day I was paid for) was April 3, 2006.
My daughter wasn’t even a year old yet then. Now she’s almost finished with the fourth grade.
We were deep into the documentation process for Firefox 2.0 back then (not to mention trying to finish bits and pieces of critical documentation for Firefox 1.5, which shipped months earlier). It shipped a few months after my joining the company, and was the first release we generally felt was completely documented (for a slightly flexible definition of “completely”).
A lot has changed over those nine years. Back then, Deb and I were the entire writing staff; we had some contributors but not nearly enough. Then Deb moved onward and upward into other awesome things and it was just me for a while. But eventually we started hiring more writers, thankfully, and we wound up with the kick-ass staff we have today. And as we built up our staff, we learned more about community building, and our community of volunteer writers and contributors has grown at an ever-increasing rate.
This is far and away the longest I’ve spent at any job. It’s a great deal of fun, even when I’m stressing out over all the stuff I wish I had time to write about but don’t. Making the world a better place to be a Web developer is a rewarding career path, and I’m glad Dave Miller steered me into the Mozilla community.
Great adaptation. Only okay movie.
Cool idea! Not my style.
I love working at Mozilla.
I love the rapid progress we’re making in building a better Web for the future. I love that the documentation I help to produce makes it possible not only for current experts to use technology to create new things, but for kids to turn into the experts of the future. I love that, as I describe what I do to children, I teach programmers how to program new things.
I love the amazing amount of stuff there is to work on. I love the variety and the fun assortment of things to choose from as I look for the next thing to write about.
I love working in an organization where individual achievement can be had while at the same time being a team player, striving not to rake in dollars for the company, but to make the world a better place through technology and knowledge exchange.
It’s frustrating how fast things are changing. It’s frustrating to finish documentation for a technology only to almost immediately discover that this technology is about to be deprecated. It’s frustrating to know that the software and APIs we create can be used by bad people to do bad things if we make mistakes. It’s frustrating that my job keeps me from having as much free time as I’d like to have to work on my own projects.
It’s frustrating that I’m constantly on the brink of being totally overwhelmed by the frighteningly long list of things that need to be done. It’s frustrating knowing that my priorities will change before the end of each day. It’s frustrating how often something newly urgent comes up that needs to be dealt with right away.
It’s frustrating that no matter how hard I try, there are always people I’m never quite able to reach, or whom I simply can’t interface with for some reason.
There’s a lot to be frustrated about as a Mozillian. But being part of this wild, crazy adventure in software engineering (or, in my case, developer documentation) is (so far, at least!) worth the frustration.
I love being a Mozillian.
I can’t believe another week has already gone by. This is that time of the year where time starts to scream along toward the holidays at a frantic pace.
What I did this week
- I’ve continued working heavily on the server-side sample component system
- Implemented the startup script support, so that each sample component can start background services and the like as needed.
- Planned and started implementation work on support for allocating ports each sample needs.
- Designed tear-down process.
- Created a new “download-desc” class for use on the Firefox landing page on MDN. This page offers download links for all Firefox channels, and this class is used to correct a visual glitch. The class has not as yet been placed into production on the main server though. See this bug to track landing of this class.
- Updated the MDN administrators’ guide to include information on the new process for deploying changes to site CSS now that the old
CustomCSSmacro has been terminated on production.
- Cleaned up Signing Mozilla apps for Mac OS X.
- Created Using the Mozilla build VM, based heavily on Tim Taubert’s blog post and linked to it from appropriate landing pages.
- Copy-edited and revised the Web Bluetooth API page.
- Deleted a crufty page from the Window API.
- Meetings about API documentation updates and more.
That’s a short-looking list but a lot of time went into many of the things on that list; between coding and research for the server-side component service and experiments with the excellent build VM (I did in fact download it and use it almost immediately to build a working Nightly), I had a lot to do!
My work continues to be fun and exciting, not to mention outright fascinating. I’m looking forward to more, next week.
I’ve been working on getting a first usable version of my new server-side sample server project (which remains unnamed as yet — let me know if you have ideas) up and running. The goals of this project are to allow MDN to host samples that require a server side component (for example, examples of how to do
), and to provide a place to host samples that require the ability to do things that we don’t allow in an
<iframe> on MDN itself. This work is going really well and I think I’ll have something to show off in the next few days.
What I did this week
- Caught up on bugmail and other messages that came in while I was out after my hospital stay.
- Played with JSMESS a bit to see extreme uses of some of our new technologies in action.
- Did some copy-editing work.
- Wrote up a document for my own reference about the manifest format and architecture for the sample server.
- Got most of the code for processing the manifests for the sample server modules and running their startup scripts written. It doesn’t quite work yet, but I’m close.
- Filed a bug about implementing a drawing tool within MDN for creating diagrams and the like in-site. Pointed to draw.io as an example of a possible way to do it. Also created a developer project page for this proposal.
- Exchanged email with Piotr about the editor revamp. It’s making good progress.
I’m really, really excited about the sample server work. With this up and running (hopefully soon), we’ll be able to create examples for technologies we were never able to properly demonstrate in the past. It’s been a long time coming. It’s also been a fun, fun project!
I’ve had my appointment with the endocrinologist and it turns out that, in his opinion, the internist at the hospital was “crazy” to suggest insulinoma. His tentative diagnosis is post-gastric bypass hyperinsulinic hypoglycemia. I’m now wearing — for the next week — a little sensor that’s constantly checking my blood sugar and recording the numbers. This, and a food log, will be evaluated next week and we’ll see what comes of it.
For now, we hope to control this by tightening up my dietary rules a bit rather than adding medications or performing surgery. The labs we drew for today, plus the sensor results, will help determine if that’s going to be enough.
So for now, I can breathe somewhat easier. Whew!
Over the last couple of months, the pain has gradually been beaten down by medications and some stretching exercises I’ve been trying to keep doing on a semi-regular schedule. While I still have times when I feel pretty awful, my average condition has improved a lot, and I’ve been much more productive of late. Woohoo!
Then things took an interesting turn. On Wednesday (September 10th), I woke up around 7:30 AM, had breakfast, took my medications, did a couple of small chores, and generally did the usual things I do when I get up in the morning. I was still pretty sleepy, and noted that I didn’t have anything on my schedule until late in the morning, so I set an alarm for 9:40 AM and went back to bed for an hour or so.
At 9:40 AM, the alarm went off, and I thought to myself, “I’ll snooze one time then get up.” I reached out to snooze the alarm.
That is the last thing I remember for approximately 40 minutes. I only know what happened during that time because my wife told me. Here’s what she says happened, in paraphrase:
When the snooze buzzed, I shut it off, then sat up and swung around so I could put my feet on the floor. Then I sat there, slightly unsteadily, making odd moaning and groaning sounds. After a while, Sarah asked if I was okay. I responded by saying, “I need to go use the bathroom,” and I got up and tottered my way toward the bathroom.
Concerned by this point, Sarah made the wise decision to get up and follow me. I stood in the bathroom in front of the toilet, not doing anything, and she stood a couple of feet away in the doorway. Suddenly, my legs just gave out beneath me and I crumpled. As I collapsed, I grabbed for support and wound up ripping the toilet paper holder off the wall. The (brand new) roll of paper bounced into the toilet with a splash, and the pieces of the holder (one wall bracket and the spool rod) clattered onto the floor.
I landed on my backside on the shower mat behind me, and sat there, once again making moaning sounds.
After some amount of time that I’m not clear on, I calmly picked up the toilet paper holder’s little rod and dropped it into the toilet bowl.
This leads to the one memory I have from this episode: the image of a silver rod suspended in some sort of space. I thought it was air, but I suspect it was the toilet water.
At this point, Sarah tells me that if I don’t talk to her, she’s going to call for an ambulance. I don’t respond. So she calls 911 and asks for an ambulance. She does finally succeed in getting me to stand up and stumble back to the bedroom and flop onto the bed on my back.
And that’s where I was lying when my memory resumes. I suddenly discovered myself on the bed, on my back, looking up at a number of paramedics and a couple of people from the fire department. I had an IV in my arm and they were administering dextrose solution, because my blood sugar had tested so low that they could not read a result.
It seems that my blood glucose level had fallen so low that I had suffered a seizure. A blood glucose level below 70 is considered low. Mine was in at best the mid-20s.
I was taken to the local hospital by ambulance and admitted into the hospital, where I stayed for a day and a half. During that time, some tests were run and it was found that my body is, for some reason, producing excess insulin, which is causing me to burn through glucose too quickly, resulting in sugar levels lower than they should be, and at times dangerously low.
There are three possible causes for this condition, which is called Hyperinsulinemic hypoglycemia:
- Accidentally taking someone’s diabetes medication. This did not happen in my case. While my wife does take diabetes medication, it is stored entirely separately from mine. Also, the problem has continued to happen even in the absence of that medication (i.e., while I was in the hospital).
- Insulinoma. This is a usually benign tumor on the pancreas. This is apparently the same type of tumor Steve Jobs had, which he would have survived if he hadn’t refused to have the surgery to remove the tumor. These are usually cured outright by surgery, and have a 90% survival rate.
- Nesidioblastosis. It’s been discovered that a few years after Roux-en-Y gastric bypass surgery, a rare condition can develop in which some or all of the insulin producing cells in the pancreas to become enlarged and begin producing too much insulin in response to food. This can be cured by removing part of the pancreas.
So most likely, I either have a tumor which needs to be removed or I will need part of my pancreas removed. Otherwise I will keep having these sugar crashes and eventually one will happen at a time or place in which it endangers me.
In an hour or so, I will be visiting an endocrinologist to begin sorting out what exactly my condition is and to come up with a treatment protocol. I’m curious to know more, but definitely a little afraid, too.
I’m annoyed that just as I was starting to get some real, productive work done again, and work on really exciting new projects, something came along and said “no.”
Maybe I will be lucky and find that fixing this helps with some of my other, chronic, problems. It seems improbable but you never know for sure.
I won’t know for sure the full scope of the situation, or the breadth of its impact on my work schedule, until I’ve met with the endocrinologist (and probably also not until some tests are run). I figure there are more blood tests and possibly/probably an ultrasound or CAT scan ahead.
This sucks. But at least, so far, it looks likely to be something that can be treated and cured. More to come!
You may notice that I’m posting this on Monday instead of Friday (despite what the title says). Last week was a bit of a mess; I had a little bit of a surprise on Wednesday that involved my being taken to the hospital by ambulance (no lights and siren — it wasn’t that big a surprise), and that kept me away from work for most of the rest of the week.
I’m feeling fine now, although there’s some follow-up medical testing to do to check things out.
Anyway! On to the important stuff!
What I did this week
- Deleted an inappropriate article from the MDN inbox and emailed the author explaining why.
- Succeeded in first deployment of a test of my new live sample server-side component server project.
- Discovered the native GitHub application for Mac, which makes my life enormously easier.
- Added more information to the comments on bug 1063580, about how shift-refreshing of macros no longer lets you pick up changes to macros and submacros.
- Updated “How to create an MDN account” to consider that you can use either Persona or GitHub now as your authentication service. This fixed bug 1049972.
- Added the
dev-doc-neededkeyword to bug 1064843, which is about implementing
- Updated the draft of the State of MDN for August to include everything I could think of, so Ali can get it posted (which has happened!).
- Created the soapbox message to appear at the top of MDN pages about the net neutrality petition. This has since been removed once again, since the event in question has passed. This resolved bug 1060483.
- Finished debugging the
MakeColumnsForDLmacros. The former is new and the latter has been updated to support multiple
<dl>lists with interspersed headings.
Meetings attended this week
- #mdndev planning meeting.
- #mdndev triage meeting.
Last week started off on a high note, with some very productive activity, and then went sideways on Wednesday and never really recovered. I have high hopes for this week though!