Penn vs. UPenn

I have three friends who go the the University of Pennsylvania. Two of them calls the school Penn, the other simply calls it Penn.

And I always have trouble remember they all go to the same school.
No comments


I've always been better at numbers than with words. That doesn't mean I can't write (I hope), but I can definitely remember numbers better than letters or words. For shorter numbers (say, 4 digits or below), I usually keep numbers in my mind by factoring them. I'm also better at even numbers than odd numbers, but I don't really know why.

For longer numbers, like phone numbers or IP addresses, I have a different system. I chunk the number in 4 digit groups, and draw them on the number pad. So, for example, the Hong Kong phone number 51439681 would become 5143-9681. 5143 on the numpad forms something like a Greek alpha, with a longer lower tail, while 9681 does a small quiver before the downward stroke to 1. I mainly focus on remembering these patterns on the numpad, and usually I will also know one or two actual numbers for me to place it on the pad correctly.

Anyone have special ways (short of pegging) to remember random sequences?
No comments

Roof! Rough! Ruth!

There's a lot of psychology surrounding jokes, and I mean more than the usual stuff that deals with expectation and surprise and joy. Take, for example, the following joke:

A guy has a talking dog. He brings it to a talent scout. “This dog can speak English,” he claims to the unimpressed agent. “Okay, Sport,” the guys says to the dog, “what’s on the top of a house?” “Roof!” the dog replies. “Oh, come on…” the talent agent responds. “All dogs go ‘roof’.” “No, wait,” the guy says. He asks the dog “what does sandpaper feel like?” “Rough!” the dog answers. The talent agent gives a condescending blank stare. He is losing his patience. “No, hang on,” the guy says. “This one will amaze you. ” He turns and asks the dog: “Who, in your opinion, was the greatest baseball player of all time?” “Ruth!” goes the dog. And the talent scout, having seen enough, boots them out of his office onto the street. And the dog turns to the guy and says “Maybe I shoulda said DiMaggio?”

This is not the first time I've heard the joke, but it's the first time I've made a connection with something else: logic. Those of you who took some psychology might recognize the Wason selection task:

You are shown a set of four cards placed on a table each of which has a number on one side and a colored patch on the other side. The visible faces of the cards show 3, 8, red and brown. Which cards should you turn over in order to test the truth of the proposition that if a card shows an even number on one face, then its opposite face shows a primary color?

Wikipedia gives the solution as well as interpretations of the test:

The correct response is that the cards showing 8 and brown must be inverted, but no other card. [...] If we turn over the card labelled "3" and find that it is red, this does not invalidate the rule. Likewise, if we turn over the red card and find that it has the label "3", this also does not make the rule false. On the other hand, if the brown card has the label "4", this invalidates the rule: It has an even number, and does not have a primary colour. [...]

[...] By contrast, some (though not all) Wason tasks prove much easier when they are presented in a context of social relations. For example, if the rule "Only people over 18 are allowed to drink alcohol" is set up as a card game with age on one side and beverage on the other, the cards might be 17, beer, 22, coke. Most people have no difficulty in selecting the correct cards (17 and beer) that must be turned over to test the rule. [...]

It turns out that for the talent scout to determine whether the dog can speak, similar logic is applied. The proposition to validate in this case is, "if the dog could say words outside of homonyms with 'woof', then the dog could speak." Notice that the antecedent is specific to "words" that normal dogs couldn't speak. If the talent scout had believed the dog could talk based on the questions in the joke, it would be the equivalent of him turning over the card labeled 3. The scout would, in other words, be affirming the consequent.

But I don't suppose joke listeners think about all that.

No comments

Bugger Blog III

Blogger has changed a bit since I started using it, but I'm most annoyed by a single thing: the way your posts are dated.

When writing, under post options, you can set the date and time of the post. I personally prefer the ISO 8601 representation, so 1 pm on Christmas day this year would be 2007-12-25 13:00. Technically there should be a 'T' before the time, but a space makes it more human readable. However, not many people follow this convention of YYYY-MM-DD hh:mm, especially the 24 hour format.

