Nov 042014
 

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.

 Posted by at 12:50 AM
Sep 262014
 

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 CustomCSS macro 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.

Wrap up

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.

 Posted by at 5:25 PM
Sep 222014
 

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 XMLHttpRequest or WebSockets), 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.

Wrap up

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!

 

 Posted by at 12:16 PM
Sep 162014
 

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!

 Posted by at 6:24 PM
Sep 162014
 

I’ve blogged in the past about my ongoing problems with chronic pain, caused by a lovely combination of fibromyalgia and peripheral neuropathy.

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!

Update

[rps-include post=5502]

 Posted by at 11:53 AM
Sep 152014
 

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-needed keyword to bug 1064843, which is about implementing ::backdrop in Gecko.
  • 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 SubpageMenuByCategories and MakeColumnsForDL macros. The former is new and the latter has been updated to support multiple <dl> lists with interspersed headings.

Meetings attended this week

Monday

  • #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!

 Posted by at 8:26 AM
Sep 052014
 

First, a personal note:

Holy frickity-frak! It’s September!?

Okay, back to business. My work this week was all over the place. Got tons done but, of course, not what I meant to do. That said, I did actually make progress on the stuff I’d planned to do this week, so that’s something, anyway.

I love this job. The fact that I start my week expecting one awesome thing, and find myself doing two totally different awesome things instead, is pretty freaking cool.

What I did this week

  • Filed bug 1061624 about the new page editing window lacking a link to the Tagging Guide next to the tag edit area.
  • Followed up on some tweets reporting problems with MDN content; made sure the people working on that material knew about the issues at hand, and shared reassurances that we’re on the problem.
  • Tweaked the Toolbox page to mention where full-page screenshots are captured in both locations where the feature is described (instead of just the first place). Also added additional tags to the page.
  • Had a lot of discussions, both by video and by email and IRC, about planning and procedures for documentation work. A new effort is underway to come up with a standard process.
  • Submitted my proposal for changes to our documentation process to Ali, who will be collating this input from all the staff writers and producing a full proposal.
  • Checked the MDN Inbox: it was empty.
  • Experimentation with existing WebRTC examples.
  • Moved some WebRTC content to its new home on MDN.
  • Filed bug 1062538, which suggests that there be a way to close the expanded title/TOC editor on MDN, once it’s been expanded.
  • Fixed the parent page links for the older WebAPI docs; somehow they all believed their parent to be in the Polish part of MDN.
  • Corrected grammar in the article about HTMLMediaElement, and updated the page’s tags.
  • Filed a bug about search behavior in the MDN header, but it was a duplicate.
  • Discovered a privacy issue bug and filed it. A fix is already forthcoming.
  • bz told me that previewing changes to docs in the API reference results in an internal service error; I did some experimenting, then filed bug 1062856 for him. I also pinged mdn-drivers since it seems potentially serious.
  • Discovered an extant, known bug in media streaming which prevents me from determining the dimensions of the video correctly from script. This is breaking many samples for WebRTC.
  • Went through all pages with KumaScript errors (there were only 10). All but one were fixed with a shift-refresh. The last one had a typo in a macro call and worked fine after I fixed the error.
  • Expanded on Florian’s Glossary entry about endianness by adding info on common platforms and processors for each endianness.
  • Filed bug 1063560 about search results claiming to be for English only when your search was for locale=*.
  • Discovered and filed bug 1063582 about MDN edits not showing up until you refresh after saving. This had been fixed at one point but has broken again very recently.
  • Started designing a service to run on Mozilla’s PaaS platform to host the server side of MDN samples. My plan is nifty and I’ll share more about it when I’m done putting rough drafts together.
  • Extended discussions with MDN dev team about various issues and bugs.
  • Helped with the debugging of a Firefox bug I filed earlier in the week.

Meetings attended this week

Tuesday

  • #mdndev planning meeting
  • 1:1 with Jean-Yves

Wednesday

  • 1:1 meeting with Ali

Thursday

  • Writers’ staff meeting
  • Compatibility Data monthly meeting

Friday

  • #mdndev weekly review meeting
  • Web API documentation meeting; only myself, Jean-Yves, and Florian attended but it was still a viable conversation.

A good, productive week, even if it didn’t involve the stuff I expected to do. That may be my motto: I did a lot of things I didn’t expect to do.

 Posted by at 5:17 PM
Aug 292014
 

This week, my WebRTC research continued; I spent a lot of time watching videos of presentations, pausing every few seconds to take notes, and rewinding often to be sure I got things right. It was interesting but very, very time-consuming!

I got a lot accomplished this week, although not any actual code on samples like I’d planned to. However, the pages on which the smaller samples will go are starting to come together, between bits of actual content on MDN and my extensive notes and outline. So that’s good.

I’m looking forward to this three-day Labor Day holiday here in the States. I’ll be back at it on Tuesday!

What I did this week?

  • Copy-edited the Validator glossary entry.
  • Copy-edited and cleaned up the Learning area page Write a simple page in HTML.
  • Created an initial stub documentation project plan page for updating the HTML element interface reference docs.
  • Turned https://developer.mozilla.org/en-US/docs/Project:About into a redirect to the right place.
  • Read a great deal about WebRTC.
  • Watched many videos about WebRTC, pausing a lot to take copious notes.
  • Built an outline of all the topics I want to be sure to cover. I’m sure this will continue to grow for a while yet.
  • Gathered notes and built agendas for the MDN community meeting and the Web APIs documentation meeting.
  • Updated the WebRTC doc plan with new information based on my initial notes.
  • Offered more input on a bug recommending that we try to add code to prevent people from using the style attribute or any undefined classes.
  • Filed bug 1060395 asking for a way to find the pages describing the individual methods and properties of an interface in the Web API reference
  • Fixed bug 1058814 about hard-to-read buttons by correcting the styles used by a macro.
  • Dealt with expense reports.
  • Started very initial work on WebRTC doc tree construction, preparing to reshuffle and clean up the existing, somewhat old, pages, and to add lots of new stuff.
  • Started work on trying to figure out how to make the SubpageMenuByCategories macro not lose headers; it’s calling through to MakeColumnsForDL, which specifically only works for a straight-up <dl>. Fixing this to work correctly will be my first task on Tuesday.

Meetings attended this week

Monday

  • MDN bug triage meeting
  • #mdndev planning meeting

Tuesday

  • Developer Relations weekly meeting.
  • 1:1 with Teoli. This went on for an hour instead of the usual 30 minutes, due to the enormous amount of Big Stuff we discussed.

Wednesday

  • MDN community meeting

Friday

A pretty good week all in all!

 Posted by at 10:38 PM