Is it Friday? Close enough.

Rocket science, indeed

NASA’s Mars Phoenix spacecraft has landed, without disaster, and the first pics are in. Huzzah!

But what I found most stunning was this picture:

That’s a shot of Phoenix dangling under it’s parachute (mid-air, during landing), taken by another spacecraft (Mars Reconnaissance Orbiter) from orbit. Wow.

Trivia: Something similar was done in 2005, when MGS took pictures of Odyssey and Mars Express. Apparently this is an old spy satellite trick, taking a look at foreign hardware (or your own)… Although one can get nice views from the ground, too.

Firebug for Firefox 3

Short and sweet: Firebug 1.2 Beta 1 is now available. Go get it! (Yes, now! Go go go!)

There have been a ton of changes under the hood, and it would be very helpful if folks could give it a spin with Firefox 3 RC1. Feedback to the Firebug discussion group and bug tracker would be much appreciated.

AWESOME

This is a nice and simple twist on the usual tagcloud: show people a popular brand/logo, and let them tag it. I bet there are market research companies that sell such data for $lots, now it’s something anyone can build (if you’re clever enough to think of it).

Here’s one of the results for Firefox:

awesome

Heh. Am I a geek for noticing how nicely the giant fonts are rendered, before actually reading the tags? (350px tall, in case that broke your feed reader or was stripped.)

Based on font size, Firefox is 43 times more awesome than Microsoft (sorry, IE, no “awesome” tags for you yet), and equally as awesome as Apple. Actually, it looks like there’s a ceiling on awesomeness. Who knew?

(Link, via Neatorama)

Launching and landing

Today we launched the first Release Candidate of Firefox 3 (yay!). 7 days from now, NASA will be landing a spacecraft on Mars. I thought it might be interesting to compare the two…