I used to be able to enter that for the post date and time though, and Blogger would accept it. Sometime in November, however, it stopped excepting that format. Instead, I get this error message:

Illegal post time (format is: hh:mm AM/PM)

Okay. There are two separate things that piss me off about this:
  1. When they say "AM/PM", they mean AM/PM, to the uppercase letter. What's wrong with writing it in lowercase? It takes one line of code to convert everything to one case, and they should do it for you.
  2. When they say "hh:mm", they don't actually mean hh:mm. What they mean is [h]h:[m]m, the tens digit only necessary when the numerical value is higher than 10.
The AM/PM thing, okay, but it pisses me off when they follow that so strictly and yet relax on the other part of the format. To be honest, I would be less annoyed if they required a zero for the numbers. At least then they're consistent.
No comments


Merry Christmas to everyone. I have two caro... songs :D to share.

Rick Alexander's Santa is an Anagram for Christmas


Klein Four Group's Twelve Days of Christmas

Happy Holidays!
No comments

Time and Space

I noticed something while having a conversation with some friends about locations. In the US more so than other countries, people describe distances by how long it takes to drive there. For example, Devil's Lake in Wisconsin is 4 hours drive north from Evanston, and Sacramento a 3 hour drive from San Francisco.

In one way, this is a very practical way of giving locations, because although it doesn't tell you where the place is exactly, it tells you how to get there, and how long it will take. What I find curious is that the time is not an absolute measure, either; it depends on the speed of the traveler. By using driving time as a measurement of distance, we are in fact assuming one thing: constant speed not only for the trip, but for all drivers.

That in turn reminded me of a suggestion someone made a long time ago. Some physicists suggested that distances should be measured in time units, with the constant being 3*10^8, or the speed of light in a vacuum. Going from Evanston to Devil's Lake would be 1.04 milliseconds, and from San Francisco to Sacramento 0.470 ms.

I find it ironic that the US, where science education standards are dropping, would have a colloquial convention that demonstrates relativity.
No comments

Week of 2007-12-17 (and 2007-12-10)

I'm two decades old :D. A quarter of my way to 80...
  • The presentation for my design class went smoothly
  • Got back to Hong Kong (obviously)
  • Got my grades for fall quarter. They were exactly as I had predicted them.
  • Reinstalled everything on my computer (Windows, Ubuntu 7.10, Arch)
  • Birthday!
No comments

Google Play

Something about this being the 100th post.

You should check out the comments to my stalker post.

Following Henry's example, I googled my username. Most of the sites I know, but I also found a link from The actual page has changed, so that link is to Google's cache.

What a strange place for my blog to show up.

Another strange place for my blog to show up is the search results for "infinite grid of ideal one ohm resistors" without quotes.

Finally, another funny video from Courtney. I personally think it's genius.
No comments

On This Infinite Grid of Ideal 1-ohm Resistors...

This is from one of xkcd's recent comics, talking about stopping people dead in their tracks with intriguing problems... "nerd sniping". It's about on the same level of effectiveness as a weapon as the world's deadliest joke, which even has a mention in Wikipedia. Going back to the comic, the problem of an infinite grid of resistors is apparently from the Google Labs Aptitute Test, which I looked up. The questions were harder and more ingenious than I thought they would be, especially the numeric-acoustic ones.

I remain, however, one of the people who are easily nerd sniped (computer scientist for one point?). Here's an example. I thought about the actual question for a bit, using my rusty physics skills, and could only narrow it down to the resistance being larger than 0 but smaller than 3 (since the two nodes are on a parallel circuit, and the resistance has to be smaller than the smallest resistance).

There's a fairly popular flash game called Desktop Tower Defense, a strategy game of sorts. I played it for a bit, then did the "fun" version where you start with 10000 gold. I spent the next few hours (or days) trying to create as long a path as possible for the creeps. That would mean more towers and more time for me to deal damage. I think my last version lasted up till level 40+ before I had to upgrade the towers...



Clearly, this is one of the xkcd comics which real life should not imitate.
1 comment

