jwz has resurrected home.mcom.com, the homepage of The Mosaic Communications Corporation (later Netscape) from 10 years ago. How cool is that? He provides details of how he did it and instructions for running the original Netscape releases on modern OSes. They need a proxy because they don't understand HTTP 1.1 and, on Linux at least, a load of old libraries.
The Summer of Code application deadline is midnight tonight UTC/GMT, 5pm PST. Don't get left out :-) It is possible to update applications after you've filed them and before the deadline (and possible to add comments even after that) so, if in doubt, get something in.
The student application period for the Google Summer of Code opens at 12:00 PDT (19:00 UTC, 20:00 BST) today, i.e. in a few hours' time. The Mozilla list of suggested projects is now pretty much complete, although students should of course feel free to propose ideas outside that list.
Mozilla community members should encourage students they know to apply to us :-)
As I have mentioned before, Facebook put images, rather than text, of email addresses in Facebook profiles. They suggest this is a privacy-enhancing measure, but given that it's fairly easy for someone with nefarious intent to circumvent it, it's quite clearly done to encourage your average person to use mechanisms within Facebook to communicate, rather than normal email. Chris Finke wrote the Image-to-Email extension to turn the images back into HTML clickable links.
Now, Facebook have sent him a cease-and-desist regarding Facebook Image-to-Email (and another extension of his). According to Chris, their stance is that both extensions violated the section of the TOS which says "you shall not use automated scripts to collect information from or otherwise interact with the Service or the Site".
For Image-to-Email, at least, this is wrong in two ways:
1) The extension doesn't violate the section of the TOS they claim it does
2) The extension is not a threat to user privacy
1) This extension cannot count as an "automated script", unless a web browser counts as an "automated script". A web browser takes the HTML that Facebook sends to a user and, instead of displaying it as plain text, renders it in a different way which is more visually pleasing and easier to read and interact with. Facebook Image-to-Email takes an image Facebook sends to a user and, instead of displaying it as an image, renders it in a different way which is also easier to interact with. Both tools do exactly the same job; you cannot prohibit one without prohibiting the other.
Image-to-Email doesn't follow links, walk your social graph or any of the other things that might cause it to be labelled "automated".
2) Facebook Image-to-Email saves people having to retype email addresses in order to email their Facebook friends. This cannot be a threat to privacy because any email address I could use it on, I could already see. There is no way I can use it to access email addresses I don't already have access to.
Facebook should come clean and admit their real reason for threatening Chris ("We will be forced to become more formal... Hopefully you won't choose that path") is to maintain platform lock-in.
For quite a while now I've been working on an updated mozilla.org License Policy. This document has two parts:
Please review the draft document, particularly if you are the owner of a mozilla.org project like Bugzilla, Rhino, Tinderbox etc. and make sure that you understand the prescriptive parts, and that the descriptive parts are correct :-) If either of them seems wrong, let me know and I will investigate.
The Mozilla Project has been accepted to participate in the Google Summer of Code.
The student application period opens in a week's time, on March 24th, and itself only lasts a week. Therefore, we need to do two things before then:
I've been having performance problems with my Firefox (2) for months. Opening lots of tabs at once, or even a particularly large page, would cause the browser to freeze for several seconds. I finally got around to tracking this down, and it turned out to be a couple of GreaseMonkey scripts.
These scripts fire on every page and scan the page text for particular things (in my case, UK postcodes and Bible references) and hyperlinkify them.
The postcode linkifier puts together an XPath expression:
var xpath = "//text()[(parent::" + allowedParents.join(" or parent::") + ")]";
where allowedParents is an array of 50 tag names. It then evaluates it, and applies a complicated postcode regexp (although not quite the full thing):
const pcRegex = /\b[A-PR-UWYZ][A-HK-Y0-9][A-HJKSTUW0-9]?[ABEHMNPRVWXY0-9]?
{1,2}[0-9][ABD-HJLN-UW-Z]{2}\b/g;
to all the text. I can imagine that this is inefficient, although I wouldn't like to guess at which part takes the lion's share.
The Bible refalizer uses simpler XPath:
textNodes = document.evaluate('//text()', document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
but a much more complicated regexp involving various abbreviations of the names of the 66 books of the Bible.
So the question is: is there a way of providing this type of full-text search and modify function which has acceptable performance? Does the Firefox platform need to provide more help with this particular use case? It seems to me that it might be quite common.
Unfortunately, I've got post-surgical complications, and have to return to hospital for a few days. It's not actually a problem with my liver itself (which is good), but with the muscles in the abdominal wall. So, the usual: if you were expecting something from me, it might have to wait a little :-)
Six months ago I had to set up a Linksys Access Point (WAP54G) as a wireless repeater in my house, to get the wireless signal from my Wireless-G Broadband Router (WRT54G) to reach the attic. It was a painful process, and the main reason it was painful was trying to get the correct value on the repeater for the setting labelled "Remote Access Point's LAN MAC Address". This is how it knows where to send all the relayed traffic to.
How hard can this be? You go to your WRT54G router, click "Status", and there it is: a field labelled "MAC Address". Just copy that in, right? However, that's the MAC address for the wired side. So, despite the fact that the field is labelled "LAN MAC address", if you enter the MAC address the router uses on the LAN, nothing works! It's not the "LAN MAC Address" at all - it's precisely the other one, the MAC address from the Status/Wireless subtab. Doh! A "Breathtaking UI" award to Linksys, I think.
(This is a bit geeky, but I also want to document it to try and avoid anyone else having to suffer through this.)
Announcement here. We should thank the IE team for listening to community feedback and doing the right thing for the future of the Web. (Although Eric Meyer thinks the Opera antitrust case forced their hand.)
The Google Summer of Code 2008 has been launched, and the Mozilla Project intends to submit a request to take part again. This requires us to produce a list of suitable projects in the next two weeks.
As last year, we are collecting ideas for Firefox, Thunderbird, Camino, Seamonkey, Bugzilla and L10n. If you have a proposal, head over to the Brainstorming page. Please read the instructions at the top - following them vastly increases your chances of your idea getting added to the formal Ideas page.
Note that ideas need to have a suitable mentor. So if you submit an idea and you aren't available to or suitable to mentor it, you may want to go about trying to find one by politely emailing experienced hackers in the appropriate areas of the code.
For several years I've been meaning to write on the relationship between Christianity and the moral principles of the Free Software Movement (which holds that having free software is a moral good). I've finally had a chance to do just that. The essay is about 2,500 words, so should take 10-15 minutes to read. It's available as HTML, PDF and ODT. Feedback welcomed.