Wednesday, May 29, 2013

Yubnub blog moved

The Yubnub blog has moved to

Monday, August 13, 2012

YubNub down

Sorry about YubNub being down, folks. The pendrell server at Joyent is having issues.

Monday, June 06, 2011

Happy 6th birthday, YubNub!

YubNub was born on June 6, 2005. Happy birthday, ol' pal!

Friday, January 07, 2011

YubNub iPhone app

David Jorge has created an iPhone app for YubNub. Nice going, David!


Friday, December 31, 2010

YubNub logo in png and svg formats

Andrew Pennebaker has created vector versions of the YubNub logo (png, svg). Thanks Andrew!

YubNub logo

Friday, July 03, 2009

YubNub down

Starting July 2, YubNub has been going down intermittently. I’m seeing the following errors in the lighttpd.error.log:

2009-07-03 04:57:02: (server.c.1242) [note] sockets disabled, out-of-fds
2009-07-03 04:57:04: (server.c.1207) [note] sockets enabled again
2009-07-03 04:57:04: (mod_fastcgi.c.2748) wait for fd at connection: 239
2009-07-03 04:57:04: (connections.c.1270) accept failed: Too many open files 24
2009-07-03 04:57:04: (server.c.1242) [note] sockets disabled, out-of-fds

I’m in touch with Joyent support and we’re trying to figure it out.

Thursday, May 28, 2009

iPhone/iPod Touch support

Andreas Moor and Ell Dove have contributed a page for using YubNub on the iPhone and iPod Touch.

Saturday, May 23, 2009

Using split to prevent the browser from resizing an image

Someone asked me if YubNub can be used to prevent the browser from resizing a large image to fit the window, such as

It turns out that the split command can do this: split will display the image at its original size. This works in IE7 and Chrome, but not Firefox 3.

Monday, October 08, 2007

Tip for dealing with session IDs in URLs

Brian Armknecht gives this tip for dealing with session IDs in URLs:
The nucat command wasn't working because the URL required a session ID that changes periodically. The new version of the command visits the page, scrapes the new session ID, then includes it in the search URL. I think it's sort of a cool trick.{scrape -tokens pid%3D %22 -dirs 0 0 -url}&CNT=25&HIST=1

Sunday, September 30, 2007

YubNub + AutoComplete

Graham Edgecombe has created a YubNub + AutoComplete site, akin to Google Suggest. It's pretty slick. It's a kind of "social AutoComplete" because the suggestions are based on commands that everyone has entered in the past.

Saturday, September 22, 2007

Server down

Thursday, September 13, 2007

Yubnub is back online

The server is back up.

Yubnub is down

Thursday, August 23, 2007

Back online

YubNub is back online.

Yubnub currently down

YubNub is currently down. For updates, see

Friday, July 20, 2007

YubNub "default" parameter for overriding default command (Google)

If you don't want Google as the default YubNub command, here's how you can override it:

In this example, we set the default to the "y" command (Yahoo).

Saturday, June 30, 2007

Embedding YubNub in webpages using rub://

Intriguing news from Gabriel Kent, creator of the RubNub Firefox extension:

So I released a new version of RubNub with a brand spankin' new site -- most notable is the ability to embed YubNub links into a web page -- which you can see in action (after you install the latest) here:

I am not sure how useful it will be but multi-destination links like
(rub://mash+Utah+gmap+g) have potential as do a few of the other command types. I have not seen embedded YubNub links (other than a URI with args), so this may be a first eh?

I also got around to making a little demo video for it -- which actually turns out to be a pretty good yubnub video as well, so check that out in the video section..

Thursday, June 28, 2007

YubNub back online

YubNub is back. The lighttpd startup script got deleted for some reason. TextDrive restored it from backup.

YubNub service is down

YubNub is down because of an issue with our web host. For some reason I cannot start the lighttpd script (I get "command not found"). I have put in a support ticket with TextDrive.

Saturday, June 16, 2007

Server up

The server is back online.

Server down

Thursday, June 14, 2007

Server up

Pendrell is back online.

Server down

The server ("Pendrell") is currently down. Status updates at

Friday, June 08, 2007

Server up

Server down

The server is currently down. Updates at

Thursday, May 24, 2007

YubNub is back online

The YubNub server is back online.

Yubnub server is down

Wednesday, May 09, 2007

Server back up

We're back online.

Server down

Saturday, April 21, 2007

Server back up

The server is back up.

Friday, April 20, 2007

Server down

Friday, March 09, 2007

Back online

Pendrell being rebooted

Reboot complete

Pendrell is being rebooted

Note from my web host:

"Pendrell is down and is being rebooted"

More info:

Thursday, March 08, 2007

Maintenance complete

YubNub is back online.

Down for maintenance

The server at YubNub's web host lost a drive; the RAID is rebuilding. We'll be up again soon.

More info:

Thursday, April 13, 2006

PageFlakes integration


PageFlakes is one of those up and coming "Ajax Start Pages" that are starting to become popular. Anyway, Christoph Janz informed me that they've created a YubNub component. Love the command history!

Sunday, April 09, 2006

param rocks

Just wanted to mention that Allen Ormond's "param" command is great. It lets you take an existing multiple parameter command like strReplace:

strReplace -find a -replace o -string banana

and create an easier version of it (strRep in this case):

strRep a; o; banana

Basically it lets you separate parameters with semicolons instead of keywords.

Sunday, April 02, 2006

Allen Ormond's eop command

Allen just created a fantastic command called eop that makes it easy to create those commands that go to different URLs depending on whether or not a parameter is given (example). The beauty part is that he fashioned it entirely out of existing YubNub commands. It is truly a work of art (and as with many commands, I haven't yet fully grokked how it works). Check it out:

ifthen -value1 {strfind -find ${token=@}${token=@} -string %s} -value2 0 -test equal -then {strreplace -find ${token=@} -replace -string %s} -else ${else}

It's as elegant (and impenetrable :-) as a terse regular expression.

Tuesday, March 28, 2006

YubNub down

Not sure what's up - I've submitted a ticket to my web host (TextDrive) to investigate.

Saturday, March 18, 2006

YubNub scripting continues to evolve

People continue to push the boundaries of what can be done with scripting. On Friday, Stian Haklev asked if there was a way to make a command that opens several browser tabs containing several command results. One day later, Fuska announced the MultiTab command to do just that. Multitab is a really beautiful command (and I do not fully grok the beauty quite yet) -

open {strReplace -find ; -replace %7D;%7Burl+${cmd}+ -string %7Burl+${cmd}+%s%7D}

Tuesday, March 14, 2006

Free place to host PHP scripts: Ning

If you need a place to host your PHP scripts, or if you just need somewhere to experiment with PHP, the company I work for (Ning) offers free PHP hosting. Actually the purpose of Ning is to be a platform for social apps, but you can just as easily use it for YubNub scripts :-)

Updated: Jeremy's Picks of Best YubNub Commands

Jeremy Hussell has updated his list of the best YubNub commands, 7 months after his original list.

Saturday, March 11, 2006

YubNub is Rewiring My Thought Paths

From the YubNub Google Group:

-----Original Message-----
From: [] On Behalf Of elzr
Sent: Saturday, March 11, 2006 6:23 PM
To: YubNub
Subject: YubNub is Rewiring My Thought Paths.

Today, as I read through the morning sitting in a cafe, sipping a cold Americano, and with no laptop handy, I found myself writing all sorts of notes and little reminders to myself in every scrap of paper I could get my hands on. What I found remarkable was not the actual content of the notes but the form they naturally took. I wrote "rae edomita" where I would have previously written "Que significa edomita?" (Spanish for "What does 'edomita' mean?"); "iy kingfisher bird" instead of "What does a Kingfisher bird look like?"; "a Markov process" instead of "Find out what's a Markov process."; "am Gravity and Grace" instead of "Find out about this 'Gravity and Grace' book."; "wp Edward Fredkins" instead of "Who is this Edward Fredkins?"; and so on, and so on...

YubNub is rewiring my thought paths, I'm thinking in commands now! As I sat there pondering this epiphany, I thought I'd post to the YubNub Group about it. I wrote something like "yubgrub -new YubNub Is Rewiring My Thought Paths." and the first thing I did as soon as I got near a computer was implement that little command (the rewiring goes both ways!).

Cheers to YubNub!

Monday, February 06, 2006

(Joke) YubNub O'Reilly Book Cover

This (fake) YubNub O'Reilly Book Cover was made by Kai Turner in response to the feverish activity on the YubNub Google Group that Jacob Ensor is stirring up with his YubNub Aliases web app.

Monday, January 30, 2006

The \\ command for auto-fixing typos in yubnub commands

I like the \\ command because it has a bit of a story to it. But first, what it does: it automatically corrects typos in your yubnub commands. For example, if you type \\ g paecekeepers, it will automatically convert this to "g peacekeepers" and do a Google search for peacekeepers.

The challenge was laid down by kore7 yesterday:

Wondering whether we couldn't use Google to create a universal spell check command as well. When an unrecognized word is submitted to Google, it usually returns with "Did you mean: X?", where X is almost always what you meant to type. I'm envisioning a YubNub prefix command called "?"...

This seemed pretty hard to me, so I just gave some encouragement but didn't think it would be done, at least not anytime soon:

Heh - that's an interesting idea. Perhaps the first step is to create a command called respell that returns the google-fixed spelling of a given word. Once that's in place, it would be trivial to create the ? command.

The indefatigable Eliazar rose to the challenge and actually made an attempt:

I managed to scrape Google's spelling suggestion consistently with a command I created, sp1. Now I want to work with this result but I'm not able to pipe this command...

An hour and a half later, Brian Armknecht was inspired by Eliazar's code and took it a step further:

Eliazar -- Check out the ?> command. I just built it based on your sp0 command.> I added an ifthen to return the original input if the spelling was correct. This seems to work with piping. e.g.: g {?> cmbodia}

So, much of the hard work was done; what remained was to create a single command to tie everything together and answer kore7's original challenge. And that's what Jacob Ensor did, with assistance from Anastas and myself:

Took me all day, but I've done it. I've implemented your spellcheck in this new command, check it out: \\

Checks the spelling of your input of any Yubnub command.

\\ gim cmbodia (performs a google image search for "cambodia")

Go ahead try it! AWESOME! LOL.

And it's funny how these wonderful advancements and incremental improvements build on the work of early YubNub pioneers and experimenters: Fuska's % command for positional parameters, Jeremy Hussell's suggestion of a url command, Sean O'Hagan's ambitious scrape command, Allen Ormond's handy ifthen command.

Actually I feel moved as I consider all these people striving together to advance this idea of the URL as command line.

Friday, January 27, 2006

Instant Mashups: The "mash" Command

The mash command is the inverse of the multi command mentioned earlier. Instead of applying several words to a single command, it applies several commands to a single word. In other words, you can create instant mashups.

So for example, you can mash up Google Images, Yahoo Images, and Flickr: mash porsche gim yim flk

Or see how various dictionaries compare: mash antidisestablishmentarianism dic thes a encarta

Here's a combination of Google Maps and Amazon: mash honolulu gmaps am

The "multi" command: Run several searches simultaneously

multi is an interesting YubNub command. You can use it to run several Google searches simultaneously -- for example, multi gim porsche ferrari lamborghini bmw.

Or the same thing in Yahoo: multi yim porsche ferrari lamborghini bmw.

You can look up 5 dictionary definitions at the same time: multi a blog incumbent electoral insurgent hurricane

Or have lottery numbers automatically chosen for you: multi random 49 49 49 49 49 49

multi is composed of a few other commands. The ifthen and strlength commands were written by Allen Ormond. The % command (for positional parameters) was done by Fuska. And the split command was done by yours truly!

Thursday, January 26, 2006

YubNub 200-character URL limit (bug) fixed by Sean O'Hagan

Sean O'Hagan has snatched the pebble from the master's hand.

By examining the YubNub source code, Sean found the cause of the bug preventing URLs from exceeding 200 characters. This was proving quite problematic for the split command, which allows you to display several commands in split-screen mode (for example, gimyim porsche).

As I have said many times, it takes a village to build a command line.

Saturday, January 21, 2006

">" - the Universal I'm Feeling Lucky command

This evening, I found the following note in my inbox from Fuska:

COOL!!! elzr, I love this command
It's like a universal "I'm feeling lucky" button.

I think it deserves a Golden Egg right now

Did I say that I love it?

Fuska was raving about a new command called ">" -- not by Fuska himself but by Eliazar. I dug through my mailbox and found Eliazar's note announcing the ">" command. It's a super-cool command:

I read in a recent post about "amr" (Amazon through Google's Feeling Lucky) and thought it was a great idea. Exploring Yubnub I found a couple of other similar examples --"gww" (Wikipedia through GFL), "lfl", and "amluck" (interestingly, it does basically the same as
"amr")-- and thought that this could be an interesting pattern to exploit: using Google's Feeling Lucky as a fast, efficient and direct gateway.

Being in love with Yubnub, I thought about this in command terms and after some thinking came up with ">". I chose a symbol because I think it could become a fairly common command and because the syntax it allows is quite nice -- it makes me think of directness (->) and compression (><), which I think is appropriate. Here's how it works: (from it's man page)


