La Bamba Wins Best Burrito

My all time favorite burrito joint has won a “Best Of” award from the Palo Alto Daily. I’ve been a regular customer since we started iPrint in 1996 and were leasing space from NASA at Moffett Field. It was just a short drive away and way better than the NASA cafeteria food.

Burrito
Now celebrating 20 years of business, this family-owned restaurant is no stranger to the voting public. La Bamba Taqueria serves traditional Mexican and Salvadorian dishes including the famous nearly foot-long burrito. A model of political transparency, you can watch your burrito as it is made, starting with the bare tortilla and finishing with a tightly wrapped totable lunch. No "mystery meat" here! Don't let the long lines fool you, the staff is quick to handle the masses, proving that the concepts of open government and the Palo Alto Process are not mutually exclusive. Lastly, caution with the salsa, it may not look intimidating but boy, does it bite. 2058 Old Middlefield Road, Mountain View; 650-965-2755

Congrats guys!

The Raconteurs Get What Prince Does Not

I received the following email from The Raconteurs today:

We are in the process of creating a live section of our website and need your assistance. We’ll have different areas where you can view video footage and photos from tour dates as well as hear select audio for some shows.

Here’s where we need your help, we’ve been scouring youtube for some video content that fans have shot at past shows and we’ll be adding some of that footage to the site. If you have footage you haven’t yet added to youtube please add it and feel free to send a link to the video for review to livevideo@theraconteurs.com , be sure to include show date, venue, city name and video credit.

Jack White and company understand the value of their fans recording content and making it available on YouTube. Their aim isn’t to necessarily sell more records (recall that this is the band that broke all the rules for their most recent album, Consolers of the Lonely), it is to bring in people to their live shows.

Contrast this with how Prince handles his fans, and the differences couldn’t be more stark. Can you imagine Prince emailing his fan base and asking “If you have footage you haven’t yet added to youtube please add it…”?

 

Great EC2/S3 Tool

(cross-posted to the BaconMarathon blog)

Tim Kay of ActiveBuddy fame has been working on aws, which he says provides “simple access to Amazon EC2 and S3”. I ran into Tim a while ago and we chatted about aws – around the same time, I also heard about it from Mike.

As all the BaconMarathon apps are running on EC2 and using S3 for storage, I’ve been looking for an easier way to interface with S3 in particular. I finally got around to trying out aws the other day and found it be more than advertised. Finally, I had one simple command to examine buckets on S3:

aws ls

That was it. Creating buckets, puts and gets are just as simple:

aws mkdir BUCKET
aws put BUCKET/[OBJECT] [FILE]
aws get BUCKET

We’re now using aws to push our MySQL backups to S3 on a scheduled basis – a simple change to our existing backup jobs.

Technorati Tags: ,,,

Dialogs and Asynchronous Calls in Facebook

(Cross-posting to the BaconMarathon blog)

One feature of BaconMarathon's Top3Clicks Facebook application allows users to construct free-form item searches. The search queries are augmented and are used as we attempt to find items that are relevant to the user. To make this work, lots of things are going on in the back-end. The UI output is a list of items displayed in the rotator.

Like any application, we need to make this process as fast as possible, while providing the user visual cues to let them know the application is working quickly to provide a result. One of the strongest pieces of feedback we have had is in this area - and something we've tried to tackle in several different ways.

Our design goals were as follows:

  • call the back-end asynchronously
  • provide cues to the user via a UI dialog
  • tear-down (hide) the dialog when the back-end has completed its' tasks and refresh the UI with the latest information

Yesterday, we rolled out our latest iteration (shown below), which utilizes FBJS and Ajax. 

 

 

Using this post as a basis, we made a number of tweaks, most notably the ondone function of the asynchronous call (via ajax.post) handles the form submission and actual tear-down of the dialog. Implementing it was non-trivial as the FBML Test Console didn't seem to like any ajax.post calls we made. Unfortunately, the onerror function does not provide any information about the cause of failure. Firebug was a large help -- make sure to use it if you are debugging FBJS.

Our current implementation looks something like this:

FBJS

function showItemDialog() {    var title = 'Add Item'     var ok = 'Cancel'     //create dialog     var dialog = new Dialog().showMessage(title,add_dialog_fbml,ok);     var ajax = new Ajax();     ajax.responseType = Ajax.FBML;     ajax.requireLogin = true;     //ondone function, called when post returns     ajax.ondone = function(data) {         frm = document.getElementById(searchForm);         if (frm) { frm.submit(); }     dialog.hide();     };
  //onconfirm actually does nothing     dialog.onconfirm = function() { };     //grab input value and use in ajax.post call     var item = document.getElementById('item').getValue();     var params={'item':item};     ajax.post("http://www.yourdomain.com/index.php",params);
}

FBML

<form method="get" action=http://apps.facebook.com/yourappname/search.php name="search" id="searchForm">  <input type=text name=item id=item>
  </form>
<fb:js_string var="add_dialog_fbml">  <div id="add_dialog">    <div class="dialog_loading">      <img src="http://ec2_75_101_197_150.compute_1.amazonaws.com/top3clicks/images/ajax_loader.gif"/> Retrieving item info ...    </div>  </div></fb:js_string>
Try it out and let us know what you think!