A Guide to Stalking by Example

In my last post I mentioned that I found a journal entry in a pastebin. My curiosity was peaked, and so I took a little time trying to track down who posted it, and perhaps a little more on what actually is going on. When I thought of writing down my little adventure in this blog, it also reminded me of an article I read a few weeks ago on microcelebrities, where the author found a forum thread discussing the merits of him finding a nanny for his child. As I'm typing this I'm also reminded of several articles on how googling yourself is getting more popular and might be a good idea, since it displays what other people can find out about you on the web.

In other words, how easily you can be stalked online.

I know that searching for my real name (one of "Ning Hui Li", "Justin Li", or "Justin Ning Hui Li") doesn't get too much stuff, but searching for my online alias (ninghui48) gets almost everything I've ever done online. Further more, a few of my profiles (in particular, my profile on Facebook) have very little security while providing accurate and sometimes up to date information. I know therefore that I'm a highly stalkable target.

I'm about to make someone else a microcelebrity.

First, the pastebin journal entry. On careful reading, you'll see that even though the poster didn't provide a name to the pastebin, the author of the post actually included his real name, "Ed", near the end of the entry. When he quoted verbatim his note to Shannon, he included the valediction and signature. So now we know he's called Ed, short for Edward, as shown when he quoted what Shannon said over the phone, again verbatim.

I don't mind long full quotes; in fact, I do that a lot in my own journal.

My first attempt at finding the LJ was a simple search for the entry. I googled the first line, then the crucial "Shannon was in love with me." Nothing. I paused for a moment. Ed is a common name... but his AIM user name, "oorza", isn't. Googling that gives links to, digg and Beryl, but no LJ. It could very well be the same person, of course, but it wouldn't give any information about him and Shannon. So I changed tacks, and assumed that "oorza" is the username he used for LJ as well.

Bingo! It's a friends only journal, with a post telling visitors so. The important thing to note in the post is that people should friend him to get access, or find him through IM and "get [him] to copy paste this shit to a pastebin." Which is exactly what I stumbled upon. Taking into account that pastebins are technically oriented, and that the previous results for "oorza" are also technical (following Beryl there are also links to Compiz and Gentoo), the mention of pastebins in this LJ lets us be reasonably sure that this belongs to Ed.

Although the journal is friends only, there are other things to learn. Ed has posted several times before, but all of them lead back to the same post, meaning that post was probably modified to update that line about his latest post. More enlightening is his user info page. Seven friends, one of them himself. The account type also caught my eye - Ed had a Plus Account, meaning he's paying for his account. Checking his friend's page shows that of the seven shows that ___ writes the most - at least, he writes the most of everyone who's posts are not friends only. His account is also paid.


Long story short, I ended up on Facebook which convinced me (incorrectly, it turns out) that I found the author of the post.


That's about where I left off. I've found his friends on Facebook, which adds evidence that they're the owners of the profiles we've been looking at. Ed has no friend named ___, but seeing she's 45 (as per the conversation), she's less likely to be on Facebook. I'm sure there's more to be found if I dig deeper, but I found enough already.

So, what have we learned?
  • BE OBSERVANT. This is the most important. Even seemingly trivial details may be useful.
  • Google and Facebook are your friends.
  • Usernames are often used for multiple sites, leading to multiple search results for the username.
  • Usernames sometimes contain the users' real names in whole or in part.
Oh, I forgot to mention that the pastebin post was to someone else we haven't encountered so far. They're not on LJ, or Ed wouldn't need to post it to pastebin in the first place. *shrugs*

Had fun?


I came across this concept of pastebins the night before flying out, while reading the arch linux forums. I was surprised that I have never gotten to this part of the arch linux website before, and also that I haven't even heard of pastebins until now.

It seems like a really useful idea (and it is by the number of people using it). I myself don't remember trying to share too many pieces of code through IM, although I'm sure I've done it before. There's a free version of a pastebin (the original, in fact) which anyone can use. You can also append a subdomain in front of the URL to make things more private.

