I am a web designer. I design the webs.

Found here (who found it here who found it here).

Thanks for Moz08!

Thanks for having us at the Mozilla Summit (called moz08)!

Here's some pics of us here:

Jay saying thanks in MozCafe

Me saying thanks for the people manning the registration area and swag

More pictures from Moz08

June and July Photos

Look! Only two months worth of photos this time; I'm getting better!

Here's some things, events and pictures of Jocelyn:


Here's my OSCON trip so far:

OSCON 2008 Session Day 2 for Mozdev

My second day at OSCON was also terrific. I continued to meet new people and got to spend more time talking with others. There were two sessions that I wanted to see, and they were:

  • Integration Testing PHP Applications - this was a little more overview that I had hoped, but it did go over Selenium and when it's best to use that vs. your own HTML parser (which should hopefully be in PHPUnit 3.3).
  • Top 10 Scalability Mistakes - After some of the "overview"-like talks I had been to, I was pleased to see this one get into a good bit of detail that allows you to plan for specific situations better by giving you some context. I recommend checking out the slides.

I spent most of the afternoon helping out at the Mozilla booth and helping break down the booth when the expo was over. In the evening there was the SourceForge Community Choice Awards at the Jupiter hotel and an after-party called BeerForge at the Bossanova. The Bossanova was a really nice venue (whereas the DJ wasn't amazing) and getting to hang out and talk to various people was great.

I looked through Stephen Lau's photos and selfishly picked out the ones that had myself in it (if only to prove that I'm here):

My own photos from the past couple days are uploading; hopefully I can update the post soon w/ the pictures.

Update 2008-07-26 00:15
Photos of my first three days at OSCON are up:

OSCON 2008 Session Day 1 for Mozdev

Big day at OSCON today. I got into town at 01:00 this morning and taking the cab to the hotel wasn't as bad as I thought it would be (but more expensive than I had planned).

I was able to get a hold of and meet Brian King and David Boswell later in the morning (at normal waking hours) and we met up with Eric Jung as well.

The day was a blur of meeting tons of people; some for the first time, some putting faces to names (or IRC nicks); I attended a number of sessions, also got hang out with a lot of great people from all walks of the Mozilla community.

The sessions I ended up going to were:

  • The Internet is an Ogre: Finding Art in the Software Architecture - this one was pretty good overview of how the Internet is a hard thing to develop for but how a proper architecture can make your life easier
  • PHP Taint Tool: It Ain't a Parser - I was interested in learning about the work done in static analysis for PHP, but it ended up being too technical for me and I tuned a lot out
  • White beautiful code (in PHP) - I really enjoyed Laura's talk and her insights on what can be done to make your code, well, beautiful. I'm hoping to be able to discuss more with her next week at the Summit about some code-structure problems Mozdev has (such as how to architect a good test suite) as well as how Mozdev could integrate with AMO (and thanks for the encouragement on my blog last week!)
  • Firefox Delivered: OSS Infrastructure for the Masses - Justin's talk on Mozilla's infrastructure was great and went over the steps Mozilla has taken to be able to scale to its needs. This was a nice overview of the problems Mozdev might face in the future as it continues to grow.
  • Give Your Site a Boost with memcached - Ben Ramsey's talk on memcached was very helpful for me to solidify questions I had about how memcached can be best integrated into an application without writing a ton of code to handle the interactions between your db layer and caching layer; it was a big help to see some of that in practice

I also participated in the Mozdev-led BoF on Tools and Other Resources for Mozilla Extension Development. This turned out to be a great discussion on what tools are available for extension developers and what we can possibly do to improve things (such as better chrome debuggers, implementing dependency resolution in the update process, and having support for multiple update repositories).

The day ended at the Montage with MoCo and a couple other members of the community. A big thanks to MoCo for allowing us to tag along; it was great to be a part everything that's going on!

MediaIndexer project setup

I was able to setup the MediaIndexer (working project name) website and repository tonight so Brady and I have a place to coordinate. Trac + Mercurial was really pretty easy to setup; and I've had the sources in Mercurial for a week or so already (made it nice for copying code around between my computers and tracking changes).

Our goals are pretty ambitious; develop a media indexer that can detect when files go bad and synchronize/backup those files between friends.

Already Brady has some scripts thrown together that accomplish a lot of identification of files which we can then use to create rsync commands to try to pull his damaged files back from my server.

Longer term we'd like to try to create an architecture where friends can have their files indexed locally but search other friends' files for better versions, versions with less errors, or recover their own files with problems if they were synced from the same source.

Mercurial at Mozdev

We're happy to announce the availability of Mercurial for hosting project sources at Mozdev.
Documentation can be found here:

The biggest caveats:

  • CVS is still necessary for maintaining the website and downloads (fixing this is on our roadmap)
  • Projects' source information page needs updated by the PO to include information on Mercurial
  • We weren't planning on removing the old sources from CVS and we don't have a mechanism for locking CVS, so it might slightly confusing to new users or contributors as to where to get the canonical source for a project if they switch to from CVS to Mercurial

If you're interested in having Mercurial setup for your project, head over to the documentation page and click the link to request a new Mercurial repository.

[repost from Mozdev blog last week]

Upcoming OSCON/Firefox Summit trip for Mozdev

In 8 days (next Tuesday) I'll be heading to Portland for OSCON 2008. Several days later I'll be heading up to Canada for the Firefox Summit.

This is simultaneously awesome and scary. Awesome parts:

  • Meeting my colleagues and board members from Mozdev for the first time
  • Being able to attend sessions and meet/brainstorm with so many people from the open source community, and more specifically, the Mozilla community