URL: gfl site:{ extractDomainName { url {% 1 %s} } } {% 2- %s} [no url encoding]

> [Yubnub command] [query]

> wp Figures of speech
results: the article in the English Wikipedia about Figures of speech

> wpde Jonathan Ive
results: the article in the German (de!) Wikipedia about Jonathan Ive

> am The Future and its Enemies
results: the page in Amazon for Viginia Postrel's book The Future and its Enemies

> imdb Amelie
results: the page in the IMDB for Le Fabuleux destin d'Amélie Poulain

> cia India
results: the CIA Factbook entry for India. (And this is is a much convenient than just using "cia", since then you have to know the country two letter code.)

> cnn NYC transit workers
results: the CNN article "New Yorkers walk as transit strike ruled illegal." This brings up a subtle point: this is not be the most recent article in the topic, but rather the most important article on CNN about NYC transit workers according to Google. So ">" can be interpreted to mean: Quick! Take me to the most important page in this site related to this query.

> lj annzah
results: the LiveJournal user page of the user Annzah.

> kottke just enough
results: Kottke's post "Just enough is more"

> / Shockwave Rider
results: an article in Slashdot about Schockwave Rider

In practice, what ">" does is search a "content" website through Google for your query and send you straight to the first result. It is convenient because it builds on your knowledge of Yubnub commands and because it is often more direct.