By checking the recently updated posts on that site, I noticed that some people use it for entire essays. While I also write journal entries in a one-entry-per-line format, I think pastebins are much more suitable for text when the lines are short, e.g. code, configuration files, to do lists.

And in fact, I think I just found a pastebin which someone uses as a journal... Hehe. Aren't these things fun?
No comments

Wrong Side of the Street

I have an observation I would like all of you to verify: is it just me, or do people tend to walk on the opposite side of the road they drive on? So for example, in the States people drive on the right, when walking people will tend to walk on the left side of the sidewalk. The reverse is true for Hong Kong.

It's probably more an availability heuristic (kinda like a flashbulb memory) than anything, but does anyone else feel the same way?
No comments

How to Backup Your Data

Remember how I managed to fry my USB port with a little ESD? The most immediate problem is that I could not use my USB mouse, and had to stay with my trackpad for a few weeks. I also knew at the time, however, that I would have a hard time backing up my data to a USB connected external disk.

I bought a PCMCIA-USB card yesterday, which worked fine for the mouse. When I tried to plug in my external disk though, none of my three OSes (Windows, Ubuntu, and Arch) detected the device at all, even though the light on the drive lit up. I had already anticipated that the PCMCIA card won't have enough power for the disk. Luckily, the disk came with an second power only USB cable, which I then also plugged in but to no avail.

After trying the drive on my desktop, and moving it back and forth for a while, I figured out that the power cable does not by itself provide enough power. If it needs the power cable, then both that and the power+data cable needs to give it juice for it to run. It seems that the PCMCIA card just doesn't give enough juice.

I was then at a dilemma. I want to backup my files (so I could reinstall my OSes, something I do once or twice a year). There doesn't seem to be a way to connect my laptop to my disk though.

What I eventually did was a really convoluted way of doing backups, but it works. I took my new Ubuntu 7.10 boot disk and ran it on my desktop. Now I have two Linux boxes running. I connect my external disk to my desktop, which detects it and reads it correctly. Finally, I use SFTP to connect my desktop to my laptop, and do a backup "remotely" that way.

The result: I'm typing this post on a newly installed Ubuntu 7.10.
No comments

I'm Leaving on a Jet Plane

It's lovely weather outside, calmly snowing. The perfect winter day.

I'm saying goodbye (or more correctly, "see you later") to Chicago for three weeks or so. I'll miss the winter.
No comments

Importing Contacts with Gmail 1.5

I finally figured out how to import contacts into Gmail. I was right about how the new version of Gmail exports and imports incorrectly. Not only are the CSV files from the old version of Gmail incompatible, but Gmail fails to import a file generated by the new version of Gmail.

What I had to do instead was go back to the old version and do all the importing there. The main difference between the old format and the new format was the separator used; the new format uses the semicolon as the separator between different entries in the same field (say, multiple home email addresses), while the old version uses the string ' ::: '. It was an easy thing for me to do a search and replace to convert my own CSV file to Gmail format.

The funny thing is that I don't think my file works that well for the old version either. If you look at an imported contact in the old version, some of the information is moved to the notes section, meaning Gmail doesn't really know what to do with it. Switching to the new version, however, the contact is displayed correctly, with separate email addresses and IM's and everything.

So, after figuring this out, I have to agree with a lot of commentators on the web that the new version of Gmail still has a number of bugs. I still use the new version as the default, but I'm also prepared for some things to not work as well as in the old one.
No comments

Good Exam Criteria

I'm done with this quarter! I'm flying out tomorrow at noon. It'll be fun.

I was talking to someone after my stats exam, and I said that it was a good exam. I realized that my definition of a good exam is not necessarily the same as other people's. In particular, my definition of a good exam has almost nothing to do with how well I did on it.

Instead, I am more interested in how well the exam addresses the course material. Does the exam do a good job of summing up what we've learned in a quarter? Does it push us to use what we know?

The stats exam did a pretty good job of that, by asking using a lot of the techniques we learned with a single example, and also including a few parts which we haven't encountered before. Another good exam I've had was for operating systems way back when. The test was on concepts, which means the answers could be extremely short as long as it was correct. It required thinking though, which is always a good thing.

