jorge's stompbox

Sep 14

The Obi 100, the coolest little box I’ve never heard of.

Apparently my new apartment is also a Faraday cage, and I can’t get any cell phone signal. Walking outside gets me 3g and full signal, but inside, nothing. Thanks to Google Voice though, I’ve been able to just route all my calls to my PC, so I can still do my conference calls.

However, this isn’t so reliable, especially when multiarch was landing and I didn’t figure out how to install the binary plugins for gtalk. Or when I happened to be rebooting into a new kernel, or like the time I forgot to open gmail for a few hours and missed my wife’s call to ask me what kind of tacos to bring home. Dreadful.

So I needed something more reliable for voip that didn’t need a working computer. I’ve not had a SIP provider in a long time and I didn’t want to deal with the complexities of setting up my own thing (more on this later). Plus, I like my Google Voice and phone set up, I don’t want to add another number, etc. Also doing it “the right way” with SIP means getting a phone with an ethernet jack plug on it, which apparently quadruples the price of the phone.

I briefly investigated consumer femtocells. But that’s a pipe dream, and even if they were around and affordable you know carriers are looking forward to charging you for having one even though you’re the one paying for them to get the damn signal into your apartment to begin with.

"But Tmo has wifi calling!"

Yeah but only on tmo branded phones, which means my wife can use it but I can’t use it on my Nexus. Plus if you think Android battery life sucks without wireless, you should try wifi calling, not only kills battery life, it turns the phone into a 300 degree rock next to your face.

"Oh I know, I’ll get something like a Skype phone but for Google Voice"

Doesn’t exist. This kind of sucks, I would so pay for a cheap GV phone with all my gmail contacts on it, etc. However, this exists:

It’s 43 bucks. Ethernet goes into my switch, and any normal POTS phone goes into the other plug. I log into their website, add my gmail credentials, and then when people call me my normal phone rings. Since normal POTS phones are cheap I picked up a dual handset one for about $30, so I have a phone in my office and phone in my bedroom.

I plugged it in and had dial tone and was making a call in about 3 minutes. The box is clever too, when I have a gtalk voice mail the normal “voicemail” icon on the normal phone blinks. It has caller ID, etc. When I want to make a call I just ring it via my gtalk plugin in Chrome and the phone rings and I pick it up. I suppose I could use all the buttons in the front (they call it a dialpad) to dial a number which matches another person’s phone, but that’s crazy talk.



They also have the Obi 110, which has an additional POTS plug for you to connect to your existing phone service so that you can also use a normal land line for things like 911, but VOIP for long distance, etc.

Sep 10

Appetite of the Beast

It ends up Nicko McBrain (the drummer from Iron Maiden) own a BBQ joint in Florida, quite close to me.

He wasn’t around but apparently he stops by at night after he golfs. And they have wireless. I think I’ve found my new coworking space.

(More pics)

Sep 08

Looking for a few good people.

I’m looking for instructors for Ubuntu Open Week, which is traditionally held on the week after release on #ubuntu-classroom on Freenode. Want to teach a course on something? Here’s a great way to jump in and help out.

Ubuntu Open Week

(Original Post) (Logo by htorque)

Sep 02

Ask a Unity Developer ….

The Unity team is doing an “Ask me Anything” on Reddit if you want to join in.

Sep 01

Just buy this….

Growing up in the 80’s and 90’s my idea of AC/DC was basically everything after “Back in Black”, which made them a household name.

I finally snagged the new Blu Ray of Let There be Rock, which is great for people like me because it’s a good time capsule to what that era was like. My only image of Bon Scott was just the replays on the radio.

However, on Blu Ray you can really watch his performance as a front man to a rock band, and it’s amazing. 

They really did a good job on the quality, other than the aspect ratio, which unfortunately isn’t widescreen.

