Firefox and Weave for Maemo
February 1st, 2010
In case you haven’t seen it yet, Mozilla released Firefox for the Nokia N900 along with Weave. I haven’t seen many detailed reviews yet. Know of a good one?

We’ve got more mobile stuff coming. It’s going to be exciting. It’s easy to see why lots of parties are excited to ship devices with Firefox to their users instead of “Browser”.
Chilling Effects
January 3rd, 2010
I think most of us on the net have encountered someone we don’t know at all who knows us a little too well.
That happened to me the other day, and it kind of freaked me out. I went and made most of my personal net footprint private (twitter, flickr, etc).
Didn’t last. It turns out I can’t live like that, so it’s all public again. How do you deal with this problem? I don’t think I’m ready to go all Steve Mann on the world.
Oh, and now I have a Google Profile, which reminded me of my public youtube profile.
Desktop Google Wave on the Nokia N900
October 14th, 2009
Feature Freeze Update: 18 months
October 13th, 2009
I’ve been wondering how that feature freeze would work out for quite a while. Not very well, it seems. The situation does suit those who can send a private request to the editor and have it turn up in the spec. I can see why Microsoft wants to add things without a bunch of questions from toxic personalities who work at big competitors.
Content Security Policy
September 30th, 2009
CSP is just about ready.
Spin Control
September 9th, 2009
This little script takes Spin Control output from a running process and tries to demangle the symbols to get sample stacks. It was just a quick hack. Someone make it better!
I used the script to file bug 515447. You can use it by turning on Spin Control and running it on the text file output. I don’t know why Spin Control can’t find the symbols itself. There are also some other options for running atos that probably don’t need a running process. You’ll need a build that has symbols, like the Shark-enabled nightlies do.
from __future__ import with_statement
from subprocess import Popen, PIPE
firefox_pid = 85034
spin_file_path = "/Users/sayrer/Desktop/spinout.txt"
class memoize:
def __init__(self, function):
self.function = function
self.memoized = {}
def __call__(self, *args):
try:
return self.memoized[args]
except KeyError:
self.memoized[args] = self.function(*args)
return self.memoized[args]
@memoize
def findSymbol(word):
# run atos
cmd = ["atos", "-p", str(firefox_pid), word]
proc = Popen(cmd, stdout=PIPE)
stdout, stderr = proc.communicate()
return stdout[0:-1]
def demangle(words):
output = ""
for word in words:
if word.startswith("0x"):
word = findSymbol(word)
output += " " + word
return output
with open(spin_file_path) as a_file:
for line in a_file.readlines():
indent = len(line) - len(line.lstrip())
words = line.split()
print line[0:indent], demangle(words)
Feel free to improve.
Finger Trees
September 7th, 2009
Welcome to David Anderson
August 27th, 2009
David joins Mozilla full-time after a stint as an intern from Worcester Polytechnic Institute and then some contracting. His work focuses mainly on TraceMonkey and its Nanojit component. He blogs at http://www.bailopan.net/blog/.
Please join me in welcoming David!
Offered Without Comment
August 3rd, 2009
Sam Ruby: “It appears that the process is: no matter how clear and complete the proposal is, the response is the same: some variant of ‘I don’t understand’.”
Offered Without Comment
July 28th, 2009
Dan Connolly: “…I don’t see any argument that would convince a critical mass of the WG/market to support it in the near/medium term, so I wonder if pursuing is a good use of WG time.”