The browser The spacecraft
Original name: Phoenix Mars Surveyor 2001 Lander
Current name: Firefox Phoenix
Mission: Make kick-ass software, promote the open web Study water, soil, weather at northern polar region of Mars
Cost: Free! $420 million
Performance: Fast! Twelve 293-Newton thrusters
Powered by: Mozilla Solar panels
Takes flames: Alex Faaborg Ablative heat shield
Management: Mike Mike
Special powers: Robot and laser Robotic arm and laser
News updates: Twitter Twitter
Disaster plan: RC2 :-(

Dear Sprint…

Dear Sprint…

I hear you’ve had a rough time of it lately. Losing 1.1 million customers and $505 million last quarter? Ouch. I’d really love to help you out. Drop me a line when you have a billing system that will actually take my money! (I believe you already have my number.)

Another look at SafeBrowsing warnings

I last blogged in February about some inadequacies with the SafeBrowsing warning page in Firefox 3. There have been some changes since then, which I think greatly improve things.

Here’s the current warning page in Firefox 3:

Just subtle changes here. Notably, there’s now a small “Ignore this warning” link to bypass the warning and load the site (perhaps putting yourself at risk by doing so), and an additional button to click for an explanation of why the site was blocked.

The changes on the “why was this site blocked” page are more significant. Here’s an example of what you get now:

I like that page is clean and chock full of information about why the site was being blocked. It’s helpful information for the what a user is probably asking — “Can I trust this warning, and should I load the site anyway?” After reading that page, *I* certainly wouldn’t be tempted to ignore the warning: it indicates that the site has been visited recently, that lots of pages on the site are infected, and is better at specifying the exact risk (Here, “Malicious software includes 3 backdoors”. Looking at pages for other sites, I’ve also seen descriptions like “23809 trojans” (!!!), “15 scripting exploits”, and “2 worms”.

I do wonder if the page is a little too detail oriented; normal users might benefit from some sort of brief summary at the top. It’s a fine line between being too vague and being too detailed, because there are so many factors involved. I suppose it’s better to err on the side of too much information, especially if the outcome is the user being scared and overwhelmed — it’s not a site to be visiting!

But being more open can have a downside, if it might lull the user into a false sense of safety or muddles the risk. For example: Does “Part of this site was listed for suspicious activity 3 time(s) over the past 90 days” mean that the site is a dangerous repeat offender, or just that it’s a rare to encounter a problem? Does “Successful infection resulted in an average of 0 new processes on the target machine.” mean the infections are harmless?

Anyway, I don’t think these nitpicks are serious problems, and am glad to see this improvement.

[If you're looking for live examples of malware sites, the StopBadware google group is a good source to find currently blocked pages.]

This is why cell phone companies irritate me

I finally got around to upgrading to new cell phone and plan. Sprint, Samsung M520, SERO plan — nothing fancy. The phone isn’t even quite as awful as I had been expecting.

But, as suspected, adding on a Phone-As-Modem (PAM) data plan (to enable internet access from my laptop and N810) was a nightmare. In fact, because — well, I’ll spare you 40 minutes of various excuses from customer service — it ends up being “impossible” to add. So even though my phone supports it, and I’m grudgingly willing to fork over an extra $40/month ($960 for the term of my contract), Sprint’s billing system won’t take my money. Wooooonderful.

I suppose I could look at other cellular providers… But I have little faith that I’ll find better results elsewhere, or be able to do so without a week-long migraine. Perhaps AT&T and the rumored second-coming of the Jesus Phone will provide salvation. I still have concerns about Ma Bell’s less-than-immaculate hands, but this feels more and more like a strategy game… Jump there, hope the rest of the industry moves, and then jump somewhere else.

Oh well. At least for all my troubles I’ll have a slightly better cell phone with a nifty ringer for the next two years.

Apples and Orangeness

Ubuntu 8.04 “Hardy Heron” came out today (*checks clock* err, yesterday) — congrads to the Ubuntu community on the release! I just finished installing it under VMWare Fusion on my MacBook, and will upgrade my home and work Ubuntu desktops this weekend.

Installation was painless. I didn’t even need to edit xorg.conf and specify my monitor’s horizontal refresh rate! :-) Video, sound, and networking all worked. I must grumble a little bit, though, that the installer still can’t automagically detect the keyboard type, and instead presents a list with a zillion obscure variants (with a default selected). Maybe it’s just not possible… I remember how installers of yore used to do the same thing for mice (”Serial mouse? Bus Mouse? PS/2 protocol, or Logitech?”, etc.), but that all seems to Just Work now. Selecting my physical location is also slightly annoying; it might be neat to do a GeoIP lookup to guess… Anyway, both just small nitpicks.

One thing I am a little confused about is what (if any?) VMWare stuff needs to be done. In the past, the usual process was to install the guest OS, and then install VMWare Tools to get various things working. Now it seems like the Ubuntu installer has already done some of that… At least, it gave me vmware-specific video and mouse packages. But the desktop doesn’t resize when the VMWare window is resized, and VMWare’s Forums seem to have some arguments going on (hi Al!) in regards to their Tools stuff not working on Hardy and a perceived lack of support. So, I don’t know what’s up with that. Things seem to be working well enough that I’ll just use it as-is for a while, and then check back later when other people figure it out. Or maybe I’ll lazyblog about it, and hope someone comments. :-)

P.S. Love the Heron artwork!

Test cases make bad law

Testing seems to be the topic du jour this weekend… A few remarks.

I don’t think this is a discussion that should be framed as an argument between pro-test and anti-test factions. In fact, I’m not even sure the latter group really exists. Yes, some modules could be better at adding tests on a regular basis, but I don’t really see people arguing that testing sucks and we should just stop doing it. What I *do* see are concerns about the degree of testing that should be required. That’s an interesting discussion, and should be held without any implication that supporting anything less than CMM Level 5 is akin to supporting terrorism. (Or the reverse, oops.)

I think a lot of the uncertainty about testing comes from the fact that, until recently, there was almost no automated testing. And so we’re going through a period of growing pains where the project figures out how to handle things. The existing policy (for Toolkit and Browser), which is basically “everything should have a test”, has been a good starting point. It’s simple, is mostly the right thing to do, and is a solid kick-in-the-pants to help sidestep the initial inertia to change.

But there are principles we shouldn’t lose sight of… Tests are a means to and end. They have both costs and benefits. And we need to balance these (and a multitude of other factors) when deciding the degree to which something needs tested. That’s not to say we should only aspire to half-assed testing, but neither should we become so risk-adverse that testing requirements halt progress. [Note: being on the verge of a release, where being hyper risk-adverse is a good thing, makes this a complicated discussion!]

Now, switching gears to the issue of tests and new contributors:

I don’t think new contributors should just get a free-pass when it comes to testing. Tests are an important part of good software engineering, and they’re important to the Mozilla project. However, I do think that we can do things to aid newcomers and make the process easier… Ensuring we have good documentation on writing and using tests helps everyone. Module owners and active contributors can work to ensure there are existing tests that newcomers can easily emulate and modify. The scope of required testing can be trimmed to just the essentials. We can be polite, but firm, on requirements without being “jerks”. And so on.

This issue is probably somewhat self-limiting, because the scale of testing should generally correlate with the complexity of the patch. Newcomers are more likely to be doing simpler patches, ergo the testing should be simpler. But there will be tricky cases where simple changes end up being complex to test… Good judgement and balance should be applied, as I argued above. For example, if the existing code is frail and known to be regression prone, tests are unavoidable. If the code is solid and the change well-understood, then making an exception for minimal testing can be reasonable. And while automated tests are strongly preferred, other forms of testing might be acceptable an alternative.