Comedy Sportz

I went to ComedySportz for the first time last night. I loved it.

Six players in two teams played 8 improv comedy games. In "185", an audience member suggests something that might walk into a bar, such as a penguin. Players race to come up with bar jokes involving 185 penguins:

185 penguins walk into a bar.
The bartender says "I don't like you, please leave."
A penguin asks "Why?"
The bartender says "You smell fishy."

or

185 penguins walk into a bar.
The bartender says "Sorry, this is a Microsoft shop."
Continue reading "Comedy Sportz"
Posted on August 30, 2003 at 06:37 PM in Humor | Comments (2) | TrackBack (0)

Blogidate XML well-formedness

In a comment on my previous blog post, Simon Willison writes: "I'm not too keen on popping up a new window with an external validation service. How about an alternative bookmarklet that just validates XML well-formedness (essential for those of us who use XHTML)?"

Try the new blogidate well-formedness bookmarklet. If this bookmarklet finds an error, it turns the textarea red, selects the part of the textarea where the error is, and puts the error message in the status bar (not in a dialog). If it doesn't find an error, it turns the textarea green.

Update Jan 21, 2005: added a normalize() call so the bookmarklet won't fail when the XML is more than a few kilobytes.

Posted on August 26, 2003 at 07:10 AM in Blogging, Bookmarklets | Comments (3) | TrackBack (4)

Blogidate bookmarklet: 1-click blog post validation

"Blogidate" is a new bookmarklet that lets you validate the HTML in a blog post before posting it. It works in Mozilla but not in IE or Opera. To use it, choose the version that matches your blog's doctype and drag it to your bookmarks toolbar.

Here's a textarea so you can test the bookmarklet on this page:

Continue reading "Blogidate bookmarklet: 1-click blog post validation"
Posted on August 25, 2003 at 06:53 AM in Blogging, Bookmarklets | Comments (6) | TrackBack (3)

Smaller Google home page

I edited Google's home page to make it as small as I could without changing how it looks. The result is 30% smaller and works slightly better.

Most of the changes that weren't simple deletions involved the code for the tabs above the search box.

Posted on August 22, 2003 at 05:54 AM in CSS, Google, JavaScript | Comments (5) | TrackBack (1)

Filk

Filk began as the music of the fantasy and science fiction fan community. It has expanded to cover other geeky topics such as space exploration and computer programming.

Some of my favorite filk songs:
  • Eternal Flame (God Wrote in Lisp) by Bob Kanefsky and Julia Ecklar (download, lyrics)
  • I want my music on napster by Tom Smith (download, lyrics)
  • The Word of God by Cat Faber and Kathy Mar (download and lyrics)
  • Asteroid Named Rest Stop by Leslie Fish and Julia Ecklar
  • God Lives on Terra by Julia Ecklar (lyrics)
  • The Phoenix by Julia Ecklar
Filk downloads:

I was introduced to filk music at a small concert the night before the 2001 Mars Society convention. After the concert, which I enjoyed, Eli Goldberg gave me one of the copies Roundworm with defective cases he was trying to get rid of. Since Roundworm is all parodies of other filk songs, it was a great starting place for finding out about other filk writers and singers.

Posted on August 21, 2003 at 02:59 AM in Music | Comments (1) | TrackBack (0)

A minor accomplishment

I built Mozilla Firebird for the first time yesterday! It took me 3 days to convert my Mozilla build setup to build Mozilla Firebird. I started with a working MSVC.Net Mozilla build and used Gemal's guide to building Mozilla Firebird [with gcc], thinking I would be able to skip the gcc-related steps since I already had a working build environment for Mozilla.

I switched from msvc.net to gcc twice (once accidentally, once intentionally), but ended up using msvc.net. Read more for a boring list of the problems I ran into, and a much shorter list of suggestions for changes to Gemal's page.

Continue reading "A minor accomplishment"
Posted on August 19, 2003 at 06:08 AM in Mozilla | Comments (4) | TrackBack (0)

Suggestions for Google Calculator