I have, in fact, enjoyed exams which I did badly at, but which I thought I should do well because the questions were so otherwise simple. Like my differential equations exam last year, afterwards I felt like taking the exam again just to prove that I am better than that.
1 comment

Exams and Stuff

Got two presentations done today. Just my stats exam left, then I'm done.

There's a meteor shower going on right now, about to approach it's brightest moment, but I'm too lazy to go outside. Missing it is just a sacrifice I have to make.

I'm missing someone else, too, but that's for me to know and you to find out.
No comments

Google Integration

I like Google, I really do. That I'm writing this on Blogger and not on LiveJournal is a statement of that. I also use multiple Google services everyday, from email to RSS feeds to search to their web hosting. Google doesn't have quite the same monopoly that Microsoft had during the 90's, and it doesn't give off that feeling of evil either.

One problem I have with using so many of Google's services is that it's not very integrated. Sure, attachments in in email could be opened with Google Docs, and mentioning dates would prompt a GCal quick event, but those are just specific instances of connect two other. Otherwise, all my documents, emails, webpages, and videos on Google are in a different place, with a different limit on their size.

What I really want to to have control over all my space on Google. For example, if I don't really need that much space for my videos, I could convert that to use for hosting space, or for documents. This allows for much more flexible usage of Google's space.

I know that integrating all the storage space is probably a tough engineering challenge. Hopefully, when Google comes out with its GDrive, it will become a reality.
No comments

Prove of God

This happened over half a year ago, but it recently popped into my mind, and it makes an easy short post.

The Christian Apologetics Research Ministry, or CARM, is a website started by Matt Slick to, well, spread Christianity. There are a large number of pages devoted to countering an assortment of different religions, non-religions, and cults, which contain, shall we say, a large number of weasel words. Somehow, reading pages from the site inevitably makes me feel personally insulted, as the the author is making a whole bunch of logical fallacies and not letting you talk back.

Which he basically does, but then again, he's paying for hosting and traffic. There's enough junk on the internet as it is, one more wouldn't matter.

All slandering of the site aside, I had actually sent them an email about an issue. Matt had brought up the idea that to hold a position, you also need to have an idea of what would change your position. It's a nice fair claim, with the scientific method behind its back. It's what researchers do all the time: have a hypothesis (the position), figure out what would invalidate it, and test to see whether it actually invalidates it. The only problem with theology, of course, is that we can't test it.

On this page and as shown in this dialog, Matt uses this to great effect. The problem with the dialog is that the
"challenger" was not that good at all; he got distracted by the whole circle-square thing. Asking Matt about unicorns is the right move, he just didn't push it enough. As such, it's like watching a wrestler body slam a ten year old kid; you would cringe just watching it.

My email was my own counter argument to Matt's use of this methodology. What evidence would I accept to say God exists? Well, he could appear (as a burning bush - boring, or a column of fire at night - much cooler), or maybe do one of those miracles. Specifically, maybe someone could part the Red Sea for me? It was done before, so it does not "violate [God's] own nature". The performance of this miracle would at the very least show some kind of anti-gravity technology, at best it would show God exists. Which would be a happy ending for all.

I think that's solid evidence to prove God exists, and lodge me from my atheism. So now I can "honestly lay claim to the title atheist".

There was a second shorter question for Matt too. It's a shame I never got the reply to the email, because I'm really curious as to what his answer would be. The question is simple: what evidence would he accept to show that God doesn't exist? It's the same question in the other direction. If he doesn't answer that one, then he "[hasn't] thought his position through" and can't "honestly lay claim" to the title Christian, by the same logic.

I wonder what his answer is?
No comments


Since I'm basically done with my natural language processing project this quarter, I thought I would write down an idea I have for my project next quarter for practicum.

Either I would do the ToA Constructor, or I would write something which can extract the structure of a document.

