Welcome to the adventure

Ninja updates

Monday November 27, 2006

Ninjawords (a really fast online dictionary) has received some much-needed upgrades. The biggest change is that Wiktionary is now the default source of words, and it is served locally (meaning very fast). Previously I was relying on the Princeton Wordnet dictionary, which is outdated and incomplete. When Wordnet didn’t have the word (which was quite often), I tried to fetch the word directly from wiktionary.org. Going to wiktionary.org is very slow. Since Wiktionary is now local, definitions are served up much more quickly.

I’m still using Wordnet as a fallback dictionary; if Wiktionary doesn’t have it, I look in Wordnet. It’s the best of both worlds.

What does Wiktionary bring to ninjawords? Tons. There are more words, and the definitons are usually much more complete than those in Princeton wordnet. In Ninjawords, you can now look up prefixes and suffixes (like -ism and -ity), interjections (like yo-ho-ho and lol), phrases (“kick the bucket” and “your mileage may vary”), acronyms (MMORPG) and even colorful Austrailian expressions like “pavement pizza.”

Additionally, some words in the definitions are now links, so you can quickly look them up if you need to, just by clicking on them. They appear on the same page, without a refresh. See here:

definition links

Random words are now cached, so if you click the random button, a random word appears instantly. It’s so fast, it’s unnatural.

I’ve fixed a few bugs here and there, mostly associated with parsing wiktionary and showing you a timeout if the definition doesn’t come up right away (e.g. if your network connection goes down).

Oh, and there’s an easter egg. The site consists of a logo, one textbox and two buttons. Shouldn’t be too hard to figure out =)

On the whole, Ninjawords is now much faster. Thanks for all the feedback thus far; please let me know if you find any bugs.

New “about me” design

Monday November 20, 2006

I love old paper. That’s the theme of this new design with its crazy fonts:

paper web design

A million points if you can guess where I stole the colors from.

Old page is here.

Creating small web apps

Thursday November 16, 2006

I was pondering this today: when I use some of the (great) products that 37signals puts out, I feel like they’re all similar in some way. It’s because they are — they’re small, they quickly change in small ways, and they have very few pages. it turns out Jason Fried architects their products to be like that for good reason. They’re maintainable and they can put out more software with less developers, and they do the job (and only the job) well. I like this philisophy. Relevant part from the interview summary:

They try to keep their decisions temporary, so the impact is smaller

If you keep decisions small, they’re often quicker to fix

They try to keep the number of pages low for each product

They take inspiration from Apple’s product pages

How to generate metadata from an image, the brute-force way

Tuesday November 14, 2006

A core problem in computer vision is that it’s really hard to index visual data for searching. How do you attach (or extract) metadata from images so you can have relevant search results?

Well, you can forget about those fancy object recognition routines, and don’t worry about matching a region of an image against similar, known (tagged) regions. Instead, just ask your users to tag your images for you. In fact, make it into a game! Brilliant.

Ninjawords - a fast online dictionary… fast like a ninja

Friday November 10, 2006

I’ve built an online dictionary because I was frustrated with what’s out there. I often need to quickly check a word’s definition, and I usually find myself shouting these questions at the websites (I sometimes take bad usability personally):

  • Why are you inundating me with images and ads, when the content of dictionaries is purely text?!
  • Do you really think I need to see 50 definitions of the same word?
  • Why do I have to open 10 separate pages to look up 10 different words?

To sum it up, “get out of my face and show me a definition!”

I have a high-latency satellite connection, so it really is a huge pain to deal with cruft in a dictionary. We shouldn’t have to. If you want exhaustiveness, buy an OED.

nw-ss2.png
With Ninjawords, looking up a word doesn’t cause a page refresh. And it tells you it’s doing something (”looking up [word]”), which is reassuring when you have a slow connection like mine. You can look up many words on the same page, either one at a time or separated by commas. You can look up words by URL in case you don’t want to navigate to the page once itself, which can save some time. Read more about what it can do here.

Also has a fancy spell check:
didyoumean.png

Why are there no really fast ajax dictionaries out there? I don’t know, but I felt it was time to get one. I saw objectgraph’s dictionary some time ago, and I thought “this demo should be made into a full service, with a more up-to-date word lists.” So I did just that, and made a new UI, because I don’t like the UI on objectgraph’s dictionary. With objectgraph, you type into a text box and have to wait for a drop down to show you definitions. I have the tendency to hit “enter” when I want something to happen, and on my machine, if you do that in their search box they show you nothing.

Also, sitting there waiting for a drop down to appear with no notification is a bit unsettling, and nondiscoverability is a problem. And the words take 3 seconds to show up on my slow satellite connection.

Ninjawords is built using Ruby on Rails (surprise), and I’m using the poorly documented but excellent scrapi page scraping library to pull definitions from wiktionary that my local dictionary is missing.

Update: lots of new stuff, and even a thesaurus.

Internet Explorer in linux, for web development

Friday November 10, 2006

If you do your web development in linux and haven’t seen ies4linux, get it immediately. It’s brilliant.

Run their script, it downloads some cab files from Microsoft, and then you can have IE 5, 5.5, 6, and 7 all running on your linux machine (via wine). Easy installation, and its very mature.

Here’s IE5, IE6 and IE7 running at the same time on my Ubuntu desktop (hard to tell which is which):
ies.jpg

Goodbye windows box.

Dead simple Ubuntu instructions. At the time of writing, you need the beta version to install IE7.

Finally some InstallPad Digg action

Wednesday November 1, 2006

Gina’s article about InstallPad got frontpaged on Digg. Now maybe we can get a few more contributors =)