General suggestions

  • Stay within unit systems. If I search for rod= or acre, give the answer in feet or square feet, not meters or square meters. If I search for 1 acre / 1 mile, say 8.25 feet instead of 2.5146 meters.
  • Output in km/h rather than m/s if the inputs are in terms of kilometers and hours or days. 800 km / 8 hours should be 100 km/h (rather than 27.77777778 m/s), but 3/5 c and 10 m / 3 s should be in m/s.
  • Parse 8 h as "8 hours", not "8 times Planck's constant". Not everyone knows what Planck's constant is or that it is represented by "h". I noticed this problem while searching for 800 km / 8 h. Strangely, 800 km / 100 km/h works as I would expect.
  • Never round aggressively. Round without explanation once (one baker's dozen in dozens), and you lose my trust whenever you output an integer (1 acre in square feet) unless I figure out your rule for when to round.

Error-handling

  • Floating-point arithmetic errors (1 / 0, 2 ^ 2000) should be displayed by default. Currently, they cause the calculator line to not appear, as if the calculator hadn't feature been triggered at all.
  • Unit errors should be displayed by default. Examples: 1 acre in feet, 1 meter + 2 seconds, cube root of a square mile.
  • There should be a way to see syntax errors so I'm not left in the dark when I make an error in my input and only get search results. It would make sense to use = at the end of a search for this, since = already causes questionable calculations like 1 feet= or 8 mile= and useless calculations like 6 cm= to be displayed.

New features

This is my second post about Google Calculator. My first was Units in Google Calculator.
Posted on August 19, 2003 at 03:40 AM in Google, User Interfaces | Comments (3) | TrackBack (0)

Is my Mozilla chrome too expensive?

This Google search, in addition to finding my blog entry called Chrome URLs in Mozilla and Mozilla Firebird, displays the following ad (affiliate identifier removed):

Posted on August 18, 2003 at 05:12 PM in Mozilla | Comments (1) | TrackBack (0)

Units in Google Calculator

Asa is skeptical of the usefulness of Google Calculator. He uses something like the "ja" keyword bookmarklet, so he can type "calc 1+5" into his address bar to do a quick calculation. While that's great for arithmetic (and DOM), Google Calculator does a lot more than arithmetic.

My favorite Google Calculator feature is units.

  • Can't remember a conversion factor? Search for 1 foot in cm or feet in a meter.
  • You'll notice quickly if you multiply when you should divide or vice versa, because the units in the output will be wrong (1 volt * 1 amp vs 1 volt / 1 amp).
  • 128000 bps * 3 minutes is much less error-prone than trying to remember all the conversion factors, even if you ignore than 1000-vs-1024 problem. (1MB is 1024^2 B, but a "128kbps" MP3 is 128000bps, which I verified with a long "160kbps" MP3).

I also like Google Calculator's metric-centricness. Google knows I'm in the US, but a simple search for foot or mile gives me a conversion factor to cm or km, while searching for cm or km does not convert back. Unpatriotic? Maybe.

Posted on August 16, 2003 at 05:38 AM in Google | Comments (9) | TrackBack (0)

How I search for bugs

People often ask if I memorize bug numbers. I've only memorized a few bug numbers; my speed comes from having memorized parts of bug summaries and these searching tricks:

  • I use Bugzilla QuickSearch for 99% of my searches. I only use query.cgi when I need "changed in n days" or things only available in boolean charts (such as bug history).
  • I include resolved bugs in most of my searches (using "ALL") so I can follow links from duplicates.
  • I restrict my searches to bugs with 2 or mote votes (using "votes:2") when I search for a bug I know is "popular". About 9% of open bugs have 2 or more votes.

I also change bugs so I can search for them more easily.

  • I change summaries to make bugs show up in searches by adding words that I'm likely to search for.
  • I change summaries to make them easy to understand in search results by making them more precise or shorter.
  • I cross-reference bugs that are closely related by adding a comment to each bug pointing to the other bug.

If I know that two bugs are cross-referenced, I often use the "collect buglinks" bookmarklet instead of skimming comments for the link.

Posted on August 13, 2003 at 04:39 AM in Mozilla | Comments (4) | TrackBack (0)

Firebird build blog

I started a blog, The Burning Edge, to help Mozilla Firebird fans decide which nightlies to use.

Posted on August 12, 2003 at 06:28 AM in Mozilla | Comments (2) | TrackBack (0)

Chrome URLs in Mozilla and Mozilla Firefox

Every once in a while, someone asks how to open the JavaScript Console in a browser tab, or how to make a shortcut that opens the Bookmark Manager. Here are the chrome:// URLs you need.

To make a shortcut, use the -chrome switch, like this: firefox.exe -chrome chrome://browser/content/bookmarks/bookmarksManager.xul. If you leave out the -chrome switch, the Bookmark Manager (etc) will be inside a browser window.

To open one of these in a browser tab, just enter the URL into the address bar. Chrome URLs can be bookmarked like any other type of URL. Opening these chrome URLs in browser tabs is not supported, so don't be surprised if you encounter bugs.

Mozilla Firefox:

prefs chrome://browser/content/pref/pref.xul
privacy prefs chrome://browser/content/pref/pref-privacy.xul
bookmark manager chrome://browser/content/bookmarks/bookmarksManager.xul
bookmark panel chrome://browser/content/bookmarks/bookmarksPanel.xul
history panel chrome://browser/content/history/history-panel.xul
download panel chrome://browser/content/downloads/downloadPanel.xul
javascript console chrome://global/content/console.xul
master password chrome://pippki/content/pref-masterpass.xul

Mozilla Seamonkey (suite):

mail chrome://messenger/content/messenger.xul
(Does not work well)
chatzilla chrome://chatzilla/content/chatzilla.xul
(Does not work well)
prefs chrome://communicator/content/pref/pref.xul
(Also works in Firefox until bug 221602 is fixed)
history window chrome://communicator/content/history/history.xul
(Also works in Firefox until bug 221602 is fixed)

Update 2004-11-30: This entry is now duplicated at MozillaZine Knowledge Base: Chrome URLs. The Knowledge Base entry may be more up-to-date than this blog entry.

Posted on August 09, 2003 at 10:14 PM in Mozilla | Comments (9) | TrackBack (0)

California recall

Capitol Steps: Interview with "Arnold Schwarzenegger" (mp3).

Meanwhile, SFGate reports that 52% of registered California voters "said the recall does not make California look foolish to the rest of the country". (via Erika Rice)

Posted on August 09, 2003 at 09:35 PM in Humor, Politics | Comments (5) | TrackBack (0)

Perception experiment videos

The Visual Cognition Lab at the University of Illinois has some cool videos.

In one set of videos, "Real-world person-change events", an experimenter asks a subject for directions. Two people carrying a door come between the experimenter and the subject. While the door is between them, the experimenter switches with one of the door-carriers. Subjects noticed the person change between 35% and ~100% of the time, depending on whether the experimenter was part of the same social group as the subject.

The "Gradual changes to scenes" videos are fun. Over a period of about 10 seconds, part of an image changes. Unfortunately, video compression artifacts make it easy to see the change if you focus on the correct portion of the image. I wrote Gradual image change in JavaScript with the intent of submitting it to the lab. The JavaScript works by superimposing two images and varying the transparency of the top image in increments of 1%. It works well in IE 6.0, but it's about three times too slow in Mozilla Firebird on my 1.6 GHz computer.

Posted on August 09, 2003 at 03:46 AM in JavaScript, Perception | Comments (0) | TrackBack (0)

The British government has learned...

Bush: "The British government has learned that Saddam Hussein recently sought significant quantities of uranium from Africa." (State of the Union address)

Rice: "The statement that he made was indeed accurate. The British government did say that."

Rumsfeld: "It turns out that it's technically correct what the president said, that the U.K. does -- did say that -- and still says that."

"Randy": "I never said your wife's a whore. What I said was: Jim found out your wife's a whore." (a comment on dKos via causality)

Posted on August 08, 2003 at 09:55 PM in Humor, Politics | Comments (0) | TrackBack (0)

At least it doesn't include the Union Jack

Strong Badia's flag breaks many of the rules Josh Parsons used when he graded the world's flags. I wonder if the Brothers Chaps consulted that page before creating the flag.

Posted on August 07, 2003 at 06:19 PM in Humor | Comments (0) | TrackBack (0)

Five things not to do at the command line

rm blah *
This user meant to type "rm blah*", but accidentally hit space between 'h' and '*'. As a result, rm deleted blah, then deleted everything.
tar czf *.cpp *.h
The first filename after 'f' is tar's output file. "Well, all but the first one got backed up at least..."
grep --context=100 "foo" * > found.txt
This user was trying to search a directory of IRC logs for some text. Since the output file (found.txt) was in the same directory, grep kept finding new matches in found.txt and adding them to the end of found.txt. Found.txt was 900MB by the time he noticed the error.
rm -rf $2Applications/iTunes.app 2
The lack of quotes around "$2Applications/iTunes.app" caused this line in the iTunes installer to only work as intended when $2 contained no spaces. If $2 was "Disk 1", a disk called "Disk" could be deleted.
cd $DESTDIR
rm -rf *
gunzip -c $FILE | tar x
This user had not mounted the memory stick $DESTDIR was on before running the script. The cd failed to move to $DESTDIR, but the script continued, deleting everything in the directory the script was running in.

Three of these examples come from a thread on the East Dorm chat list.

Posted on August 07, 2003 at 01:02 AM in User Interfaces | Comments (6) | TrackBack (0)