You won’t care though, just put the DTS track on and let Bon Scott fill you in on old school AC/DC in their 1979 glory. He died 2 months later. :(

Using Alt-tab and Alt-` in Unity

For 11.10 the launcher team worked on a new alt-tab. Here’s how I use it to switch between not only applications, but windows within applications.

(Sorry about the flicker, seems to be a result of recording it)

Aug 30

Etherpad-lite, now easy to deploy for your events

Etherpad Lite is awesome. Have you ever organized a conference, large meeting, or foocamp and thought “wow, I could really have used an etherpad at this event.” But many times organizers don’t have the resources to get this kind of stuff running. Now, in an effort to make it trivial for anyone to set up an etherpad, James has implemented an etherpad lite formula for ensemble. 

Here are the steps. First install and configure Ensemble, this is just putting your AWS keys in an environment file and/or using a PPA if you’re not on 11.10. Then we bootstrap, snag James’ formula, and then deploy it in EC2.

ensemble bootstrap
bzr branch lp:~ensemble-composers/+junk/etherpad-lite
ensemble deploy --repository= . etherpad-lite

Right now we’re grabbing formulas from Launchpad but in the future that will be much more user friendly, where you can search for formulas right from the ensemble command (Like apt-cache search). It takes about 5 minutes to bootstrap, and then another 5-10 minutes to deploy, since it’s installing everything we need for Etherpad Lite and then installing it on EC2.

Then let’s check in how that’s going with:

ensemble status
2011-08-30 13:24:33,166 INFO Connecting to environment.
  0: {dns-name:, instance-id: i-6b706b0a}
  1: {dns-name:, instance-id: i-8f6b70ee}
    formula: local:etherpad-lite-5
    relations: {}
        machine: 1
        relations: {}
        state: started
2011-08-30 13:24:35,883 INFO 'status' command finished successfully

Ok as we can see there the service has state:started, which means it’s running. Node 1 is our instance so let’s hit it up, we hit up port 9001 because that’s the Etherpad Lite’s default port:

Neat huh? Ok so I don’t have a fancy URL like (Hint hint Gareth!) but you get the idea. I’ll leave it running for a while so you can mess with it. When your conference is done, save your data and tear it all down with

ensemble shutdown

or keep it around, up to you.

Currently it’s only running in a single instance, there’s no logic in the formula for load balancing or anything yet, but James tells me it scales pretty nicely on just once instance. You’ll also note that I don’t have to know/care about building node.js or npm or any of those dependencies. The formula author basically does the work for everyone, ONCE, and then people like me who aren’t familiar with deploying this sort of app can just enjoy using Etherpad Lite.

Ok so now $your_favorite_event can have an etherpad very easily. We’ve already made it easy to get mediawiki, it’s my hope that eventually we’ll have formulas for every service a conference would need to get running so they can just fire it up.

This is just an example on the public cloud, later on we’ll show you how to deploy to bare metal using these exact commands. 

Aug 29

Workaround for Unity Web Applications in Chromium

Alex has found a great workaround for fixing web applications in Unity.

BAMF has been plagued by this bug, which basically means it groups Chromium and Chrome windows under the browser icon. That means my gmail, IRC, music, etc. all get matched as generic browser windows instead of separate applications.

It’s quite easy, you just edit the .desktop that Chromium makes and tell it to make a user profile someplace else and somehow this is enough for BAMF (and therefore Unity) to match the window as a separate application. What’s the result? Finally, each application shows up independantly on the launcher:

Those used to just all file under my Chrome icon. And of course, the big one, alt-tab:

I’ll update my instructions on webapps in Unity later tonight, or an enterprising person can go and update it if you want.

Thanks Alex for finding this workaround, I’ve been crippled by this for a long time, now I just updated a few files. This should tide us over until Trevino gets back from holiday and fixes it for real. (This is a bug I certainly won’t miss).

Jul 29

My first attempt at an Ensemble formula

Since every one else is doing it, I thought I’d play with more Ensemble tonight, but instead of firing something up I started working on a formula for summit, the tool we used to schedule UDS.

First Chris Johnston and Michael Hall started an etherpad with the instructions for installing summit (and we’re doing one for the LoCo directory too since we like biting off more than we can chew).

Here’s the first cut of the install script based on those instructions, then I went ahead and ran it in a VM to make sure it worked non-interactively. The documentation recommends that you have a plan before you start. Basically you are scripting an install on a brand new OS installation so you have to think of things you might normally take for granted, like remembering to install bzr or git before you pull something, heh:

When attempting to write a formula, it is beneficial to have a mental plan of what it takes to deploy the software. In our case, you should deploy drupal manually, understand where its configuration information is written, how the first node is deployed, and how further nodes are configured. With respect to this formula, this is the plan.

I did ok until I got to the python syncdb part of summit, which asked me a question, but not bad for the first shot. 

Of course, had I picked something packaged it wouldn’t be so complicated, my install script would just be an apt-get command but I think it’s useful to be able to just fire off an instance of summit right from trunk. 

The ability to just grab whatever you want right from trunk and fire off an instance is pretty powerful, I’m looking forward to seeing James Page’s etherpad-lite formula be ready so anyone can just fire one up for $your-favorite-conference.

Jul 28

A retrospective of the first year of Ask Ubuntu

Today Ask Ubuntu celebrates it’s first year in existence. Though publicly launched on the eve of 10.10.10, the site went into private beta one year ago today. At the time Evan Dandrea had seen Area 51 and had proposed an Ubuntu Stack Exchange. 

I was just as confused as everyone else. It wasn’t until I spoke with Evan at Debconf 10 where he explained it to me. In fact, you can probably call this the first time the idea of mercilessly removing horrible content from Ubuntu properties got started in my brain.

His gist was this; like with code, there is just no replacement for peer reviewed content that focuses on quality. That’s basically the mission of the site. So with that, I dove in head first and decided that I was going to help will this site into existence. 

It took us a while (from end of July until October actually) to find our feet. That’s where we honed down our FAQ, what was ontopic and what wasn’t, we narrowly focused what we would be good at, answering people’s questions. We would heavily leverage the existing wiki documentation, bug reports redirected to launchpad, discussion moved to the forums or IRC. No distractions from the mission, ask a question, get an answer; the rest is just furniture.

So how are we doing?

We are currently the 4th largest Stack Exchange according to traffic (behind the original trilogy of Stack Overflow, Super User, and Server Fault). Here’s where you can sort the criteria. During the release of 11.04 we hit around 45k traffic, which is about 50% of Server Fault’s traffic (in less than a year!).

While all that is fine and good, what about user engagement? Well, currently we have about 19,000 registered users, here’s the breakdown by reputation. (Reputation is a measure of how much other user’s trust you).

Stack Exchanges are unique in that priviledges to run the site are earned by the votes from your peers (which is measured in reputation). The more reputation you earn, the more rights you have to edit the content on the site. A user with 20,000 reputation is basically a moderator, but the important one to me is 2,000. This is the level where you no longer need to have someone peer review every edit, and editing is how content stays fresh and relevant. 

I consider everyone with over 2,000 reputation to be a heavily engaged user on AU, someone who has taken a personal interest in making the site succeed. We have 85 people with over 2,000 reputation, meaning we have 85 people continuously improving the site at a high engagement level.

Surprisingly, you’ll see over 18,000 people mostly just consuming the content. This is the userbase we serve the most, but you can see how a relatively small group of people can make something good happen.

And what about the end result? So far our accepted answer rate sits at 81% (which is about the same as the original trilogy sites). We’re constantly looking for ways to improve quality; I sometimes yearn for the day when we could answer 95% of the questions,  but hey, with great size comes great craziness of unanswerable questions.

I have a ton of people to thank, you all know who you are, the first pile numbers at about 85 people. We’ve all been putting in crazy hours to make this work. For me personally it’s been an about one hour before work, most of lunch, and multiple hours after work. (Spouses getting Ph.D’s are good for internet participation!) 

Now that the first “ooh ahh” year is out of the way, the next comes the grinding run into the playoffs. There’s no doubt in my mind we can eclipse Server Fault provide better quality for end users, it’s just a matter of time and workin’ hard. 

If you’re feeling intimidated by it just dive in and get started, we’re friendly, and remember that reputation is a measure of trust, not exactly skill (where else would I outnumber Kees Cook in anything by 16,000 units?)

You can earn reputation by asking good questions, submitting edits to make content relevant for today, or by answering questions. Once you have the 15 rep required to vote you can very easily determine the quality of the site by just voting a few times a day. The quality of the content is determined by it’s people, so I’m looking for experts, people who want to be experts, beginners, medium level, and whoever to dive in and help someone out.

Here’s to another year!

Jul 26

Whoops, almost forgot!

Whoa, almost forgot to send some funds to Novacut, thanks for the pro tip Planet Ubuntu!

Jul 18

Easy Hadoop via Ensemble

People are talking a lot about Hadoop and Big Data. This is an area where a tool like Ensemble can really help out. Juan Negron has distilled the installation process for Hadoop on Ubuntu into a formula. 

Check out the instructions (1,2) that Mark was reading, and then you can see how Mark took all that Hadoop expertise and just used the Ensemble Formula to dramatically simplify the installation.

There is work going on to make the formulas easier to find and share, right now you pull it from a bzr branch, but the project is moving along at a fast rate, you can find out more about Ensemble on

Jul 15

Asking Better Questions

andrewsomething pointed out some questions that need love. One sure fire way I’ve noticed that will help get your question answered is to keep improving it. The simple fact is, you can expect the quality of an answer to be proportional to the amount of effort you’ve put into your question. If you don’t provide any detail, no one can really answer your question.

Every once in a while I see on Ask Ubuntu or reddit where the person has given up, and the question starts with “I’ve been trying to find this for 5 hours, halp.” This seems backwards to me, instead of suffering in silence, ask early, and ask often! Let’s apply some Getting Things Done:

So, the next time you have a question about Ubuntu instead of bottling up your problem, ask early, and ask often, then iterate the hell out of your question with new information as you get it. The more info you have, the more likely it’ll be solved faster. Some questions will invariably be unanswerable, or might be a bug in the software, but you can at least keep improving your queston enough to get an answer.

If you think about it, if you’re solving a complex problem, it would be nearly impossible to write the perfect question in one go, so next time you’re not getting any answers to your questions, start fixing it up!

And if you figure something out, self-document.

Here’s some tips:

Jul 14

Beaches and Sun for a Year

Next week I’m packing up my things and moving to Boca Raton, Florida, home of awesome beaches and retired people who sit around.

It’s going to be a busy Summer, I’ve started working on Ensemble this cycle so you’ll see me talking about that a bunch more — it’s nice to be working with server-type stuff again, especially with something new and exciting.

I look forward to becoming part of the Florida team!

Unfortunately my schedule this summer will mean I won’t be able to go to Debconf and the Desktop Summit this year, which is a bummer as they’ve both become my favorite events with great friends. Not to worry though, Jason Warner has settled in as manager of the Canonical desktop team and will be at the Desktop Summit to buy you beer field any questions you might have.

There’ll be plenty of Ubuntu people at Debconf as well, hopefully I’ll be able to attend next year.

Jul 12

Sharing Ensemble Formulas

Ahmed and I have tagged some Ensemble formula requests as bitesize. The PHP ones will be pretty straight forward, so if you’re deploying in EC2 and want to dive in and share your expertise (and snag some existing formulas for yourself!)

If you’re looking for a Formula for something you’d like to see to be made easy to deploy in EC2 please feel free to file a new bug.

You can find the docs for writing formulas here. If you’re writing an awesome app you’d like to see made easy to deploy in EC2, then let me know and we’ll get started.