As it appears it me is should be simple. The first thing to try is to grab the HTML header tags, which would of course indicate a title. I don't think that will work on too many pages though, since not a lot of people like them. The next thing would be grabbing everything under a certain word length that's on a line by its own. I can think of them being either headings, or one liners made for effect. That's basically it. If these two don't work, I suppose we could also try scanning for a larger font size, but that takes in account CSS and all the other SGML junk, and is a lot harder to do.

Although, somehow I don't think I'll be working on this next quarter. But it's an idea.
No comments

Week of 2007-12-03 (and 2007-11-26)

I had a dream last night. I dreamt that I was reinstalling the OSes on my laptop, and for some reason when I installed Linux all my Windows stuff got imported. So instead of my nice clean wall paper I have twenty huge icons on my desktop. And also somehow the default web browser is IE, with all the imported bookmarks and everything. I remember muttering to myself, "wine," before going and unmounting my NTFS partition.

And then I woke up. I suppose for some people that would constitute a nightmare, but to me it just shows how much of a geek I am.

So this week was reading week, which means it's classes as usual. I just realized I didn't post a "Week of..." post last week, so this will include that as well.
  • Although I still had most of my classes, I did get down with cognitive psychology. The exam was not hard; I barely studied (read: didn't) at all, and still did reasonably well (does 89% seem "reasonable" enough to all of you who are muttering about my low standards?)
  • I'm also done with my stats project, where we analyzed the statistics of CTEC (Course and Teacher Evaluation... Crap). Students has their interest in a subject most stimulated when the professor is good. Go figure. It's surprising that these two areas have the highest correlation though; we were originally thinking there might be a correlation between time spent and the over all rating of the course. But nope; instead, there seems to be an amount of time (roughly 3-8 hours per week) where most of low ratings reside. I think it's because you either don't work at all and enjoy the course, or you are willing to put work in because you enjoy the subject.
  • I reinstalled Picasa with the 2.7 Beta Linux version. I had the 2.7 Windows version running on wine before, but it didn't handle the "download album" link on web albums correctly. Now it does, and I think it was easier to install than the old version too.
That's about it, actually. Other projects and classes are going well. We'll see how finals week goes...
No comments

Youtube Downloader

Just a word: if you ever wanted to download a video from Youtube, you can use It's open source, and so it's probably going to stay free, and you can convert the video to several different formats.
The video I wanted to download is for one of my presentations... :D
No comments

Time for Dinner!

A question for you to ponder: if the dining halls are open for dinner from 5 to 7:30 pm, when is the best time to go to avoid the crowd?

The first answer might have something to do with when people get hungry, and you would go through when you actually have dinner, if your dinner time represents a majority of people's. Since not a lot of people eat dinner at 5, most eating 6:30 or later, before 6 is probably a good answer.

Which is true, and I congratulate you on your reasoning. But then I don't always feel like eating early either, and it's pretty annoying if you get hungry again later at night.

It turns out that when the dining hall gets crowded may not be entirely determined by when people get hungry, but also by when people think they'll go get food. If you accept the solution that people like to eat with their friends (which is mostly true), then there's also the problem of how people decide when to go and get food as a group. Think about it. If you're meeting someone, are you more likely to say "I'll meet you at six", "I'll meet you at six thirty", or "I'll meet you at six thirty seven"?

The point is that when people say they'll do something together, the time they choose then to be short, and some how more memorable. The o'clock on the dot is easiest (and shortest) to remember, then the half hours, the quarter hours, and maybe the five-minutes. So a good time to get food would be a short time before any of the easy to remember times, say 6:25 or 6:40.

If only I had the same sense of understanding of buying practices in the stock market.
No comments

Pimpin' Firefox

Er... yeah.

I use a fairly customized version of Firefox, and since I recently accidentally deleted my profile and had to reset everything, I figured I would document what I do to make Firefox really mine.

There are several layers of things I do. The first resides in the preferences section. I disable everything under advanced Javascript, set the default font to Arial 11px, and use 32 MB for my cache.

Next up are the about:config values. Since I'm almost always connected to a high speed network, wired or not, I turn up the maximum number of connections Firefox can establish. There are things which deal with the delay before submenus pop out as well. The values I change are listed below.
  • browser.tabs.tabMinWidth = 75
  • content.notify.backoffcount = 5
  • network.dns.disableIPv6 = true
  • network.http.pipelining = true
  • network.http.pipelining.maxrequests = 30
  • netowrk.http.proxy.pipelining = rue
  • nglayout.initialpaint.delay = 0
  • plugin.expose_full_path = true
  • ui.submenuDelay = 0
The most advance stuff I do are stored in userChrome.css. This modifies how Firefox looks; whereas Firefox has three different toolbars by default (menus, navigation, and bookmarks), I only have one. Right clicking on a toolbar allows you to customize them, so I have my back and forward buttons, my address bar, and my search bar all up in the menu toolbar, then uncheck the navigation and bookmarks bars for display. The following CSS maximizes the space of the address bar by getting rid of a few menus and minimizing the search.
/* set default namespace to XUL */
@namespace url("");
#go-menu, #bookmarks-menu, #helpMenu, .toolbarbutton-menubutton-dropmarker,
#go-button-stack, .searchbar-engine-button, .search-go-button-stack, #throbber-box {
display:none !important;
#search-container, #searchbar {
max-width:1px !important;
min-width:1px !important;
width:1px !important;
This little snippet of styling gets ride of the History, Bookmarks, and Help menus, the drop down menu button for back and foward, the go button at the right of the address bar, the search engine selection button, the go button at the right of the search box, and finally the "throbber", the thing that "rotates" when the page is loading. That was the first line. The second line sets (what is remaining of) the search box to have a width of 1 - effectively invisible.

Here's the rationale behind all the changes:
  • I can get to history and bookmarks through keyboard shortcuts (ctrl+H and ctrl+B, respectively; ctrl+D bookmarks a page)
  • I don't use the help menu, except to know which version of Firefox I'm using, for which I go to "about:"
  • I press enter to go to an address and do searches
  • I only use Google to do search
  • There is a throbber for each tab already
The minimization of the search bar means I get to see more of the address bar. How do I search then? Well, I have a set of special bookmarks, with keywords assigned to them. They are listed below with the URL in angled brackets and the keyword in parenthesis:
  • Arch Linux (a)
  • Google (g)
  • Google Image Search (i)
  • Google Video Search (v)
  • Merriam-Webster Dictionary (d)
  • Merriam-Webster Thesaurus (t)
  • Wikipedia (w)
Those of us who have used Opera before will know how these work. All I have to do is type "g linux firefox" in the address bar, and Firefox will automatically insert "linux firefox" into the URL of the bookmark and go to the resulting address. Similarly, I can get the Wikipedia Firefox page by doing "w firefox". By doing this, I'm using the address bar as my search bar, together with the ability to change search engines as needed.

Finally, I use a small number of extensions for Firefox. The one I've used for the longest is the Mouse Gesture extension from Optimoz Team. Again something borrowed from Opera, this allows me to go back and forward, reload a page, open and close tabs, duplicate tabs, and go back to my home page with a mouse movement. The gestures I have set up are:
  • D New Blank Tab/Link in New Tab
  • DR Close Document
  • DU Duplicate Tab
  • L Back
  • LR Reload Page
  • R Forward
  • RL Reload Page
  • U Load Homepage
  • UL Previous Tab
  • UR Next Tab
I also disable rocker gestures and turn off diagonal movement, as that makes my gestures harder to perform.

The other two extensions I use are both recent discoveries. Better Gmail 2 from extends the Gmail interface. I particularly like the setting to display message details by default and the extra keyboard shortcuts for labeling messages and going to those labels, although the latter screws up the 'g + c' shortcut to go to Contacts. The last extension is Firebug from Joe Hewitt, which not only duplicates the Javascript Console function in Firefox, but also allows real time editing of HTML, CSS and Javascript, and shows a very useful picture of the position and size of an HTML node is, separating the margin, the padding, the border, and the actual content. In other words, the perfect webpage debugger.

The result of all this customization is I have a version of Firefox which I can call my own.
No comments

iGod: Repenting Made Easy!

I first came across this from a photo on Facebook. Obviously, God is not to be mocked, but still...

Me: Did you create the universe?
God: No I didn't create the universe. What's it like?

Me: God is Christian?
God: I have a lot of Faith in Him, but I never heard He was Christian.


"Note: iGod is meant to be used for fun. A sense of humour [British!] is recommended."
No comments


Since college I've had an obsession with calendars. I guess before that I was more obsessed with keeping records of things I do (chat logs, emails, whatever), and while I still keep those, I'm not as anal about them as I was before.

But calendars, I'm always trying to make mine better. I came across David Seah's compact calendar today, and I thought, wow, how elegant. My calendar has days going down the page, and hours going across, which is not intuitive at all (although of course there's nothing wrong with it; it's just uncommon). Seah's design though, preserves the Sunday-Saturday format and still shows time as one continuous line. It's on a different scale than mine too; mine is in terms of hours, whereas this is in terms of days. Consequently, while I can schedule my hourly activities very well, I sometimes lose track of days. The opposite is probably true for Seah's design.

Another interesting calendar I came across a while back is Yann le Coroller's personal information manager (PIM) design. The scope of a PIM is broader than a simple calendar, expanding to include an address book and all that. My "calendar" also serves as my to do list and birthday reminder, for example, and therefore is a limited PIM. According to Wikipedia, a PIM may also include emails (which I use Thunderbird for), journals (mix of HTML and Bash script), contact information (Gmail; I'm working on consolidating it but Gmail's stubbornly refusing to import my files correctly), news feeds (Google Reader), and even project management (I'm trying to integrate Gantt chart features into my calendar).