Here's a more precise description: Yubnub generates a URL by interpreting the 1st param as a Yubnub command, it then extracts a domain name from that URL and uses it to configure a Google Feeling Lucky search for the 2nd param.


The command is far from perfect but I hope it's useful. The one think that's killing me is that it's slow! The domain extraction mini-script (man extractDomainName) is hosted on my server and that brings the total speed down. A command is as fast as it's slowest sub-command. This is a pity, Google is pretty much as fast as you can be in the web. But more importantly, being fast is the raison d'etre of this command. Suggestions please!

Oh, and this is the first Yubnub command after "man" that eats (has as a parameter) other Yubnub commands, right?

Cheers to Yubnub!


Friday, January 06, 2006

"if" command, by Samuel Hoffstaetter

Samuel Hoffstaetter obviously did a lot of work to create the new "if" command. One cool thing about it is that it builds on the landmark IfThen command created by Allen Ormond.

Anyway, here's if in all its glory:

ifthen -value1 ${lt}${gt}${le}${ge}${eq}${ne} -value2 -test EQUAL -then {ifthen -value1 %s -value2 False -test EQUAL -then ${else} -else {ifthen -value1 %s -value2 No -test EQUAL -then ${else} -else {ifthen -value1 %s -value2 0 -test EQUAL -then ${else} -else {ifthen -value1 %s -value2 -test EQUAL -then ${else} -else ${then} -redirect ${follow}} -redirect ${follow}} -redirect ${follow}} -redirect ${follow}} -else {ifthen -value1 %s -value2 ${lt}${gt}${le}${ge}${eq}${ne} -test {ifthen -value1 -value2 ${eq} -test EQUAL -then {ifthen -value1 -value2 ${gt} -test EQUAL -then {ifthen -value1 -value2 ${lt} -test EQUAL -then {ifthen -value1 -value2 ${ge} -test EQUAL -then {ifthen -value1 -value2 ${le} -test EQUAL -then NOTEQUAL -else LESSEQUAL} -else GREATEREQUAL} -else LESS} -else GREATER} -else EQUAL} -then ${then} -else ${else} -redirect ${follow}}

if - compare two values and return a value based on the result.

if [-lt|gt|le|ge|eq|ne ] [-then ] [-else ] [-follow True|False]

if 1 -lt 2 -then yes -else no
(returns "yes" since "1" is less than "2")
if -eq ${var} -then yes -else no
(returns "yes" if var is empty, "no" otherwise)
if True -then yes -else no
(returns "yes")
if False -then yes -else no
(returns "no")
if abc -eq bcd -then -else -follow True
(returns the Yahoo! webpage)

Either compares two values, or checks for the truth of a value.
All values other than "False", "No", "0" and "" are interpreted
as True.

Permitted comparisons are:
-lt (Less Than)
-gt (Greater Than)
-le (Less than or Equal)
-ge (Greater than or Equal)
-eq (EQual)
-ne (Not Equal)

When checking if a variable is empty, the variable has to
be specified behind the comparison switch:
if -eq ${var} -then yes -else no
The following WILL NOT work:
if ${var} -eq -then yes -else no

If the -follow switch is set to "True", if tries to follow links
that begin with "http://". The default setting for -follow is "False".

Samuel Hoffstaetter ""
based on "IfThen" by Allen Ormond

Wednesday, January 04, 2006

Firefox plugin for yubbing the highlighted text

Michele has written a Firefox plugin that takes the text you've highlighted in your browser and prompts you for a YubNub command to apply to it. All with a hotkey: Ctrl+Shift+K.

