Archive for May, 2007
Bay to Breakers
Yesterday was the 96th annual Bay to Breakers - a 12K race/walk/stumble through San Francisco. A group of folks from Mozilla met to “compete”, complete with a float (thanks Mary!) and full fox costume (thanks Jonas!). I nabbed a few pictures throughout the event that can be found here. I also took a few videos of the fox dancing and the salmon swimming upstream.
It was a lot of fun and we were able to hand out quite a few Firefox temporary tattoos, stickers, and buttons.
No commentsInternship starts.
I arrived in Mountain View on Monday morning without issue. My first two days have been great. This is my desk. This is my apartment.
More later.
No commentsGetting text without gettext
Last week I made the switch from Windows to a Mac OS X. I’m definitely happy with the change, although one aspect gave me quite a bit of trouble: PHP gettext support. Now that AMO is localized (in 20 languages and growing!), gettext is required for a local installation.
To make a long story (involving MAMP, XAMPP, compiling PHP and Apache multiple times, and then back to MAMP again) short: MAMP should really include PHP compiled with gettext, as many other frustrated people have pointed out. During my battle, I asked others on the team that have been using Macs what they do for development. Some do all of their development in vim on a development server and others use a Linux virtual machine.
I had already written a basic .po string parser for the Localizer Control Panel, so I decided to make my own gettext emulator. The result is faketext, and MAMP + faketext = working Remora installation. It quickly parses .po files and will load a page in a specified language just as if you had the PHP extension installed.
Apparently there’s an inactive project called php-gettext that has the same idea but parses the binary .mo files instead. I didn’t try it because it would require many of the same modifications I made to work with AMO, and wenzel says it’s extremely slow anyway.
AMO faketext - save as config-local.php and drop in site/app/config.
Generic faketext - will probably require slight modification to detect the requested locale, as indicated in the comment at the top.
Site Identity, Part 1
This week I decided I want to work on my site and extensions a bit before I live and breath Mozilla for the next 3 months. Enter the ribbon. It's something I've wanted to do for quite awhile, and it took a bit longer than I expected.
I added what I'm calling a ribbon (unrelated to Office 2007) to the main fligtar.com sites, like this blog. Clicking on it will bring down a menu of other things on fligtar.com.
I wanted to be able to easily modify an existing site to use this style and I wanted to be able to modify the menu content in one place, but I didn't want to use PHP.
I'm pretty happy with the result (I won't say "Mission Accomplished"), as including the ribbon without gradient can be done by:
-
<link rel="stylesheet" href="http://g.fligtar.com/ribbon.css" type="text/css">
-
<script language="JavaScript" type="text/javascript" src="http://g.fligtar.com/jquery.js"></script>
-
<script language="JavaScript" type="text/javascript" src="http://g.fligtar.com/ribbon.js"></script>
-
</head>
-
<div id="ribbon_menu" style="display: none;"></div>
-
</body>
-
</html>
... and the gradient is 2 lines more.
The process I went through to create this reveals why it took longer than expected:
- Determine color scheme
- Make shiny bar
- Place shiny bar
- Make 4 versions of logo that I'm not happy with
- Make 2 entirely functional menus before deciding I want the ribbon to drop down
- Fight with IE
- Realize that some sites (blog and LSU map) can't use the gradient
- Separate gradient from shiny bar and redo that area of CSS
- Deploy to all sites
- Fight with trac's CSS which did not play nicely with mine
- Win!
I called this Part 1, but my current plan is basically:
- Implement Ribbon
- ...
- Profit!
More like tstupid
I spent a half hour trying to figure out why my site was rendering perfectly in Firefox, but not at all in IE7. I went through the trouble of finding the Microsoft Script Debugger (did I mention Firefox comes with a Javascript/CSS Debugger?) to find that it wasn't a JavaScript error. I resorted to the Google, which led me to my solution. I vaguely remember encountering this problem a few years ago as well, but apparently didn't learn my lesson.
You can't add tr's to a table in IE. You have to add it to a tbody. ERGO, this does not work:
-
var table = document.createElement('table');
-
var tr = document.createElement('tr');
-
var td = document.createElement('td');
-
-
td.innerHTML = 'IE sucks';
-
-
tr.appendChild(td);
-
table.appendChild(tr);
You must do this instead:
-
var table = document.createElement('table');
-
var tbody = document.createElement('tbody');
-
var tr = document.createElement('tr');
-
var td = document.createElement('td');
-
-
td.innerHTML = 'IE sucks';
-
-
tr.appendChild(td);
-
tbody.appendChild(tr);
-
table.appendChild(tbody);
Indeed.
No comments