Anyway, le Coroller's site seem to be down right now, but I seem to remember there's a a panel which provides different information depending on what you click. Sounds really general, doesn't it. I think the appeal of his design was more in having everything in one place as opposed to the elegance shown in Seah's compact calendar.

I'm striving to do both. I smell another calendar redesign coming up...
No comments

Two Goals in AI

This is just my opinion, and I haven't read anything to support it, but I think most academic fields can be separated in this way two. The two goals are, roughly, theoretical and practical. For AI, the practical is to make computers smarter, while the theoretical is to use computers to better understand humans.

Example: natural language processing (since I'm in the class). Humans clearly do a lot to understand language. There is a lot of stuff that our brain does which no computer can do yet. That doesn't mean people haven't been trying though; things like the knowledge base Cyc, or the Structure Mapping Engine for analogies, or ACT-R the general cognitive architecture, try to really get at how humans do all this stuff we take for granted. But despite all this, it's very difficult to get computers to even understand a news article. The Learning Reader is an attempt in that direction.

On the other hand, there are purely statistical, stochastic methods of understanding language. For example, we might not know exactly what a student in fourth grade would understand, short of creating a model of their entire brain. We could, however, guess by looking at how long the sentences are, how many syllables each word has, and how long the article as a whole is. Notice that this has nothing to do with the meaning, or semantics, of the article, but only some surface properties. Clearly humans don't do this, but a machine which can tell what grade level a piece of text is would be considered "intelligent".

If this divide is seen as two different directions one can take when studying or doing research in computer science, I'm not sure it's clear which side I'm on. I think I lean slightly more towards using computers to understand humans, or more broadly, to understand humans in general. I enjoy simulations of nature more than I enjoy trying to find a proxy for whatever aspect of human reasoning we're trying to mimic.

That said, I won't complain if I got a job in either camp.
No comments


It snowed a lot in Chicago today. I learned a few things
  • Cycling on snow is actually not that bad...
  • long as the snow doesn't do anything to your bike...
  • ...such as it melting and making your seat wet...
  • ...or melting and freezing again to form a, shall we say, "icing" for your seat...
  • ...or freezing on your brakes so there's no friction at all.
I rode my bike to the computer lab, and was forced to walk it back because by the time I left, it had turned to hailing. The last two bullet points actually happened to me.

On the other hand, it snowed! So I can't complain.
No comments