Jon Aquino's Mental Garden

Engineering beautiful software jon aquino labs | personal blog

Saturday, June 04, 2005

YubNub: My entry for the Rails Day 24 hour programming contest

yubnub
(Credit for the cute snail drawing goes to Igor Križanovskij)

Well I have completed my submission for the 2005 "Rails Day" 24-hour programming contest. The idea was to make the coolest program in 24 hours, using a wonderful programming system called Ruby on Rails. I made a web application called YubNub (haven't had a chance to make it publicly accessible -- will do soon). But first, a question:

1. What is YubNub?

YubNub is a command-line for the web. After setting it up on your browser, you simply type "gim porsche 911" to do a Google Image Search for pictures of Porsche 911 sports cars. Type "random 49" to return random numbers between 1 and 49, courtesy of random.org. And best of all, you can make a new command by giving YubNub an appropriate URL.

2. Why did you make YubNub?

On a practical note, I was tired of setting up the same Firefox keywords on each of the 5 computers that I use. By putting my keywords into YubNub, I can hit "am mark twain" for an Amazon search, or "gmap vancouver" for a Google Maps search, no matter which computer I'm on.

But on a bigger scale, YubNub is the realization of a very big idea: the URL command line of the web OS.

Web applications were once considered slow and unreliable, compared to their desktop counterparts. But these days, people are increasingly choosing web applications over desktop applications. Amazingly, GMail is found to be faster than desktop email programs. The snappy Google Maps interface feels as responsive as a desktop application. The web is morphing into the desktop, and today we are witness to the command line making its appearance in this new world, as YubNub, the (social) command-line for the web.

The beauty of YubNub is that anyone can help to extend it. If there is an existing web service with a submit form, they can add it pretty easily (like I did with the Amazon example above). But even more interesting is the adding of complex data-processing services (like validating an RSS feed, or converting webpages to audio using text-to-speech).

This will really come into play when I implement pipes (e.g. "google jon udell | to_rss | xargs text_to_speech"). Now that is going to rock! And I don't have to be the one to make these commands -- anyone in the world can create the code for to_rss, xargs, and text_to_speech, hosting it on their server. YubNub is just the glue that enables these pieces to interact.

3. What's up with the name "YubNub", anyway?

I remember hearing this word as a kid, watching one of the Star Wars movies. Evidently it means "Hooray" in the Ewok language.

212 Comments:

  • dude..I just discovered your blog. It's awesome. Your modified keyboard is awesome too.

    By Blogger hanieh, at 6/04/2005 11:04 PM  

  • Hi hanieh - Sounds like we have similar interests. Rock on.

    By Blogger Jonathan, at 6/04/2005 11:05 PM  

  • yubnub is just great .. sorry for bothering (the commands i mistyped)

    By Anonymous ichigo, at 6/05/2005 4:56 PM  

  • Thanks ichigo! Now get to bed already!

    By Blogger Jonathan, at 6/05/2005 4:59 PM  

  • Jon the gim and am commands are cool. I used gim "Firemind" because I know my pics pop up a lot in Google Image search. Voila! It is was faster than clicking on google then google images then...

    I am off to experiment with delicious tag searches. Good work Jon!

    By Blogger Leon, at 6/05/2005 5:16 PM  

  • Leon - fantastic! And make a "fm" or "firemind" command!

    By Blogger Jonathan, at 6/05/2005 5:19 PM  

  • So if anyone makes a typo or discovers some spam, just send me an email. I'm a sort of "benevolent editor" of YubNub.

    By Blogger Jonathan, at 6/05/2005 5:35 PM  

  • Thanks to the friendly folks on the #rubyonrails IRC channel for critiquing YubNub and adding a bunch of cool commands to it.

    By Blogger Jonathan, at 6/05/2005 5:46 PM  

  • The YubNub "Snail" logo is licensed according to th Free Art License, in accordance with the wishes of the original artist, Igor Križanovskij.

    By Blogger Jonathan, at 6/05/2005 5:50 PM  

  • Awesome app!

    By Anonymous Jomdom, at 6/05/2005 7:44 PM  

  • Thanks Jomdom! I'm quite proud of this puppy.

    By Blogger Jonathan, at 6/05/2005 8:17 PM  

  • A profound and truly excellent web application!

    In a matter of minutes I created four useful commands (some might even be useful to others!):

    Define word at www.dictionary.com
    http://yubnub.org/kernel/man?args=def

    Track FedEx shipments
    http://yubnub.org/kernel/man?args=fedex

    Display site-specific NEXRAD radar images
    http://yubnub.org/kernel/man?args=nexrad

    Display state-specific NWS weather warnings and watches
    http://yubnub.org/kernel/man?args=nws

    By Anonymous Andrew Collins, at 6/05/2005 9:48 PM  

  • Andrew - I love the commands you have created. It's neat to see stuff go beyond standard web searches.

    By Blogger Jonathan, at 6/05/2005 11:20 PM  

  • And thanks for taking the time to make good descriptions.

    By Blogger Jonathan, at 6/06/2005 2:34 AM  

  • Really Excellent. Simple idea, well executed. Liked it so much i knocked up a simple Firefox search plugin for it.
    source
    image
    (copy to your firefox searchplugins directory)

    By Anonymous Stuart Eccles, at 6/06/2005 6:44 AM  

  • Jon: that just rocks.

    By Blogger Darius Kazemi, at 6/06/2005 7:26 AM  

  • A great early step towards getting the Web OS idea out there and into people's minds in a very practical way. Bravo!

    By Blogger Darren Torpey, at 6/06/2005 8:35 AM  

  • Jon, your app rocks. Great idea: simple yet profound. Wonderful notion of using pipes and shuttling output between web sites.

    By Anonymous Bill, at 6/06/2005 11:05 AM  

  • Stuart - Thanks for the Firefox search plugins. I will link to them in the app and acknowledge your work.

    Darius - Yeah, I'm thrilled with this web app!

    Darren - Let us build the Web OS together!

    Bill - Yeah, pipes are going to be awesome! Need to figure out a standard way to shuttle POST parameters between commands. Any ideas?

    By Blogger Jonathan, at 6/06/2005 12:10 PM  

  • This is scarily good. I just added 5 items in 5 minutes. This could easily grow extremely quickly. No business model though, which is fine, since you can't really display your own adds without really screwing this all up.

    By Anonymous Anonymous, at 6/06/2005 1:34 PM  

  • Hi anonymous - I saw you entering in those commands. Thanks a bunch!

    YubNub has the following business model: to make life wonderful.

    By Blogger Jonathan, at 6/06/2005 1:41 PM  

  • The more things I add, the more I realize I think you may need to make this personalized. copy will help do this, but I think maybe each person should be able to change any command but the community decides on the default. the namespace is quickly going to be cluttered, especially since I want to use this to just go to sites as well. (ie rails->rubyonrails.org without search). A lot of these sites just interest me and will clutter others' namespace. I think the ultimate goal is to be able to do anything from the command line (including launching notepad for example), with sensible defaults, but complete control for each user if they want.

    Figuring out a way to do posts sensibly would also be nice, helps with things like currency conversion. Perhaps allow named parametes {$name} goes to something and {$$name} is the key name (which is sometimes useful). Called like: "lookup name:jon." There could also be a default order so "lookup jon" does same thing, but "lookup company:ibm" is different.

    I also think it would be nice to have a second url for the case when no second parameter is specified, so that I can type slashdot and it will take me to slashdot homepage not slashdot search.

    Since all this has the potential to take away for the simple beauty of yubnub, you could hide it all behind an advanced settings option.

    Finally, it would be nice to make this open source so people could contribute more complicated stuff like the backpack integration (which could be very cool and pretty easy).

    You could also script all sorts of cool stuff like "email jon how's it going" which would go into gmail, find the "jon" contact and send him email with "how's it going." Anyway, there is tons of genius stuff like this no doubt, full open access would enable. I doubt you have time yourself for all these ideas.

    By Anonymous Anonymous, at 6/06/2005 2:22 PM  

  • Interesting and very nice. I could see myself using it.

    By Blogger jason, at 6/06/2005 3:23 PM  

  • Jon, I'm not sure how you are approaching pipes, but my initial reaction is to have people create input and output filters for each command. Each pipe is more than a simple transfer of one web site's output to another's POST or GET parameters. If a pipe is specified like X | Y, the pipe takes the output filter specified for X (perhaps it knows to convert google output to particular XML format), generates the output data, and then applies the input filter for Y that goes searching for appropriate data. within X's output data. Yubnub just supplies the glue, or in this case the specification for what output filters should produce and what input filters can sift through. If no pipe is specified, it's business as usual.

    Putting a pipe between web commands might only makes sense some of the time. This would be equivalent to the input filter for Y being able to find reasonable parameters passed to it from output filter X. If it can't find acceptable parameters, an input filter can throw up its hands and return a message to the user saying as much. Does this make sense?

    By Anonymous Bill, at 6/06/2005 4:36 PM  

  • I should add that the above pipe logic sounds a lot like XSLT, but the output from a web command will probably not be well-formed. So the tricks are:

    (1) coming up with a decent output filter for each command, which may be nothing more than letting users write scraping routines tailored for each web site in some language that doesn't compromise YubNub.

    (2) coming up with a decent set of tags that maximize the ability to shuttle output from one command to the input of another.

    By Anonymous Bill, at 6/06/2005 4:50 PM  

  • Anonymous - Lots of excellent ideas. Yeah - How can we launch native apps (e.g. Notepad) with this thing? Named parameters is a great idea. Maybe someone can make an auxiliary service that will do this - then we don't have to change YubNub at all. Amen to extensibility!!! Interesting idea about having two URLs: one with a %s and one without. And yeah, it's nice and simple, so all this stuff could go under an Advanced options screen, as you say. Yeah - open sourcing it - awesome idea. I need to figure out a way to give read-only access to my Subversion repository to the public.

    And I *love* your "email jon how's it going" command idea. But you can implement this even without the YubNub source code. Just make the service on your web server, and add to YubNub the URL of your server.

    Jason - I'm delighted about your finding it useful! Yay!

    Bill - Excellent ideas about output filters and standard tags. You know, maybe the output filter can just be another command. We'll see. Hoo boy - I'm tired today. I want to re-read you two comments because it sounds like there's some good stuff in there.

    By Blogger Jonathan, at 6/06/2005 7:11 PM  

  • I have implemented a feature called "implicit commands". Basically if you type in a command that does not yet exist, YubNub will try to guess where you want to go. If it's not sure, it will return a list of search results. So if you type "porsche" it will take you to the Porsche website, but if you type "cars" it will return a list of Google search results for cars.

    Actually all YubNub is doing is defaulting to Google Browse By Name if you give it a non-existing command.

    By Blogger Jonathan, at 6/06/2005 8:18 PM  

  • Update: We now have text-to-speech and language-translation commands!

    By Blogger Jonathan, at 6/07/2005 12:50 AM  

  • Jon,
    You are right that it takes a community to create a command line. At least if we mean a command line like the one you envision.

    This brings up very interesting questions of common vs. customized components.

    What's interesting here is that can begin to see how the Web OS has the *potential* to be the ultimate operating system. Take this command line idea. Operating systems (in places) put some of the strongest emphasis on modularity we even find in software engineering.

    The web is inherently modular (despite our ignorance leading us to miss this concept in a deep way thus far); thus, if we design this command line correctly (I imagine it will require at least on full new version), it could really begin to get across the ideas of what the web is really about.

    Actually, Jon, I think I do want to help you with this for real. I've been talking to Darius about how what really irks me about the web is that despite all the cool services popping up everywhere we STILL seem to be missing the concept of ANYTHING GOING TO ANYTHING (within reason).

    The dream is that one day, perhaps soon, we'll be able to use an online word processor to type up a document, then quickly (possibly within the document) specify three email addresses and two rss feeds which all automatically know what to do with the document, etc. And it goes on and on...

    It's all about free, open, extensible tools, which are a big passion of mine. What do you think? This is the dream, right?

    By Blogger Darren Torpey, at 6/07/2005 5:44 AM  

  • Hi Darren - Sounds like you have great hopes for web app nirvana: free, open, extensible tools. I share your dream. (Gmail was a major step forward! And maybe also delicious.) Amen about web apps not easily interacting yet. I just think of all the places I have to enter my profile info (I re-enter my name, email, interests, fave books in Blogger, Flickr, OurMedia, etc.) Why can't I just put my profile info in one place? So yes the web is "small pieces, loosely joined", but it needs better glue.

    By Blogger Jonathan, at 6/07/2005 8:08 AM  

  • hmm, what about backticks?

    By Anonymous jpath, at 6/07/2005 12:45 PM  

  • Hi jpath - I'm intrigued by your backticks idea. What would be an example of their use?

    By Blogger Jonathan, at 6/07/2005 1:47 PM  

  • Nice. How about an equivalent of the Unix 'apropos' (man -k) command?

    By Anonymous Brett, at 6/08/2005 6:08 AM  

  • Brett - Fantastic idea! I've added it to the todo list.

    By Blogger Jonathan, at 6/08/2005 8:12 AM  

  • I just stumbled upon yubnub today and I think it's really useful. I've been using it all day. I'm not using google any more.
    One suggestion:
    How about using tags (like delicious) to classify the commands?
    Going through the command list, especially after it gets really big, might be a bit overwhelming especially for a new user.
    I already created a command and named it rotten to search the rotten tomatoes movie review site. It could be tagged with search and movies.

    By Anonymous shanabak, at 6/08/2005 2:20 PM  

  • This is by far the best RailsDay app I've seen. Thanks!

    It would be useful to have an RSS feed for the commands list page to keep up with the new entries.

    By Anonymous Brian, at 6/08/2005 2:34 PM  

  • Hi shanabak - Great idea about using delicious tags!!! Maybe YubNub could run a nightly process to get the tags from del.icio.us.

    Brian - Wonderful idea about an RSS feed. I'll add it to the todo list

    By Blogger Jonathan, at 6/08/2005 8:55 PM  

  • incredible! I'd like to see refinement of all of the commands for depth and usefulness: ie, all those searches of google, yahoo, clusty, etc., should include maximum number results, 100 in their output.

    very cool:
    you could marry YubNub to sets of web applications, like the web applications list:
    http://webapplist.com/design.html
    and then make some logical commands...

    I'd like to see somebody cull and refine the command list so that the end result is logical, useful and universal...

    You are a genius....
    This is going to make my HOME PAGE, something I've NEVER given to any url (I'm an about:blank kind of person)

    By Anonymous Anonymous, at 6/09/2005 6:43 AM  

  • Anonymous - I love your ideas. Great idea about grabbing all the apps listed on webapplist.com. Also the bit about specifying multiple parameters -- that's high on the todo list.

    By Blogger Jonathan, at 6/09/2005 12:34 PM  

  • Also if you want 100 search results, just make your own command for now! e.g. g100, y100.

    By Blogger Jonathan, at 6/09/2005 12:49 PM  

  • Jonathan:
    Actually I was thinking about implementing tagging with-in yubnub in a way similiar to delicious, but it might be better (more flexible and truer to the idea of "the web as a platform") to use delicious as the tag organization source.
    You might want to take a look at
    Then each went to his own home -> Tags: Database schemas to see how to implement tagging locally at yubnub.
    I'll look at how delicious could be used, you might not need to re-invent the wheel.
    In any case the number of commands is blowing up (a good thing) but as the number gets larger it will become more difficult to find that command you haven't used for a while but need now, or discover new commands easily.

    By Anonymous shanabak, at 6/09/2005 3:05 PM  

  • great, it lloks like your web.app. is the target of spammer.
    you can delete basically 95% of all the new commands starting from "seth" and above.
    what a pitty.
    maybe you should create a karma system for votting or something, with a deletion threshold or something like that.
    also. beaar in mind your app. is not a shortcut for long urls.
    like
    gmail.com, or spam links.

    By Anonymous xtracyx, at 6/09/2005 5:02 PM  

  • oh.. i see you have the spam feature.
    anyways.. who is gonna take care of that.
    if it becomes too popular as i'm sure it will be... it won't work.
    peer review to the rescue!

    here are a couple of more ideas.
    * reserve 1, 2 and 3 letter long command names to the very popular ones.

    * if you are thinking about not deleting any input, ask for an email address saying if we find your cmd as spam, we will add an underscore to it.

    * karma system for spam

    * you can already determine the most popular commands, so you can give them 1-3 letters and place a page for them (based on popularity, i'm sure google will get the "g", yahoo the "y", and wikipedia the "w", maybe php.net the "php" etc.). I think the success of your social service will be based on how easy it is to use it, and if the easier names are taken by not the most popular sites, who's gonna use it?

    * search feature. basically, given a domain, list all the cmds that link to it.
    i think that's it for now.

    btw, great web.app.!!!
    i take my hat off~

    By Anonymous xtracyx, at 6/09/2005 5:21 PM  

  • By Anonymous shanabak, at 6/09/2005 5:26 PM  

  • I definitely need some sleep. I fixed previous ugly post.
    Jonathan:
    yubnub is facing the problem of netbios name clashing (solved by DNS.)
    tinyurl solved it by using numbers: not useful in yubnub's case.
    what to do?
    * use namespaces
    * accounts and each define his own, and use his own
    * the account becomes the namespace: shanabak.smt [search string]
    * within the account settings the user chooses which accounts show up in his/her own namespace.

    Creating accounts will add many possibilities, and also complexity.

    Am I making any sense? I need to sleep.

    By Anonymous shanabak, at 6/09/2005 5:30 PM  

  • Hi shanabak - Very interesting idea about namespaces, and how people can choose which namespaces to include. Hmm ... !

    By Blogger Jonathan, at 6/10/2005 1:04 AM  

  • Hi xtracyx - thanks for the ideas. Yes, We Need Search! In Unix they have a command called "apropos" that they use to search descriptions. Maybe YubNub will have something similar (so, for example, you could do "apropos movie").

    By Blogger Jonathan, at 6/10/2005 1:07 AM  

  • Egads, we are in spam city!

    By Blogger Jonathan, at 6/10/2005 1:09 AM  

  • Spam for kevincaoshow.com
    has taken over FireFox, osx, and god knows what else. I think multiple entries for the same url should need approval. Or b/c of the sucess of YubNub you need an outamated system for users to call out spam.

    By Anonymous Anonymous, at 6/10/2005 6:09 AM  

  • Great app!

    However, if something to stop or slow down spammers isn't put into place soon, it will be crushed by the parasites. Captchas? A limit on posting speed?

    I personally marked several dozen entries as spam just this morning. Sheesh.

    By Anonymous Bruce, at 6/10/2005 11:37 AM  

  • I visited this morning, after an elated visit yesterday, and I was horrified of all of the spam and self-serving links.

    Hooray to everyone who rescued YubNub from the dregs of the web!

    It's wonderful to see this elegant web tool replete with useful links, as it was intended.

    the implications for its extensibility are awesome!
    congratulations

    By Anonymous Anonymous, at 6/10/2005 1:17 PM  

  • I just saw that the command list has been cleaned up with the use of the spam marker feature, nice!
    Why not prevent the creation of any command without the command parameter, %s?

    By Anonymous shanabak, at 6/10/2005 2:05 PM  

  • I had the same idea that Shanabak had, but three hours later...and before I realized that I'm supposed to post them here instead of e-mailing them to Jon.

    Oops. >_<

    Here's another suggestion: how about a method for the site's admins (I'm guessing just you at the present time) to certify a command as a good one and to remove the "Mark as spam" option for that given command? After all, we don't want useful search commands to be disabled...do we?

    Also, deleting the spam from the list once it's been certified as useless would be a very smart thing to do if you're not already. But considering that you came up with the idea and I didn't, I'll just assume that you have. :¬)

    -Paul Webb

    By Anonymous Anonymous, at 6/10/2005 2:25 PM  

  • sounds like slickRun by bayden systems. its a cool free app that does what is described in the "what is yubnub" section. just google slickrun. its the first result. cant live without slickrun. keep the apps commin. good work. nice blog.

    By Anonymous Anonymous, at 6/10/2005 5:16 PM  

  • I've been using yubnub exclusively now, and I think it's great!
    Question:
    Is there a way to create a command for a POST type request?

    By Anonymous shanabak, at 6/10/2005 5:30 PM  

  • I recently discovered your web app on G4TV, and I have to say i'm realy impressed with what you created.

    Keep up the good work!

    By Anonymous Anonymous, at 6/10/2005 7:22 PM  

  • Anonymous - I've removed the kevincaoshow.com entries.

    Bruce - I'm grateful to you for taking the time to mark dozens of commands as spam. Yes, captchas is a good idea - I will add it to the list of possible future enhancements.

    Anonymous - Yes I'm touched when I consider the people who are helping by marking spam as such.

    shanabak, Paul - Good idea about marking non-%s urls as spam. Someone has been very busy doing just that - I was delighted to see almost all of the non-%s urls marked. I'm very impressed with the people who are doing that.

    Paul - Very good idea about allowing admins to remove the "Mark As Spam" link for commands that we know are good. I will add this to the enhancements list.

    Anonymous - I took a look at the slickRun desktop app, and yes it is quite similar to YubNub. How about combining the two! i.e. create a slickRun command for YubNub!

    shanabak - To create a YubNub command for a POST request is kind of tricky. What I did for the tts (text-to-speech) command was return a page with a submit form that submits itself. See http://yubnub.org/kernel/man?args=tts . I suppose I could make this functionality available to people - I will add it to the todo list.

    Anonymous - Thanks! I'm quite proud of this little app!

    By Blogger Jonathan, at 6/11/2005 9:11 AM  

  • i'm glad to hear that you appreciate what i did-- it makes me feel like less of a spammer.
    I had the same idea as shanabak, and used that as the criteria for marking close to 3000 commands as spam.
    last night i decided to make it a cron job that runs every 10 minutes.
    if you reply to this snd tell me to stop i'll shut it off.
    i think the listing is looking a little better, though.
    be good.

    By Anonymous rando, at 6/11/2005 11:10 AM  

  • rando - I'm grateful for your taking the initiative to create an automatic process to detect and mark spam. I was quite impressed when I saw the results actually!

    By Blogger Jonathan, at 6/11/2005 11:20 AM  

  • Suggestion: Have rando give his magical spam removal tool to jonathan.

    That makes complete sense, does it not? :¬)

    -Paul Webb

    By Anonymous Anonymous, at 6/11/2005 1:22 PM  

  • Hi Paul - Good idea. You know though, I actually kind of like the distributed idea of rando running his spam cleaner on a different server. It takes a village to build a command line!

    By Blogger Jonathan, at 6/11/2005 5:44 PM  

  • please add "you can get the code here" to the installing section on the site.. Iìm planning to use this in our company lan :)

    By Anonymous Anonymous, at 6/12/2005 4:25 AM  

  • Ian - Done!

    By Blogger Jonathan, at 6/12/2005 9:41 AM  

  • I just came up with yet another suggestion...

    It would be great if we could preview the tags and test them before they go live.

    Any chance of coming up with a way for others to contribute to the project? As nice as the suggestions are, it would be even better if we could write the code ourselves to speed up the process.

    -Paul Webb (who should really register for an account)

    By Anonymous Anonymous, at 6/12/2005 12:21 PM  

  • Jonathan - First of all thanks for putting my name, and the names of the other people who posted ideas, in the "upcoming features" page of yubnub.
    I've never programmed in ruby before, but with a little research I found that adding the POST feature to yubnub shouldn't be too difficult. the NET::HTTP class has a post method: response = http.post('/cgi-bin/search.rb', 'query=foo')
    Great job and good luck!

    By Anonymous shanabak, at 6/12/2005 1:10 PM  

  • I've been experimenting with tagging yubnub commands via del.icio.us.
    Since it's main "consumer" will be a parser of some sort, I've been trying to come up with a format that maximizes the information for it.
    In the first one I used the imdb yubnub command:
    In the description field of del.ico.us: "yubnub command: imdb" (No quotation marks of course.)
    The command name is preceded with "yubnub command:".
    Then in the extended field:
    "Searches for anything on the International Movie Database: imdb [search term]" which is the actual command description as shown in the yubnub man page of the command.
    In the second one I used the rotten yubnub command:
    In the description field of del.ico.us::"yubnub command: rotten | Search the Rotten Tomatoes movie review site (www.rottentomatoes.com). Search restricted to movies only." (Also, without quotation marks.)
    The command name is preceded with "yubnub command:" and then after it a pipe and the description of the command as shown in the yubnub man page. Then in the extended field:
    http://www.rottentomatoes.com/search/search.php?search=%s&searchby=movies&x=12&y=7
    which is the actual command as shown in the yubnub man page of the command.

    In both cases I used the following tags:
    1. yubnub
    2. sitename: In the case of the above examples -> imdb & rottentomatoes respectively. This will allow for looking up all tags related to a specific site.
    3. Any other descriptive tags: such as search, movies (related to above examples)

    I'm not sure how the parser will work exactly, but the goal is to maximize information for it. Of course the only issue is that the people posting will need to stick to a certain format for the sake of the parser. So maybe less info with a friendlier and easily remembered format will be better than a more informationally dense yet cryptic one. To strike a balance, though, between using the command via del.ico.us (i.e. readability to a person viewing from the del.icio.us page) and maxing info for the parser, the first format seems a bit better. You might even want to experiment with getting the command name from del.icio.us and then matching it up with the entry in the command name database to get the actual command string?

    I think that adding a link in each man page that would bring up a pop post to del.icio.us would ease and speed up the process of tagging.

    Any thoughts?

    By Anonymous shanabak, at 6/12/2005 2:12 PM  

  • Jonathan - How about a link that takes you back to the command listing (ls) on each man page?

    By Anonymous shanabak, at 6/12/2005 2:17 PM  

  • wow... this just gets better and better. I'd like to see this hook into many of the searchtools at Mycroft: http://mycroft.mozdev.org - It looks like it's heading in that direction. YubNub (I dubbed it Yub) integrates web services, heh!
    ps. I added the gsuggest tool and didn't know how to add the %s part...

    By Anonymous Anonymous, at 6/12/2005 8:22 PM  

  • Hi Paul - I've put a link to the Subversion repository, so you can browse/download the code, play around with it, and submit patches if you like.

    Hi shanabak - Hm! Thanks for the code snippet about POST. I gave up on it because I read somewhere that the HTTP spec prevents a GET from being converted into a POST. I will check out the function you found.

    Also I skimmed your description of your idea about integration with del.icio.us. I got kind of lost, but then again I'm pretty exhausted right now! But marrying YubNub and del.icio.us is definitely a fantastic idea! Bravo for your current research into the possibilities!

    Also shanabak I have put an "ls" link in the footer as you requested - will this do?

    Anonymous - Believe it or not, Aaron Ransley has actually posted a YubNub search plugin for Firefox! And a couple of other people did too!

    OK the gsuggest (Google Suggest) command is now fixed.

    By Blogger Jonathan, at 6/13/2005 12:17 AM  

  • Yes! great! thanks!

    By Anonymous shanabak, at 6/13/2005 3:33 AM  

  • OK, we've now got search! Just type "ls dictionary" to get a list of commands pertaining to dictionaries. Thanks to John Gilman for that syntax.

    By Blogger Jonathan, at 6/14/2005 12:01 AM  

  • Hi Jonathan,

    Compliments for such a useful webapp! Suggestion: how about predictive typing a la google suggest:

    http://www.google.com/webhp?complete=1&hl=en

    That way, existing commands show up without the user having to search for them explicitly.

    Keep up the good work!

    By Blogger marco, at 6/14/2005 5:03 AM  

  • Props on this; it's fantastic.

    By Anonymous Dan, at 6/14/2005 11:48 AM  

  • I love the idea.

    You might be able to reduce the amount of spam by requiring a %s in the command URL. I know this restricts things somewhat, but the more useful commands will probably have a string substitution in them.

    The other comment is, you've made it easy to remove spam. But I'm concerned that someone could easily remove all commands by submitting the mark as spam URL in a small loop!

    By Anonymous Bernard Farrell, at 6/14/2005 11:55 AM  

  • rando - would you be willing to modify your spam detector so that urls with ${...} are not marked as spam? I'm planning to implement multiple parameters using this syntax. Email me if you need more info.

    By Blogger Jonathan, at 6/14/2005 12:43 PM  

  • Hi marco - Yeah, actually Michael Pacchioli is thinking about making a YubNub Suggest page (when he gets a free moment). It would be cool!

    Dan - Sounds like you're delighted with YubNub. Right on!

    Hi Bernard - Yeah, I'm a little worried about it too. If something bad like that happens, I'll go into the database and unmark the commands.

    By Blogger Jonathan, at 6/14/2005 12:46 PM  

  • Jon - I'll make sure Rando gets your latest post for him, also, you may hav enot considered this yet, but you could stop automatic scripts from adding AND/OR removing commands by requiring more information. I'd suggest possibly an image verification step. The other possibility might even be asking people who'd like to submit to go through an email address verification process to become a "member" of the YubNub community before submitting commands, you could even allow for ranking of people's commands so spammers can no longer add commands, and we could recognize the community members adding all the useful stuff.

    By Anonymous mightybs, at 6/14/2005 7:13 PM  

  • mightybs - Thanks a lot for taking my message to rando. Captcha codes is a great idea. I'm slowly warming to the idea you mentioned about having people optionally sign in. Not sure if I have the energy to implement it at this point though.

    By Blogger Jonathan, at 6/14/2005 11:44 PM  

  • Love the idea. Mind adding autocomplete to the input field?

    By Blogger Wei, at 6/16/2005 11:09 AM  

  • Wei - Michael Pacchioli is thinking about implementing autocomplete ("YubNub Suggest") when he gets some free time.

    By Blogger Jonathan, at 6/16/2005 12:55 PM  

  • Hi Jon:
    hey, I just used the 'antipagination' feature of an extension for Firefox
    on the Golden Egg! and it worked!(I'm using Deer Park)
    url here:
    https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&category=Newest&numpg=10&id=853

    but... I'm spoiled, how about a sorted , alpha listing of all GEs on one page.

    thanks so much
    a grateful user
    (dontcha just luv FireFox, I can't believe how good it's becoming)

    By Anonymous Anonymous, at 6/16/2005 3:23 PM  

  • I just added a new command.

    sometaithurts

    which maps to
    http://www.yubnub.org/parser/parse?command=sometaithurts

    You may want to remove it, and add code to prevent self-reference in yubland

    By Anonymous Tom Joad, at 6/16/2005 4:49 PM  

  • Hi Anonymous - Hmm! Everything on one page, hey? Let's wait and see if others also want it.

    Tom - I was scared when I read about that infinite-loop command you just made. Fortunately it looks like it doesn't take the server down -- evidently HTTP imposes a redirection limit (that's what my browser is telling me anyway). I'm so relieved!

    By Blogger Jonathan, at 6/17/2005 12:03 AM  

  • Anonymous - Meanwhile, although the list isn't sorted alphabetically, you can search it if you are looking for something in particular e.g. "ls dictionary" will give you a list of commmands pertaining to dictionaries.

    By Blogger Jonathan, at 6/17/2005 12:23 AM  

  • Pipes and Filters. You need 'em if YupNub aspires to the role of web command line.

    Filters: I want a "grep". If I'm searching for a support forum for a spaecif brand of laptops, I'd like to write

    grep -v kelkoo

    Similarly, if looking for printer support info, I'd like to filter the million and one "ink" references. Google supplies the - operator but that's never very reliable. I'd also like to be able to filter by ip address to get those sites that pick up on google keywords and dynamically create unrelated ad sites.

    Set Operations. Some relational algebra operations would be fantastic. Imagine running three queries from three different engines, merging the result into one list, anf then removing those sites that appear in a third query. Basic set theory. You wouldn't need to do consider projections (I would say) since your tuples are likely just going to be {address,description}.

    Using the results of one query to parameterise another: is there a site that will do soundex expansions, for instance? If you weren't sure of the spelling, of something, you could use that to search sound-alikes

    You're going to need some concept of type if you go down this route, since people will need to be able to treat wav files ifferently from web urls, from screen scraper results

    How about a facility to auto run the result through babel fish? Better, what tools would the user need to be able to do that? How could you create user defined filters for anyone to use...

    I'll stop before I get too carried away

    By Anonymous Nick Fortune, at 6/17/2005 1:50 AM  

  • This reminds me of the excellent Dave's Quick Search Taskbar Toolbar Deskbar but that only works on Windows or Sogudi (which only works on Safari), while yours can work on any OS and is more easily extensible. Congrats on a great idea! Take a look at Dave's tool to see how yours might evolve...

    By Anonymous David Brake, at 6/17/2005 4:01 AM  

  • fabulous idea. I just posted about it on my blog. I hope it will bring some more users to YubNub. I already added a search command for my blog, and recommended it for my users. good job!

    By Anonymous koby, at 6/17/2005 2:34 PM  

  • idea for yubnub: namespaces.
    avoids command-name-collisions, allows groups to form spontaneously.
    hardcode a couple: testing, reserved
    using [ xxx ]
    search [ yyy ]

    By Anonymous Anonymous, at 6/17/2005 2:53 PM  

  • Great site Jonathan. It would be nice to have a search for all the available commands. The search would go through the titles as well as the description. Also, I noticed that not all people are adding decent descriptions. Time to pass it on to my friends.

    By Blogger Act II, at 6/17/2005 3:15 PM  

  • Seen via DannyAyers and searchblog; first thing it reminded me of was surfraw, which does this from a shell command line. surfraw.sourceforge.net. You might find it interesting, perhaps even be able to mine it for mapping urls...

    By Anonymous Mark Eichin, at 6/18/2005 1:00 AM  

  • Nick - Yeah pipes would be good. Still thinking about a simple way to implement them. Next on the list though is something easier yet useful: multiple parameters. So you could do: craigslist -city san francisco -item tennis shoes.

    I like your ideas Nick. Will need to revisite them once I impement pipes.

    David - Thanks for the pointer to Dave's Quick Search Taskbar. That's the second mention I've come across. I will add checking it out to my action list.

    koby - Thanks for mentioning this on your blog! Looks like it's written in Hebrew? Cool!

    Anonymous - Interesting idea about namespaces. Hmm!!!

    Hi Act II - Actually there is now a search command! For example, to search for "music", type in "ls music". It searches titles, descriptions, and urls.

    Mark - Thanks for the pointer to surfraw. I will definitely need to check out what commands they have. I like the currency converter.

    By Blogger Jonathan, at 6/18/2005 1:18 AM  

  • Jon - this is so cool! One suggestion - I don't know if this is workable, or if this is already possible by means beyond my comprehension, but here goes:

    Make it possible to have other variants of %s, such as (say) %self, which would take the URL of the page you're currently on as the %s. This would help for things like looking up the current page in the Google cache, getting a tinyurl for the page, looking it up in the Internet archive, etc., without having to copy and paste the URL.

    Currently, I've other ways (bookmarklets, menus) set up so I can do these things easily, but I was just thinking how you could get these to work within the context of Yubnub.

    Keep up the good work!

    By Blogger C. Callosum, at 6/19/2005 9:07 AM  

  • Hi C. Callosum - Hm! Sounds like you are looking for the best way to use those url-based commands (like "shrink"). Not sure either how to implement a %self keyword. If you've got YubNub installed in your Firefox search bar, I guess you could just copy the url from the addressbar to the search bar.

    Ideally you would be able to stick one of these commands before the current url in the address bar, but unfortunately FireFox sees the dots and gives you an error message about it being a bad url. I wish FireFox would, if it sees spaces, go directly to keyword.URL instead of giving an error message.

    By Blogger Jonathan, at 6/19/2005 9:36 AM  

  • Cool stuff!

    By Anonymous Anonymous, at 6/19/2005 11:54 PM  

  • Anon - Thanks!

    By Blogger Jonathan, at 6/19/2005 11:56 PM  

  • Wicked cool, as everyone else is saying.
    It should be noted that the Google Deskbar can be modified to use this as well, by adding it as a customized search with a shortcut (I used ctrl-y).

    By Anonymous Michael Brindamour, at 6/20/2005 8:50 AM  

  • This is great, and I'll put in another vote for dealing with the absence of %s in a smart way.

    I'd like to see this as pretty much an IF statement - if there is a %s do this, otherwise do this.

    I was trying to add a link command "photoblog" where you could just enter that and it would take you to Photoblogs.org (before someone 'steals' it and has it point to their own photoblog), OR enter "photoblog seemsartless" (or whatever name you provide), and it would take you to the search results at photoblog.org.

    By Anonymous Anonymous, at 6/20/2005 10:14 AM  

  • This is great work! I love the idea and it seems to be taking off. One suggestion for further improvements that I would LOVE is some connectivity that would let you search YubNub by SMS on a cell phone. Google SMS has something kinda small-scale in beta, but it's only local whitepages/weather/movie showtime type stuff. I think there's a lot you could do with this.

    By Anonymous Max, at 6/20/2005 11:40 AM  

  • Awesome, Jon!

    For OSX users, you can create an even faster "web command line" using Quicksilver. Just create a bookmark in any of your indexed bookmark sets (Safari, Firefox, etc; I used del.icio.us so it's accessible across multiple machines) with this URL:

    http://www.yubnub.org/parser/parse?command=***

    Now I just need to Enter my YubNub shortcut into QS (I'm using "ys" for "YubNub Search"), type my command-line operation, and my Web browser pops up with the operation performed.

    By Blogger Brad, at 6/20/2005 12:02 PM  

  • Nice, yubnub is really cool; congrats.

    By Anonymous Ben, at 6/20/2005 12:46 PM  

  • No Business Model?

    Add an Amazon Associates account to Amazon searches and the payments might generate enough cash flow to pay for the website. My InklingBooks.com almost pays for itself that way.

    Mac Dashboard Widget

    Someone with the right skills might want to create one or more Mac Dashboard widgets for YubNub.

    --Mike Perry, Seattle

    By Blogger InklingBooks, at 6/20/2005 1:00 PM  

  • No Business Model?

    Add an Amazon Associates account to Amazon searches and the payments might generate enough cash flow to pay for the website. My InklingBooks.com almost pays for itself that way.

    Mac Dashboard Widget

    Someone with the right skills might want to create one or more Mac Dashboard widgets for YubNub.

    --Mike Perry, Seattle

    By Blogger InklingBooks, at 6/20/2005 1:00 PM  

  • Cool idea, however...
    allowing anonymous users the ability to create new commands with no central approval or editing authority seems risky (there are lots of idiots in the world and unfortunately most of them have web access). I took a look at some of the new commands and for example someone created the command "pepsi" which connects to the coke website. I'm sure they thought it was funny but it is not a useless command that uses up a keyword that someone in the future might have a useful command for. And what's to stop someone from creating a command that is a slight mis-spelling of a popular command (say "disny" instead of "disney") that sends you to a hard-core porn site? Too much potential for misuse.

    By Anonymous Comboman, at 6/20/2005 1:07 PM  

  • Great idea, but will for instance Google allow this, you take direct traffic from them away...

    By Anonymous Anonymous, at 6/20/2005 1:39 PM  

  • i've got a neat feature idea: allow http://yubnub.org/<command> call the command. php.net does something similar (i think they call it SMARTY or something to that effect).

    good work.

    By Anonymous trompe, at 6/20/2005 2:38 PM  

  • Hi Jonathan,
    Thanks for the nice and coolest app. I see already people coming up with lot of ideas. The following is just my idea, i don't know how difficult it is or what is the need for it. Now what about making a voice command, like you have a tts. it's different you give a voice command to yubnub. 'email jon how are you' which will send email. i know this a clients o/s can do. But yubnub's interface with net is easy and fast. This might help people who are physically challanged.
    All the best, I forsee people at Google knocking your door, if they have not done it already!

    regards
    sashi, India

    By Anonymous Anonymous, at 6/20/2005 2:50 PM  

  • trompe:

    You can already call a command via a URL (with "***" replaced by the command):

    http://www.yubnub.org/parser/parse?command=***

    As you can see above, I used this as a bookmark in del.icio.us to create a web search query for Quicksilver. Adding a QS trigger to the action makes it work even faster and easier than the already-created OSX frontend.

    By Blogger Brad, at 6/20/2005 3:46 PM  

  • Nobody mentioned this: it's slashdotted - http://slashdot.org/articles/05/06/20/1723242.shtml?tid=95&tid=1

    I really think this should be re-thinked. :) First of all, yubnub is a cool name but hard to remember and type. Making a more suggestive name would be appreciated. Next we have command making. Nothing stops me from making a command like "ping" and glue-it to a porn site or worse. So, "yubnub" should be free and easy to use (like google) but it needs user management. For someone to post a command it should first register, then submit the command and after that it should be approved, whether or not to function. You could gather up a team of trusted people for the approval process. For the command to be approved, it should have a "descriptive" description and optionally an example on how to use-it. With user management, the creator of the command will appear in "man command", along with a link that points to a list of all the commands submitted by that user.

    By Blogger XmasBug, at 6/20/2005 4:09 PM  

  • ...and please make http://www.jroller.com/resources/s/stueccles/yubnub.png the favicon for http://yubnub.org/

    By Anonymous Anonymous, at 6/20/2005 7:04 PM  

  • # yubnub for bash (w3m recommended)
    yubnub ()
    {
    local u;
    u="http://www.yubnub.org/parser/parse?command=$(echo -n :"$*" | sed '1 s/://' | od -tx1 | sed -e 's/^[0-7]*//' | tr -d '\n' | tr ' ' '%')";
    local b;
    b="${BROWSER:-"w3m:lynx"}";
    local oIFS;
    oIFS="$IFS";
    IFS=:;
    set $b '"$b"';
    IFS="$oIFS";
    local br;
    for br in "$@";
    do
    br="${br//\%c/:}";
    if [ :"${br/\%s/}" = :"${br}" ]; then
    br="${br} \"%s\"";
    fi;
    br="$(printf "$br" "$u")";
    eval "$br" && break;
    done
    }

    By Anonymous bsittler, at 6/20/2005 8:23 PM  

  • Michael Brindamour - That's a wonderful tip about Google Deskbar. Thankyou! I will add it to the "Installing YubNub" page and will credit you.

    Anonymous - I've created that "photoblog" command for ya.

    Max - Interesting idea about SMS, especially as we are in the mobile age. Is there a service we can piggyback on?

    Herr Theoretiker - Great Quicksilver instructions! I will post them to the "Installing YubNub" page and will acknowledge you.

    Ben - Thanks! Hope it continues to be useful to you!

    Mike - Great idea about making a cool Dashboard widget for YubNub. Somebody do it!

    Comboman - Yes there are definitely some risks with using YubNub. For now I'm just managing it by hand - someone emails me reporting abuse and I go and remove the command.

    Hi Trompe - Yeah, actually you can call YubNub via url. Try this: http://yubnub.org/parser/parse?command=gim+porsche+911

    Hi Sashi - That's a really neat idea about voice input for YubNub commands. Why not, hey? And you know, this might already be possible if you have Dragon Naturally Speaking. You could just say "am mark twain" to do an Amazon search for Mark Twain. Could accessibility be the YubNub killer app?

    XmasBug - Good ideas. About making an easier-to-remember name, perhaps some kind would be willing to register a domain name and forward to YubNub?

    Your point about safety is definitely on my mind these days. Maybe I will implement some sort of SafeSearch that only uses YubNub Golden Eggs (the very best commands). Hmm...

    Anonymous - Alright, I've put that favicon you recommended. Hopefully it will be up on the server soon (Subversion is having issues right now).

    bsittler - Wow, thanks for the bash script! I will add that to the Installing YubNub page and will credit you.

    By Blogger Jonathan, at 6/20/2005 8:36 PM  

  • thanks! to use the bash function as a script, save it to a file in /usr/local/bin or wherever, preceded with

    #!/bin/bash --

    and fullowed by

    yubnub "$@"
    exit $?

    and then make sure it has execute permissions:

    chmod o+rx /usr/local/bin/yubnub

    By Anonymous bsittler, at 6/20/2005 9:15 PM  

  • Hmm very interesting.
    I just found your site, I've doing something similar to yubnub on my box, but for private use only.

    I like how your interface is much much nicer than mine.

    Looks like i'm going to switch to yours, it sure beats making the commands myself!!

    By Anonymous Anonymous, at 6/21/2005 6:07 AM  

  • Cool stuff. I just added a couple of commands. Two feature requests:

    1) Command line options would be handy (eg "google -type image"). Forms often take a type parameter, and you don't want to write a separate command for each. It's the same URL, just with a different parameter value for the option.

    2) A limited ability to edit URLs. I image a kind of sandbox like in wikis, where you can test your command before you publish it for everyone to see.

    --michael

    By Anonymous Anonymous, at 6/21/2005 7:20 AM  

  • i think i read that you wanted spam reported. check out sql and mysql. blatant advertising...

    By Anonymous Anonymous, at 6/21/2005 8:41 AM  

  • Added a few commands. xe (for currency conversion) won't work until multiple parameters are implemented (or have I missed something?)

    Great job!

    By Anonymous Anonymous, at 6/21/2005 12:37 PM  

  • Jonathan,

    I don't know a lot about it, but I've stumbled upon this shareware program, which looks game-able for the purpose of the sms gateway: http://www.freedownloadscenter.com/Email_Tools/Misc__Mail_Tools/SMS_Reception_Center.html

    By Anonymous Max, at 6/21/2005 3:32 PM  

  • Brilliant! YubNub jibes perfectly with my web bookmark app, myList (http://www.coreynitschke.com/list). Currently I use a default Google search in myList--I'll soon be adding a pulldown to select YubNub. I've already added a widget. Rock on.

    By Anonymous donnst, at 6/21/2005 4:39 PM  

  • Hi Anonymous - Glad you like the interface!

    Michael - You've hit upon two things that really need doing: multiple parameters, and the ability to test your command. Must...find...time...!!!

    Anonymous - Thanks for reporting the sql and mysql spam. I have removed all commands with that url.

    Anonymous - Thanks for adding the xe currency conversion command. Man I gotta get to those multiple parameters, and soon!

    Max - Thanks for looking up that SMS Reception Center product. I had a quick peek, just to see what such a product would be like.

    donnst - The MyList program you made looks neat - kind of like a Dashboard widget, but for Firefox. Thanks for adding a YubNub pulldown. Good synergy!

    By Blogger Jonathan, at 6/21/2005 8:45 PM  

  • hey man...really cool stuff this!! my little suggestion is about having a sort of a 'suggest' feature (like on the googlebar for firefox) on the mainpage...which will be really helpful for people to make use of some of the popular commands...how about that?

    By Blogger Javed, at 6/21/2005 11:43 PM  

  • Hi Javed - Sounds like you're pleased with YubNub! The "suggest" feature - do you mean like a dropdown that shows suggested completions, like in Google Suggest?

    By Blogger Jonathan, at 6/21/2005 11:48 PM  

  • absolutely... ;) but it need not be a drop down...even a hovering callout with the suggested commands will be cool.

    By Blogger Javed, at 6/22/2005 7:04 AM  

  • This is a really nice idea ! What would be really is to use the Google-Suggest idea for auto completion of commands. And maybe add a check for required/optionnal parameters to use. If some required params are missing, show the manpages or something alike. Keep up the good work.

    By Anonymous Akeru, at 6/22/2005 12:12 PM  

  • Javed, Akeru - Thanks for the idea about giving YubNub Google-Suggest-like functionality. I'll need to read that article on Ajax on Rails. Or you try implementing it and I will patch it in if it looks OK - I'm just concerned about the extra load on the server (I want YubNub to remain quick).

    By Blogger Jonathan, at 6/22/2005 12:17 PM  

  • ability to sort the "ls" page by most used, recently made, editors pics

    By Anonymous Anonymous, at 6/22/2005 1:17 PM  

  • Yubnub is great!!

    The ability to write scripts using commands would make it real killer. A script to search my e-mails for a mail from my boss and send me SMS on my mobile.

    By Anonymous Anonymous, at 6/22/2005 1:37 PM  

  • I have another recommendation. On the command description page, it would be useful to have the page title not only list the command name, but also "yubnub.org command" or something like that. This would be useful to people trying to bookmark individual commands and need a bookmark that is more descriptive of what is being bookmarked. So, for instance, http://yubnub.org/kernel/man?args=411 would have a page title of "411 YubNub.org command".

    Thanks again!

    By Anonymous Brian, at 6/22/2005 1:45 PM  

  • Hey everybody! We've got multiple parameters now! Enjoy!

    By Blogger Jonathan, at 6/22/2005 10:34 PM  

  • Anonymous - I have altered your xe currency-conversion command to work with the new syntax for multiple parameters. Works great!

    By Blogger Jonathan, at 6/22/2005 10:45 PM  

  • thanks for the xe and the golden egg! Very cool...

    By Anonymous Anonymous, at 6/23/2005 4:39 AM  

  • Hi!

    Good idea, and I made project like this too.. It's russian language. But I make some features that you only planned.
    1. POST method.
    2. work through URL - try "http://shob.ru/gs test".

    OK. Link to me with garalex [at] list.ru ;-)

    By Anonymous Alex, at 6/23/2005 5:16 AM  

  • Hi Jon,

    What an incredible app!
    You've got it! You can be proud. I guess yubnub-styled apps are the futur of the web being. See ya!

    P.S: If you need some help to traduce your frontoffice from english to french, I'm your man!

    By Anonymous Francois Goube, at 6/23/2005 8:16 AM  

  • I sent this to Jon in an email a couple of days ago, but it seems it'll probably get more attention here:

    The URL scheme for gmail has changed, so several YubNub commands are crippled or broken. Is there a way to search-and-replace all instances of "gmail.google.com/gmail" in YubNub URLs to "mail.google.com/mail"? Instances without the "/gmail" portion need to be changed as well; these, of course, will not require "/mail" in the replacement text.

    Also, in addition to my Quicksilver comment yesterday on your blog, I found a way to make it even easier: I've added a QS trigger to the "YubNub Search" bookmark, so it's now just a single keypress and a command-line entry to access YubNub.

    (Also, for Windows, I know that HotChime - http://www.chime.tv/products/hotchime.shtml - will do the same thing as the Quicksilver and SlickRun solutions already mentioned. I haven't implemented it yet since I hardly ever fire up Windows these days, but that's my XP keyboard launcher of choice.)

    By Blogger Brad, at 6/23/2005 9:55 AM  

  • Maybe you would consider a flag system similar to Craigslist to handle spam? Like after x number of flags, the command is automatically taken off and put in a review queue?

    By Anonymous vaughn, at 6/23/2005 1:42 PM  

  • Could post vars be used to implement the following commands?

    cd google
    cd yahoo
    etc...

    then when i type:
    find whatever

    yubnub issues the appropriate command (ie. g whatever)

    Also, using post vars (or cookies) environment variables could be set:

    set am amca
    (this would change an amazon search to an amazon.ca search on my machine)
    Other environment variables could be set this way as well...
    SeanO

    By Anonymous Anonymous, at 6/23/2005 6:29 PM  

  • Anonymous - Thanks for the suggestion about giving ls different kinds of sorts.

    Anonymous - Interesting idea about combining various YubNub commands using a script!

    Brian - Great idea about putting "YubNub.org" in the title, to make
    bookmark titles more descriptive. I will acknowledge your idea.

    Alex - I'm impressed that you got POST working. Congratulations on your
    Russian YubNub-like service. I have
    created a "shob" command so people
    can get to Shob from YubNub.

    Hi Francois! Thanks for the congratulations. Hmm -- That's a great idea about internationalizing YubNub!!!

    herr_theoretiker - Looks like the Gmail commands are still working. I tried, for example gma, gmail and /gmail (I'm using Firefox on Win XP). What do I do to get it to break?

    Also herr_theoretiker I added your comment to the
    Installing YubNub
    page.

    And thanks for mentioning HotChime. Hadn't heard of that one before.

    vaughn - Thanks for the idea about having a spam flag so that if a certain number of people flag a command it would go into a review queue. Looks like YubNub is getting to be a more-than-one-person job!

    Anonymous - I'm very intrigued with your idea of "website as directory" i.e. using cd to change directories, then issuing a "find". Very command-linish! This is an excellent case for implementing user logins . . .

    That is a really profound idea actually . . .

    By Blogger Jonathan, at 6/23/2005 6:34 PM  

  • Hello, Jonathan. This has got to be the next killer app for the web!!
    I was just going to comment on all of the spammy commands out there, and it seems that maybe a halt should be placed commands that contain yubnub.org. Too much abuse, it looks like.
    I'm the anonymous who sent you an email about fixing my desc for the secym command, and I'm very much a yubnub evangelist!!

    Thanks again!

    By Anonymous Anonymous, at 6/23/2005 9:22 PM  

  • Anonymous (secym) - Sounds like you are excited about YubNub. Thanks for the suggestion about maybe blocking urls containing yubnub.org.

    By Blogger Jonathan, at 6/23/2005 9:40 PM  

  • Jon!
    Some mistake with adding "shob" command... use "http://shob.ru/%s" format instead "shob.ru/?%s"...

    By Anonymous Alex, at 6/24/2005 4:25 AM  

  • i found a short php script to temporarily help convert GET vars to POST vars which i've put on my webserver (www.eigology.com/yubnub/get2post.php).

    i created a command using it (qpostal) which fetches a canadian postal code for a given address.

    it's not beautiful code by any means, but gets the job done.

    SeanO
    sunseano@yahoo.com

    By Anonymous Anonymous, at 6/24/2005 4:49 AM  

  • I just found out about YubNub. I felt a shiver. This is going to change the way we think about the web. Awesome.

    By Anonymous J Drakes, at 6/24/2005 9:19 AM  

  • Ever thought of starting a forum or bulletin board for yubnub instead of cramming everything into this one blog post?

    By Anonymous Anonymous, at 6/24/2005 11:57 AM  

  • Alex - Alright, shob is fixed!

    SeanO - Wow! I am so impressed with the GET-to-POST script! This is what I mean about anyone being able to extend YubNub, thanks to the power of the web! I will add your solution to the Advanced Syntax page, when I get home!!!

    J Drakes - Sounds like you are awed with the idea of URL-as-command-line. It is a profound idea that many find inspiration in. Jon Udell writes about it occasionally.

    Anonymous - Hm! Yeah, a bulletin board might be a good idea... Maybe Google Groups? Update: Alright, we now have our own Google Group! Yippee!

    By Blogger Jonathan, at 6/24/2005 1:23 PM  

  • Hi. Found your blog through Sarah Lane's site. Damn! What an awesome idea! I look forward to trying this out...

    By Blogger Amandarama, at 6/25/2005 6:19 AM  

  • Hi Amandarama - Sounds like you are excited about the idea! Hope you find it useful.

    By Blogger Jonathan, at 6/25/2005 9:29 AM  

  • Hi Jonathan ... excellent site! I've been having some problems in Firefox with commands that include periods ("login gamespot.com," e.g.) give me "this url is invalid..." type messages. Has anyone else seen this? Is there any way I can work around it?

    By Anonymous Mark, at 6/26/2005 10:34 AM  

  • Hi Mark - Yeah, Firefox doesn't like periods in the address bar for non-URLs. I've asked them if they would be willing to fix this. Meanwhile, you can add YubNub to your Firefox search bar using this search plugin than Aaron Ransley wrote.

    By Blogger Jonathan, at 6/26/2005 10:54 AM  

  • Hi Jonathan -- Thanks! That's just what I needed....

    By Anonymous Mark, at 6/26/2005 1:51 PM  

  • Jonathan,

    What a cool tool, the only thing I've seen close to this idea is www.activewords.com.

    Now is it possible to log in your own account so you can make your own personal commands?

    By Anonymous johnt, at 6/27/2005 7:17 PM  

  • Hi John - YubNub doesn't have user logins. There is an up-and-coming tool called ambedo
    that is like YubNub but has user logins. You might want to give them a try.

    By Blogger Jonathan, at 6/27/2005 8:05 PM  

  • very cool, and very well executed. been using it for a few weeks. kind of a late comer, every command i wanted to add has been added ... or i'm just slow on the draw.

    i saw the bash version, but i actually wrote my own stripped down version of yubnub on the command line. dubbed 'ducky' (yubnub, rub a dub dub, rubber ducky ...) it's written in python and uses various web service APIs and XML output to gather data, and command links to the ducky command to know what engine you want to search.

    http://monkey.org/~jose/software/ducky/

    By Blogger jose nazario, at 7/09/2005 5:08 PM  

  • Hi Jose - Congratulations on your YubNub-like Python app, "Ducky"!

    By Blogger Jonathan, at 7/09/2005 6:51 PM  

  • I wonder if it would be useful to make it easier to execute commands shown using "ls". You could add a text box containing the command name to each listed command, and a Go button next to it. You could put a complete example into the text box.

    By Anonymous pgan, at 7/17/2005 5:07 PM  

  • Very cool. I built something similar as a browser proxy (http://e-scribe.com/software/lazysearch/) but this is far sweeter. Let's all sing along now: Dun-da-dun-da-daaaaa, Yubnub!

    By Blogger pbx, at 7/20/2005 10:09 AM  

  • Hi pgan - interesting idea about enhancing ls ...

    pbx - I took a look at Lazysearch - definitely a similar idea.

    "Dun-da-dun-da-daaaaa" -- is that "Ride of the Valkyries"?

    By Blogger Jonathan, at 7/20/2005 8:03 PM  

  • Dear Jon

    Hi, Jon!! This is Ricky from Korea.
    You still remember me?? I hope so.
    It's been a long time since I came back. I got your website address from Mom and heard the happy news for your new job. Congratulations!!

    Have a nice day and say hello to Mom!! I'm happy to have this site to contact you. See you soon ^^

    By Anonymous Ricky, at 10/09/2005 4:12 PM  

  • Hi Ricky - Wow, it's been a few years! Are you back in Canada? If you want, send me an e-mail at jonathan.aquino@gmail.com

    By Blogger Jonathan, at 10/09/2005 4:45 PM  

  • I was the first person to add your Rails app to del.icio.us, as I saw it in #rubyonrails, and after using it for quite awhile, I have to say it is one of the most useful of any webapp I've tried. As simple as the idea is, it is fantastic and executed perfectly.

    Btw, still working on Socius (from railsday) -- ben and I are planning on launching the beta by the end of the year.

    By Blogger Stephen, at 11/30/2005 7:48 AM  

  • Hi Stephen - Great to hear from you! And good luck with the Socius beta!!

    By Blogger Jonathan, at 11/30/2005 10:24 PM  

  • Jonathan,

    I loved the application. Did you think about making it into a business?
    I'm an entrepreneur and I have several ideas that might work.
    Let me know if you are interested to talk.
    Thanks,
    Eze

    By Blogger Eze, at 12/07/2005 7:44 AM  

  • Hi Eze - I'm not sure how I could turn YubNub into a business. It's more of a gift to the people who use the internet.

    By Blogger Jonathan, at 12/07/2005 7:48 PM  

  • it's boring creating commands, however it's useful to use them. it may take quite some time to create all my commands, but i guess it is worth it. if you cancel this project, i kill you dude:))

    By Anonymous mehmet, at 1/03/2006 6:12 AM  

  • Hi mehmet - In that case, I will not cancel this project :-)

    By Blogger Jonathan, at 1/03/2006 11:20 PM  

  • I can't believe that I didnt discover this incredible tool until now. Thanks so much for creating this.

    By Anonymous Colin, at 4/19/2006 10:50 AM  

  • Colin - my pleasure! Glad it's useful to ya.

    By Blogger Jonathan, at 4/19/2006 6:42 PM  

  • I happened to see YubNub today. Its really cool. Great show Jonathan!

    By Blogger Vadivel, at 5/22/2006 3:16 AM  

  • Vadivel - Glad you like it!! And looks like you are having fun with blogging.

    By Blogger Jonathan, at 5/25/2006 12:34 AM  

  • YubNub - any website named in Ewok language automatically is funnier than one in English.

    Furthermore, a commandline internet is way cool. Great idea dude.

    D

    By Anonymous Anonymous, at 7/02/2006 8:44 AM  

  • Thanks D! Props to those who came up with the idea of URL as command line--I picked it up from the writings of Jon Udell.

    By Blogger Jonathan, at 7/02/2006 3:40 PM  

  • Jonathan. Great job. In 1997, I patented Netword, which were Internet keywords. It went bust with the bubble, but we always wanted to wind up right where you are. We were a bit early to the party though. You have reduced the core idea to its essense. Wonderful tool. Great job -- Matt

    By Anonymous Anonymous, at 7/12/2006 5:45 PM  

  • Hi Matt-great to hear from you--like the name! And glad you like yubs.

    By Blogger Jonathan, at 7/13/2006 12:13 AM  

  • If you think YubNub is cool, you should try downloading PC-Com. It's a toolbar that can be activated by pressing a system-wide hotkey, and you can type keywords to open programs on your computer, as well as web sites. Check it out at www.boletrice.com/pccom.

    By Anonymous Anonymous, at 8/03/2006 3:03 PM  

  • Hi Anon - Might be useful to make a YubNub shortcut for PC-Com. I use SlickRun, which sounds similar.

    By Blogger Jonathan, at 11/29/2006 9:26 PM  

  • Although my standard search (my name) came up on a Google page in what seemed like a shorter span than they can do it themselves, the truth of the matter is, for the same reason I don't use hotkeys and all that stuff, I don't have a memory that good.

    And then each site wants to throw their own shortcuts for this, that, and the other, I just don't even bother.

    If your UI gave selections, that'd be one thing, but then of course, it would not be the same for the searchbox.

    Anyway, best of luck, maybe I'm just hitting that mid-life crisis! lol

    By Anonymous Anonymous, at 2/02/2007 6:57 PM  

  • Anon - thanks anyway for giving it a shot. Different strokes for different folks!

    By Blogger Jonathan, at 2/02/2007 7:50 PM  

  • Excellent work! I use the bash command line and the web browser all day long. This saves so much time and is so much like a shell command line with piping and redirection.....just awesome. i have been telling everybody who will listen (and those who wont) about it.

    By Anonymous Anonymous, at 2/14/2007 2:59 PM  

  • Anon - love your enthusiasm! Thanks a bunch!

    By Blogger Jonathan, at 2/14/2007 7:22 PM  

  • thrilled to see this, it rocks !!

    I think i read amongst these posts, the need for personalization. I would vote for that.

    What i am talking about is 'single sign on' kind of a feature for multiple websites. Not really sure, the technical implications of it.

    For e.g. I go onto yubnub and the enter the user pass for gmail or perhaps i have saved my profile on the gmail interface. If i am logged in gmail and search for gmail, it takes me to gmail.com (the signed in screen), but it would be great to do something like gmail compose message and i get to the compose message screen :))

    By Anonymous punkaj, at 3/06/2007 5:03 AM  

  • hi punkaj - Try the "gc" command - it will open the gmail compose message page for you :-)

    By Blogger Jonathan, at 3/06/2007 10:59 PM  

  • Jon, you rock man !! :))

    By Anonymous Punkaj, at 3/07/2007 2:36 AM  

  • I tried it once, and immediately became a consistent user. What a time saver this is. I hope it can stay fast and reliable - because I'm dependent!

    By Anonymous Anonymous, at 4/05/2007 11:42 AM  

  • Anon - I'm delighted to hear that you find it useful!

    Jon

    By Blogger Jonathan, at 4/06/2007 9:15 AM  

  • Keep up the great work...a very useful tool...I have integrated it with my window manager as a kb shorcut....so i type alt-Y, enter command and presto, my browser (opera) opens up the corresponding doc...

    From the original author of the plugin:
    http://www.htw-dresden.de/~s52567/stuff/yubnub.rb

    By Anonymous Anonymous, at 6/12/2007 10:16 AM  

  • Beauty!

    By Blogger Jonathan, at 6/12/2007 6:07 PM  

  • This is a great site!...but for God's sake unbutton your top button!

    Will from Texas!

    By Blogger William, at 7/20/2007 12:36 PM  

  • Heh - thanks Will. Done.

    By Blogger Jonathan, at 7/20/2007 3:59 PM  

  • Dude - you are the man.
    This is Ruby on Crack.
    Thanks from all of us.

    By Anonymous Anonymous, at 5/13/2008 9:23 AM  

  • Anon - You're most welcome!

    By Blogger Jonathan, at 5/13/2008 7:38 PM  

  • i know you must be sick of the same comments, but WOW, this is amazing (ruby)

    By Anonymous Anonymous, at 6/01/2008 9:36 AM  

  • Hi Anon - Glad you like it!

    By Blogger Jonathan, at 6/01/2008 4:36 PM  

  • Hi Jonathan.
    Congratulations , YubNub Is a real great service.
    I've posted a very complete article describing YubNub. You can find it here:

    http://zangoole.com/1387/04/01/yub-nub/

    Language: Farsi (Persian)

    Thanks.

    By Anonymous Babak, at 6/21/2008 3:46 PM  

  • Thanks for the Farsi review, Babak!

    By Blogger Jonathan, at 6/21/2008 5:41 PM  

  • Thanks, this is a great idea.

    By Anonymous Karunakar, at 9/09/2008 6:43 AM  

  • this is fantastic dude, totally kicks ass with launchy!

    By Blogger Manish, at 2/18/2009 6:30 PM  

  • Thanks Manish! Cool to hear it integrates well with Launchy.

    By Blogger Jonathan, at 2/18/2009 8:19 PM  

  • thanks

    By Anonymous Anonymous, at 8/08/2009 8:24 PM  

  • canyou tell me : what about backticks?

    By Anonymous Baby clothes, at 8/25/2009 5:01 AM  

  • Currently { } functions as ` `. We should perhaps switch to ` ` someday.

    By Blogger Jonathan, at 8/25/2009 10:01 PM  

  • Just want to thank for this nice web tool. Keep up the great work!

    By Anonymous Abhishek, at 9/06/2009 5:26 AM  

  • You’re welcome, Abhishek!

    By Blogger Jonathan, at 9/07/2009 10:50 AM  

Post a Comment

<< Home