A bit of a bear to install (gotta hunt for the download link then, once it's downloaded, drag the xpi file into Firefox). Interesting nonetheless!

Tuesday, January 03, 2006

New RSS feed for all commands

There are now two YubNub RSS feeds: golden-egg commands, and all commands (the latter requested by Shantanu Oak).

Wednesday, December 28, 2005

YubNub Konfabulator widget by Danny Smith

Danny Smith has whipped up a snazzy YubNub Konfabulator widget. Works on Windows and Mac.

Friday, December 23, 2005

Copying a YubNub command to Yahoo Open Shortcuts

The amazing fuska has come up with another amazing command. It's called copy and it copies any YubNub command to Yahoo Open Shortcuts.

The string of YubNub commands that fuska used to implement it is a thing of beauty:

y !${action=set} ${name=%s} {url %s }{echops}

Integration with Yahoo Open Shortcuts

Shantanu Oak has made an easy way to add YubNub to Yahoo Open Shortcuts. Just go here and press ok.

Then you can access all the YubNub commands! For example, !yb weather 90210

Friday, December 16, 2005

Positional parameters problem solved by fuska

fuska is very clever.

He implemented positional parameters by creating a command called %. Yes it is called %. So essentially you can do % 1, % 2, % 3, etc.

For example, the googlocal command:

gloc -what {% 1 %s} -where {% 2 %s}[no url encoding]

I was quite stunned when I saw this example, and it took me a couple of minutes to understand how % works its magic. I am so impressed.

Thursday, December 15, 2005

YubNub module for the Google personalized homepage

Amazingly, ChicagoSage has created a YubNub module for the Google personalized homepage.

Monday, December 12, 2005

Feature Request: Positional Parameters

Vincent Borghi had an interesting feature request: positional parameters. So instead of typing

gloc -what pizza -where seattle

you could just go

gloc pizza seattle

The command itself would be written with $1, $2, ... to indicate the first word, second word, etc.

Would someone be willing to write (and host) a command (call it, say, positional) that other commands could in turn call?

Sunday, November 27, 2005

Ken Allen's parameter trick

Ken Allen wrote me about a neat trick he used for the marchives command (for searching heavy-metal archives). First trick is that ${-} allows you to use "--" to separate two parameters (which looks kinda neat), as follows:

marchives -t band -- funeral urn

Second trick is to use %s in case the user forgets or does not wish to use the -t or --, like so:

marchives funeral urn

Here's how he did it. Note the ${-} and the %s:${t=band}&string=${-}%s

Thanks Ken!

Monday, November 21, 2005

Screencast by Don McAllister: YubNub + LaunchBar (OS X) Integration

Don McAllister told me he's created a screencast on how you can integrate YubNub commands with Launchbar (OS X).

YubNub Bookmarklet by Brian Armknecht

Brian Armknecht has written a bookmarklet for YubNub (works on Firefox; doesn't seem to work on IE). Brian writes: "There are occasions where I'd like to perform a YubNub command on some text on a webpage (e.g. a word I'd like to define, or an address I'd like to map). I created a new YubNub bookmarklet for this. First highlight the text, then click the bookmarklet. A dialogue box pops up to ask the YubNub command to be used. It then performs that command on the highlighted text.". Thanks Brian!

YubNub Firefox Toolbar by Gabriel Kent

Gabriel Kent has begun work on a Firefox Toolbar for YubNub. (Pretty website too, btw). It's currently quite simple, and Gabriel is inviting people to help out.

Monday, November 07, 2005

Generating dynamic web pages with YubNub

Shantanu Oak (who has been doing some neat YubNub experiments that I want to blog about sometime) makes this interesting observation on the mailing list:
yubnub can be used to create web pages on the fly.
For e.g.

echo hello {echoshortcut staff}, <br> {echoshortcut confirm}<p> regards,<br> {echoshortcut shantanu}

Typing this command will generate a web page with the contents stored in the alias confirm. As you can see, you can store anything in the alias, an email, a message, a URL or even a picture! (coming soon)

You can print, bookmark or include (using PHP) the auto-generated page.

YSPs, anyone?

Sunday, October 30, 2005

YubNub Mobile + Skweezer

Phil Bogle has created a YubNub Mobile page with a twist: it uses Skweezer to strip pages down to a mobile-friendly format:

If you want to use Phil's service directly, use this URL: (If you've got a Pocket PC or SmartPhone, this works great with MultiIE, which lets you enter YubNub commands in the browser address bar).

Easier YubNub installation in Safari

Noah Mittman has come up with an easier way to add YubNub to the Safari search bar: "just wanted to let you know there is a freeware Safari add-on called AcidSearch that works very well with the site. It allows users to configure their own searches into the field normally locked to Google. A nice touch is that there is a panel built-in that lets users select and contribute search strings, so I've added YubNub to the list. So if you wanted, you could tell people to install AcidSearch and choose YubNub from the "More Channels..." list as way to install YubNub into Safari."

Thanks Noah!

Installing YubNub in Firefox - detailed instructions

Someone wanted instructions for installing YubNub in the Firefox search bar. Here's how:

1. To install YubNub, first go to:

2. Click "YubNub". You will be prompted to add YubNub to your search bar.

3. Click OK.

4. Click on your search bar to change the search engine from Google to YubNub (the blue "y")

5. And you're done! Now you can type the various YubNub commands into the search bar: g turtles, gim turtles, tec turtles, yim turtles, etc.

Wednesday, September 21, 2005

Using YubNub to recall short snippets of text

Sometimes I'm not in the mood for instant messaging. I'd like to have at hand a standard reply that I can paste into my chat client whenever I don't feel like engaging in an IM conversation. So I decided to create a YubNub command called jon-auto that displays a short snippet of text that I can paste into the IM window. The code for jon-auto is very simple:
echo Auto-Response: Jon may not be in the mood for chatting right now. Please leave a message.
It just uses the echo command to display a snippet of text.

Is YubNub the (social) clipboard of the web?

Monday, September 12, 2005

YubNub slow

I'm finding that YubNub is very slow today. I traced the problem down to the redirects -- evidently there is a bug in lighttpd 1.4 where redirects take around 30 seconds. Since YubNub's sole purpose is to do redirects, this is not good.

I have submitted a trouble ticket to my web host to try the workaround mentioned in the above article. So hopefully YubNub will be fast again soon.

Sunday, September 11, 2005

YubNub tip: if it's slow, give it another kick

Sometimes I find YubNub stalls for some reason, and if I run the command a second time it's quick. So if you find YubNub is taking a while, just try entering your command again. In other words, give it a swift second kick!

YubNub article in Maisonneuve Magazine by Mathieu Balez

Mathieu Balez (who pops into the YubNub forums now and then) writes for a magazine called Maisonneuve: Eclectic Curiosity. He's written an inspiring 2-page article on YubNub entitled YubNub Is Your New Internet Dashboard:
But unlike Google, YubNub can leverage (i.e., get inside and pull information from) almost any other search utility on the Web today, and not just find pages strictly under the purview of the Googleplex.
Mathieu writes clearly -- it's a great article for explaining to people what YubNub is. Go Mathieu!

YubNub GNOME/Linux integration

Nigel Tao has made a video showcasing his GNOME/Linux deskbar, which features integration with YubNub -- just start by typing a backtick (`). Nigel's deskbar does lots of other nifty things, like searching your mail and integration with Beagle Desktop Search. Neat!

Sunday, August 28, 2005

YubNub down for server move

Alright everyone, YubNub's down for a bit as our web host (TextDrive) upgrades the server on which YubNub resides ("pendrell"). Apparently the new Dell machines are going to be a lot more reliable, so we'll see a lot less downtime once it's up and running. TextDrive is posting status updates on its weblog -- look for the server named "pendrell".

This is evidently a major upgrade, so hang on tight!

Friday, August 26, 2005

First command to use ifThen command

Wow! Fuska sent me an email about a command he created called Microsiervos. The cool thing about this command is that it is the first command to use Allen Ormond's ifthen command. And it does what some of you have requested: go to one URL if an argument is given; another URL if no argument is given. I was not aware that the problem could be solved in this way. Fuska writes:
I created a new command to search in a spanish blog that I recommend you (it isn`t mine).

The interesting thing about this command is that this is the first command which uses the ifthen command. At least I didn't find any other command.

The ifthen command changes the url pointing to the main page(if there isn't search query) or to the search page

The code of the command is this:{ifThen -value1 %s -value2 -test NOTEQUAL -then /msmt/mt-search.cgi%3FIncludeBlogs=1%26search=%s}

And this is the man page:
I'm really impressed! It takes a village to build a command line!!

Tuesday, August 16, 2005

Jon away Aug 18-22

I'll be away August 18-22 at the Foo Camp tech conference in Sebastopol, California. If you send me an email I might not have a chance to get back to you until I'm back home in Victoria.

Saturday, August 13, 2005

PlayStation Portable integration

Brenden Mecleary has created a YubNub page optimized for PlayStation Portables. Brenden writes: "Yubnub seemed a good choice because (a) I think it's a really killer idea and (b) text entry on the PSP is a nightmare, so anything to save a few keystrokes is welcome, and YN seems well-suited to that.".

Allen Ormond's programmatic commands

Allen Ormond has written some new commands that are programming-language-like. Is YubNub turning into a scripting language?
  • ifthen - if statement
  • strleft - returns the left portion of the string
  • strright - returns the right portion of the string
  • strlength - returns the length of the string

Friday, August 12, 2005

YubNub server status

The web server on which YubNub sits is having some problems. The name of the server is Pendrell -- status updates here:

Saturday, August 06, 2005

YubNub Search Bar - works in any browser

Inspired by Felipe Gomes' Google Command Line, Sean O'Hagan has written a neat YubNub search-bar that lives at the bottom of your browser. The neat thing about it is that it works in almost any browser, because it uses a simple HTML frame. To start it up, simply type cmdline into YubNub. Then try typing "gim porsche" into the command-line at the bottom of the screen (or a URL like

Tuesday, August 02, 2005

Update to Jeremy's Picks of the Best YubNub Commands

Jeremy Hussell has updated his list of the best YubNub commands.

Friday, July 29, 2005

YubNub Konfabulator widget (Windows)

Zheng has created a Konfabulator widget for YubNub. More details on his blog post (English, Chinese).

Blackberry YubNub integration with Berry411

Blackberry integration. Wired Dude Dave gives instructions on how to add YubNub to your Blackberry mobile device: I did something similar with Berry411 (an awesome search client for the blackberry). I just edited a new "plugin" feature to have a search string look like Update: Berry411 creator Phillip Bogle has added YubNub to Berry411, so you can now type "yn: gim porsche" into your Blackberry. For more information, see Phillip's post. Here's a nice pic of YubNub on the Blackberry, from Wired Dude Dave:

Saturday, July 23, 2005

Jeremy's Picks

Jeremy Hussell has created an insightful page describing his picks for the best YubNub commands.

Call for awk, sed, grep, sort, tr commands

Sean O'Hagan (who has been working on HTML- and XML-parsing commands for YubNub) asks: "Thinking more about pipes and such, I thought that it'd be great if someone could (create and) host web versions of common pipe and filter commands like: awk, sed, grep, sort, tr, etc. (and commands from other operating systems too of course)"

Would someone be willing to create yubnub commands for awk, sed, grep, sort, tr, etc.? I suppose all you'd need to do would be to create PHP scripts (or whatever) that delegated to the real unix commands to do the heavy lifting. If the user passed you a URL, I guess you could pipe in the text using lynx.

Warning: this is a CPU/bandwidth intensive job! You might want to check the specs on your web server before contributing these commands!

Friday, July 22, 2005

YubNub down because of maintenance at TextDrive

My super web host TextDrive is doing maintenance on YubNub's server ("pendrell") so it will be down for a little bit. You can check on the status of pendrell here:

Wednesday, July 20, 2005

YubNub + Google Earth Mashup

I. am. astonished. Stefan Geens has made a command called gearth that launches Google Earth with the address you give it. He made a PHP script that generates KML ... I'll let him do the explaining.

Windows/Linux/MacOSX/Python integration

Steve Milner has created a set of programs that allow access directly to YubNub directly from your computer (OS X, Linux or Windows). He calls it yubutils, and it has three parts: a GUI for YubNub, a command-line interface, and a Python library:

Tuesday, July 19, 2005

Improved random command, by Richard Frankel

Richard has made an improvement to the random command, allowing you to specify the min, the max, and how many numbers to generate.

Richard's command is especially cool because you can combine it with other commands. For example, we can type fspell {random 10000} to generate a series of Flickr images, one for each digit of a random number from 1 to 10000, using Eric Kastner's fspell command.

And continuing our Penny Arcade example, you can get a random Penny Arcade comic from the last 365 days by typing in:

Saturday, July 16, 2005

OK we've got pipes! How to combine YubNub commands together.

Alright, we now have a way to chain commands together (but our work is not yet done, as I will explain in a moment).

For example, to see the Penny Arcade comic from a week ago, we can combine the paview and date commands as follows:

paview {date -format Y-m-d -offset -7}

Type that into YubNub and you will be taken to last week's Penny Arcade comic:

So to use the output of one command as the parameter for another, simply enclose the command in {curly brackets}.

And that's not all. If you find yourself often typing paview {date -format Y-m-d -offset -${age=7}}, you can make a new command for it. Just make a new command called paview2 with the following URL:

paview {date -format Y-m-d -offset -7}

No that is not a typo -- you type the same thing into the Create New Command box as you do into the YubNub command line. In other words, you can create new commands by combining existing ones together. So now you can type paview2 and it will take you to last week's Penny Arcade comic.

We can even make a paview3 command that is a bit more flexible. This third version will let you optionally specify the age of the Penny Arcade comic that you want, in days (see Advanced Syntax for more information on parameters and default values). Give paview3 the following URL:

paview {date -format Y-m-d -offset -${age=7}}

Now you can type paview3 to get last week's comic, or paview3 -age 20 to get the comic from 20 days ago, etc.

Note that this technique cannot be used to pass huge chunks of text between commands. This technique is used to pass small snippets of text, which is perfect for specifying parameters as in the examples above.

I said at the start of this post that our work is not yet done. We need more little commands (like echo, date, and url) that generate useful snippets of text that can be inserted into other commands. We also need a screen-scraper command to make it easier for people to make these little commands. Sean O'Hagan is working on a screen-scraper -- alternative implementations are also welcome.

I would like to acknowledge two people who have been doing R&D on combining commands together: Erik Kastner and Richard Frankel. I would also like to acknowledge the ideas of several individuals regarding syntax and implementation -- these include Bill Katz, Nick Fortune, Michael Pacchioli, Ciro Mondueri, Alex Ksikes (Alex has a ton of ideas) and more recently: Jeremy Hussell, Mathieu Balez, and Sean O'Hagan.

Thursday, July 14, 2005

"url" command, suggested by Jeremy Hussell

Introducing a new YubNub core command, url, which will help people who are experimenting with chaining YubNub commands together (like Sean O'Hagan and Erik Kastner).

url simply converts a YubNub command into a URL. For example,
url gim porsche 911
displays the following text:

For the syntax for combining commands, I will probably go with Jeremy Hussell's suggestion of { curly brackets }. I envision it working both at "compile time" and at "runtime"; that is, both in the Add Command screen and at the YubNub command line. Tony Pitale has suggested a "today" command, and this would be a perfect application, both at compile time and runtime: {today -format yyyymmdd -offset 15}

Sunday, July 10, 2005

An Idea for Combining Commands: ${...} rather than pipes

Today I was talking with Michael Pacchioli about the syntax for combining commands. I'm leaning toward using ${...} (I can't remember who suggested it to me a few weeks back).

Something like:
gim ${parse ${gnews royal wedding}}
Well, it will unfortunately be uglier than that (especially the parse command), but that's the idea. Basically using a command called "parse" to extract a short snippet of text to pass to the outer command as a parameter.

Sean O'Hagan is doing some great work on a parser.php script that I would like to use for the parse command.

Tip: Bookmarklet for creating those POST urls

As you probably know, you can tell YubNub to do a POST instead of a GET by putting [post] somewhere in the URL when you create the command (thank Sean O'Hagan for adding that capability).

But it can be a headache to try to construct the URL by looking at the HTML source. So go to Stephen Ostermiller's bookmarklets and drag his "Forms To GET" bookmarklet to your toolbar. Then press it to convert that POST form to a GET form so you can see the parameters in your address bar when you submit it.

Saturday, July 09, 2005

YubNub Mobile page, by Sean Bonner

Sean Bonner has made a little YubNub Mobile page that is optimized for mobile devices (like his Treo).

Tuesday, July 05, 2005

Default Values for Multiple Parameters

OK you can now specify default values for your parameters (syntax suggested by Christopher Church). Continuing our pizza example, here we specify the default "what" to be "tennis shoes", and the default "where" to be "Washington, DC":${what=tennis shoes}&near=${where=Washington, DC}&btnG=Google+Search&rl=1
Now if the user does not specify a "what"...
gloc -where Poughkeepsie, NY will default to "tennis shoes" and they will be taken to...
Similarly, if they do not specify a "where", it will default to "Washington, DC".

Saturday, July 02, 2005

Experimentation with pipes (sorta)

Well, there is research being done on making pipes for YubNub commands, and it isn't being done by me! Erik Kastner (creator of the spell with flickr website that's been making the rounds) is experimenting with combining YubNub commands. From Erik's email:
I made a new yubnub command"chain" -- A way to chain commands together. It's VERY beta right now and only supports:
  • ftot (my new command for making an atom feed into text- which is broken b/c of an apache thingie)
  • fspell
  • random
Example: chain random 42 fspell
Erik is taking us the first few steps into The Dream: combining YubNub commands together. This is the inflection point, the Singularity. On the day that YubNub commands can truly, freely interact with each other, great things will happen.

Update: Eric sends me this in an email: chain ftot -url -titles 1 -bodies 1 -limit 1 fspell Looks like it's beginning to really take shape!

Friday, July 01, 2005

Auto-translating the current page

YubNub can be useful in so many ways. For example, let's say you go to a page in another language. Here's one written in ... Spanish, I guess? Anyway, I don't need to know because the autotr command will figure out what language it is in and convert it to English for me. And if you've installed YubNub as a keyword in your browser, all you need to do is stick a "y autotr" before the URL in your address bar, and presto, it's automatically translated into English for you!

This technique also works great for the "tiny" command (which turns very long URLs into very short ones). Just stick a "y tiny" before the URL in your address bar, and tiny will convert it to a tiny url.

Now there's a way to test your commands

I just finished implementing a good suggestion from Jürgen Antes and Jeremy Hussell: give YubNub a way to let you test your command before you submit it.

YubNub SmartPhone/PocketPC installation

If you have a SmartPhone or PocketPC and surf the web with MultiIE, you can turn your address bar into a YubNub command line:

Just go to MultiIE Options > Misc > Address Bar Macros > Open Button Custom 1, then type in the following:^;-YubNub (as shown below). You will then be able to enter a YubNub command (like "gim porsche 911") then click YubNub (as shown above).

Turning off URL Encoding

Normally YubNub will apply "URL encoding" to parameters. For example, "gim Mork & Mindy" gets turned into (note that the & became +%26+). This is what works for most websites. However, W. Van Hooste pointed out that this does not work for the Internet Archive Wayback Machine. To tell YubNub to turn off URL encoding, include the following text somewhere in your URL: [no url encoding]

For example, if you make a command called arch with the following URL...*/%s[no url encoding]
...when the user types...
...they will be taken to...*/
If you hadn't specified [no url encoding], the user would have been taken to*/