Some of the scary parts:

  • I haven't flown in a long time. I have no idea what to expect from the experience, and have some gaps in some basic logistical processes (How do I get from the airport to the hotel? Taxi? How's do I get a taxi? What's the typical interaction between taxi driver and drivee (never taken a taxi, either))? What do I do for 7 hours in the air? Are my neighbors in coach going to call me a terrorist for playing with my laptop and GPS? Will I be able to use my GPS? Am I carrying too much/little gear/clothes/etc?).
  • I'm an introvert, and thus don't really talk unless being spoken too; even then, if it's a topic I'm not familiar and/or interested in with I don't do a great job at "chit-chat"
  • I don't have a very, um, "cultured palate". I plan on trying to broaden that a bit.
  • I have no idea what I'm doing at either event - oh, in general I know I'm going to help grow the Mozdev/Mozilla community (they're very symbiotic) and learn what I can from the sessions being offered at both, but there's a lot of "unknowns" about what I should be doing.

So most of the "scary" parts are probably just personality quirks and I really think I'll be fine, even if I don't have all my minutiae in order. It'll definitely be an big experience for me.

Mozdev status updates and meeting minutes moved

I'm going to be doing my Mozdev status updates and sysadmin meeting minutes over on the Mozdev blog now (rss feed). Hopefully this will be picked up by PMO soon.

sshing to multiple ports at the same host without warnings

I ran into an article that addresses a long-standing problem I've had with OpenSSH's known_hosts file; it doesn't store the port for a host so you can't ssh to different ports behind a router without getting warnings about fingerprint mismatches. The article descries how to access multiple machines at the same host. Below is my workflow.

$ ssh host.example.com

Here I accept the fingerprint. This saves into my standard .ssh/known_hosts file. I logout of the server and ssh back with a new port and temporary known_hosts file.

$ ssh -o "UserKnownHostsFile kh2" host.example.com -p 2222

I get a different new fingerprint prompt and also accept it. I logout of the server then copy this fingerprint to my existing known_hosts file:

$ cat kh2 >> .ssh/known_hosts && rm kh2

I can now ssh to the same host with different ports without warnings about man-in-the-middle attacks.

$ ssh host.example.com
$ ssh host.example.com -p 2222

Version controlling my home dir

For awhile now I've noticed that things in my home dir aren't setup optimally for my work flow. I've been trying to run with SELinux enabled and I run into development problems when I try to run web applications out of my home directory. Various parts of my home directory are version controlled separately due to the software projects they're part of, but not as a whole.

What I'd like is to setup some other place for "projects" (Mozdev code and docs, other software projects, RPM building, etc) and then version control my home dir.

The problem is I'm not sure how much this helps me. Things like IM clients still are going to want to log things to ~/.somedir/log which is evil. SELinux contexts for files in /home/myprojects is still going to be wrong; I'm not going to be able to run webapps out of there, either. Moving my docs out of my home dir might be a pain due to xdg-user-dirs needing to be setup correctly to point at the document dir

I'd really love to have a lean, mean homedir that is version controlled that I can port around between boxes. Have people attempted this before? What about the above problems?

Mozdev status update for W27-2008

This week I'm going to be trying to get Mercurial released into full production (available for all projects) as well as iron out some annoying bugs that have been neglected recently w.r.t. the secure update.rdf generation. If all goes well I'll get back to the fckeditor plugin and get my patch working better to be imported upstream.

Mercurial at Mozdev (soon)

We've been working on getting Mercurial ready to use at Mozdev for awhile now; it turns out there's a lot to do to offer a new VCS for a hosting provider that's only offered CVS for 7 years:

We're almost ready to release this in production; we just have a final round of testing to go through. With that in mind, there's still some caveats to our Mercurial offering that might disappoint some people:

  • CVS is still necessary for maintaining the website and downloads (fixing this is on our roadmap)
  • Projects' source information page needs updated by the PO to include information on Mercurial
  • We weren't planning on removing the old sources from CVS and we don't have a mechanism for locking CVS, so it might slightly confusing to new users or contributors as to where to get the canonical source for a project if they switch to from CVS to Mercurial

Even with these things in mind, we're still very excited to offer this to our projects like our Mozilla brethern. Hopefully in the near future this list will be much fuller.
Mozdev Mercurial Repositories

Mozdev's Role in the Add-On world

Mozdev has long offered free source hosting, but along with that we offer a number of other features that are important to extension developers such as mirroring and distribution and secure installations and updates.

Mozdev has been working hard to try to prepare for the Firefox 3 release. We were able to keep our server up during the entire event and ended up being surprised by where the traffic was going.

From previous Firefox 2.0.0.* updates we were used to getting swamped with update requests when lots of users restarted Firefox within a short period of time. We didn't expect that so many people would be looking to our Brazillian Firefox translation project for Firefox 3 news!

Comparing the previous Tuesday and Wednesday (6/10 & 6/11) to the Firefox 3 release (6/17 & 6/18) (like filgtar did), I'd like to take a look at hits, update requests, and downloads

Our hits for the previous Tuesday and Wednesday are pretty typical; ~5.3M/day. We saw a 66% increase in hits on release day and an 87% increase the next day.

Our updates requests (when Firefox checks for an update, not when it downloads a file) are also fairly steady; ~2.3M/day. We didn't see as nearly a big increase in update requests - a 4% increase on Tuesday and 19% increase on Wednesday. This is most likely due to most Firefox 3 installs being new installs and not updates from a beta.

Our downloads are typically fairly erratic, but just looking at these 4 days we have an average of of ~56k downloads/day the previous week and we see a 48% increase on release day, an a 99% increase on the day after!

While Mozdev may not be as active as AMO is, we do have a thriving community here and we're continuing to work on adding new features to help extension developers out.