Monday, January 30, 2012

"Harvey" the Honey Badger

The feedback on eCryptfs' new mascot and logo has been just awesome :-)  At the bottom of the last post, we opened a call for name suggestions.

As it turns out, my mom reads my blog from time to time, and with that post, she saw an exercise and opportunity for one of her high school classes.  She tasked them with researching eCryptfs and the reasoning behind the new logo.  As an extra credit assignment, they were invited to propose names for our tenacious new mascot.  These are so much fun, we'll share all of them with you now!

Leading by example, Mrs. Kirkland (aka, my Mom) writes:
I think you should call him...Honey, but play on the "e" ... and the quotes actually look like claws.   Hon"e"y.  The "e" fits perfectly in the hand.  Plus, when he is standing, he really forms an H.  I am no artist but I am sure you can see the H in its body.   I know you are just looking for a name... but I wanted to show you why I thought the name fit. 
Thanks, Mom!  The quotes around the "e" do look like claws, and it does refer back to the "e" in eCryptfs.


One of her students, Christopher Bordelon suggests:
I think the name Henry would be the perfect name for the honey badger. The name Henry refers to the noble politician Henry Clay. Henry led a defensive army when it came to the war of 1812. By naming the honey badger Henry it will set the tone of the project to have a well strengthened background. By being a member of the war hawks, Henry was always ready for a battle. He knew he would not be able to be defeated. I feel this is a great name for the honey badger because Henry Clay is a well known political leader in United States history. When people hear this name they will be drawn to it because of the historical accomplishments of Henry Clay. Henry was also known for living a very long time. By Henry living a long time this means that the project will be around for a long time too. He outlived the majority of his fellow leaders. By using his historical context the project will have a face that will never be forgotten. The project will have a mascot with a defensive output that will make customers want to bring their services there.
Thanks, Christopher.  We just loved the historical references!

Another of her students, Kristin Seneca, had a different idea:
I really appreciate the new logo; it is a major upgrade to the last. It has more vibrant colors and an all around better design. It isn’t as plain or boring as the key overlapping the pie chart. With a great logo, the project should want a great name to go along with it. This is why Boris the Badger would be a perfect name for your project's new honey badger logo. Boris the Badger would be a great name for eCryptfs' new honey badger logo. This name has significance to the honey badger. A honey badger is fierce and strong, much like what the name means. According to 2000names.com, the name Boris means a battle or fighter. It was derived from the name Bogoris, meaning small. Since the honey badger is one of the smallest and fiercest warrior animals around, I believe that this name definitely suits the eCryptfs honey badger logo. He certainly looks fierce! eCryptfs is a great project and should have a really awesome name to go along with their new logo. Boris the Badger would be the best name for the honey badger because it represents the idea of a warrior or fierce battle. The honey badger is a ferocious warrior animal and will go to great lengths to defend itself, much like the project will go to great lengths to protect files and software.
But our unanimous favorite here at the Gazzang offices was from Mrs. Kirkland's student Blane Palazzo, who wrote:
Reviewing possible names for the new honey badger design, I've decided that "Harvey, the Honey Badger" sounds the best. Not only is this name appropriate because of its beginning with an "H," but the name "Harvey" also means, "battle worthy." When determining which names would be possible for the new logo's design, I kept in mind that defense was a major part of choosing the "fitting" name. Having a defensive name, while at the same time establishing trust, was very important. Not only does the name "Harvey" build trust, it also has a background that allows for an understanding that he "means business." Like a true honey badger, he "takes what's his!"  Paul Harvey is famously known for his “Rest of the Story” segment, which was watched by millions until his death at the age of 90. The name Harvey can be related to many things, including the stamina held by Paul Harvey Himself, and the impact of his life felt by millions of Americans. This “Harvey” could be looked to for the “rest of the story” when it comes to protecting software and programs being used. The finality of such a name could be applied to the logo of a project that protects and defends.  eCryptfs is software that thrives on protection, and as mentioned in the blog, is a “vibrant and open-sourced” project. Having a fitting name is appropriate when it comes to any new idea or project. In order to be remembered as a project that strives for excellence, the logo has to be focused on and perfected. The name “Harvey” is a name that is not easily forgotten, and provides a significant enough meaning to the new logo.
Well done, Blane.  We, here at the Gazzang offices, absolutely love it!  And so, I'm pleased to introduce Harvey, the Honey Badger!

:-Dustin

Thursday, January 26, 2012

UDW: Pair Programming and Code Reviews in the Cloud

Next week is yet another installment of the Ubuntu Developer Week education series.  If you been wanting to get involved in Ubuntu or Free Software development, or perhaps just hone your existing skill set, please join us in #ubuntu-classroom on irc.freenode.net Tuesday/Wednesday/Thursday next week.  Check the schedule, and hopefully you'll find something that piques your interest.

I'm pleased to note that each member of Gazzang's engineering team will be attending at least two sessions per day!  With today's shrinking education budgets, perhaps you can convince your employer to let you attend some excellent, continuing technical education at no additional expense to them.  Should be an easy sell ;-)

I will be leading an hour long session on Thursday, February 2nd from 18:30-19:30 UTC -- that's 12:30pm-1:30pm in my local Central Standard Time.  My session is on Pair Programming and Code Review in the Cloud.

I've used Pair Programming for years -- ever since I was introduced to the Extreme Programming methodologies in the Tivoli Bootcamp as an intern in 2000.  Pair Programming is a relatively simple concept -- two people, one keyboard and screen.  It's a great way to teach, learn, and review code.  Back then, we were a couple of developers, sitting side by side in the Arboretum in Austin, Texas.

But times have changed!  It's highly unlikely that I'm sitting next to the person I need to pair program with.  Rather, they're sitting somewhere far across the world.

Welcome to 2012!  I'll spend an hour, sharing a screen with a few dozen of you, showing you how some Ubuntu developers work with colleagues across the world, through the Cloud!

I'm going to fire up Amazon's largest instance splurging $2.10 an hour for 60GB of RAM and 16 CPUs.  You hardly need this, but I thought it would be fun.  If nothing else, drop in and have a look at what this kind of hardware looks like :-)  We'll import SSH public keys and users will SSH into a shared Byobu/Tmux session, where I'll demonstrate how to make the most use of our screen resources.  We'll split the window horizontally and vertically, look at code side by side, while still tailing log files and conducting builds.

Prerequisites:

  • A terminal and an SSH client with Internet access
And to maximize your experience:


As a teaser, here's what my terminal currently looks like, and a taste of where we'll get to, in this session.    This session can be detached and reattached later, or even by multiple users at the same time.

I have 8 panes open in a single Byobu session.  The first two windows have some eCryptfs source code (mount.ecryptfs_private.c and pam_ecryptfs.c).  Next, I have a little test window where I'm checking my changes, with a foobar@x220 user logged in, and it's just above a small window where I'm reading some manpage documentation.  To the far right, I'm re-compiling the new ecryptfs sources.  Across the bottom, I'm tailing 4 log files (kern.log, dmesg, auth.log, syslog).  Note that I'm using tail -f and ccze for colorized log files -- which really helps separate warnings and errors (in warm reds and yellows) from the rest (in cool blues and greens).

Hope to Pair Program with you on Thursday!

Cheers,
:-Dustin

Wednesday, January 18, 2012

Video Explanation of ACTA / SOPA

I think it's important for everyone to understand what's at risk here today.  This is a must-see, and well worth 7 minutes of your time...



Dustin

Monday, January 16, 2012

Automatically Swapping Launchpad and Bazaar Identities


I've been a Launchpad.net member since 2006-10-11, when I first created an account to add some debugging information and submit a patch to a bug affecting the xserver on iMac G3s and the Ubuntu 6.06 PowerPC LiveCD, which my wife, Kim, used in her 4th grade classroom.  Wow, those were the days!  I see that that bug is still open :-)  I can't imagine that hardware is even functional anymore....is it?


I was thoroughly impressed with the shear elegance, look, feel, and usability of Launchpad.net.  I was a long time user of SourceForge.net and Bugzilla, and had brushed by at least a dozen other bug trackers.  No other bug tracker or source code system could hold a candle to Launchpad, in my opinion.

In my ~4 years at Canonical, Launchpad.net and Bazaar became the cornerstone and foundation of my day to day development and productivity.  I was absolutely thrilled when Launchpad was open sourced (to relatively little fanfare, sadly).


I've filed and fixed a few minor issues, and worked around some others, and leveraged Launchpad for tools of my own (like ssh-import-id).  And today, I still think Launchpad.net and Bazaar are the best combination of bug tracking, source code management, binary package builders, team building, blueprint tracking out there!

I continue to use Launchpad and Bazaar to manage more than two dozen open source projects.  And now, we're also using commercial Launchpad here at Gazzang now, actively committing to both public and private projects every day.

This introduced a new challenge, for me, though.  I want to make ensure that my commits to Bazaar when I'm "at the office" and working on Gazzang projects are correctly credited to my work email address and identity, and otherwise, they're credited to my personal email address.

This email address is stored in ~/.bazaar/bazzar.conf.  For me, the logic is pretty easy...  I generally work from the office where we have a (mostly) static IP address.  I simply run a cronjob every five minutes that checks my external IP address, and updates ~/.bazaar/bazzar.conf accordingly.  Your logic might differ (perhaps time of day, etc.).  Does anyone know how I might perhaps hook bzr to check the project's name at commit time?  Also, any ideas about how to update $DEBEMAIL in a similar manner?  It's an environment variable, so it's pretty hard/impossible to update that in all of my shells and byobu sessions/windows/splits, and the Debian maintainer rejected a few requests to support $DEBEMAIL in ~/.devscripts.  Other ideas?

My script currently looks something like this:

#!/bin/sh
# $HOME/bin/update-email
work_email="dustin.kirkland@work.example.com"
home_email="dustin@home.example.com"

work_ip="10.9.8.7"
current_ip=$(wget -q -O- http://v4.ipv6-test.com/api/myip.php 2>/dev/null)

if [ "$current_ip" = "$work_ip" ]; then
        sed -i -e "s/<.*>/<$work_email>/g" $HOME/.bazaar/bazaar.conf
else
        sed -i -e "s/<.*>/<$home_email>/g" $HOME/.bazaar/bazaar.conf
fi

And it runs in this cronjob:
*/5 * * * *  run-one $HOME/bin/update-email

Suggestions for improvement?  Leave a note!

Enjoy!
:-Dustin

Wednesday, January 11, 2012

Introducing the Ken Burns Effect in Pictor's Slideshow

I'm a big fan of documentaries.  Especially Ken Burns documentaries.  The National Parks, Jazz, Baseball,  Huey Long -- I love them all!

Ken Burns is particularly famous for a special effect (known as The Ken Burns Effect) of zooming and panning across still pictures.  It's both brilliant and beautiful.

I recently came across an implementation of The Ken Burns Effect written in Javascript, by Will McGugan, introduced in his blog here:
I contacted Will and he was gracious enough to put an AGPL header on his source and I have added it to Pictor.  Now, if you click on the screensaver link on a Pictor picture page, you can cycle through your album in order and your pictures are panned and zoomed like a Ken Burns documentary!

All you need to do is:
  1. Install Pictor
    sudo apt-get install pictor
  2. Symbolically link some albums into /usr/share/pictor/pictures
    sudo ln -sf $HOME/Pictures /usr/share/pictor/pictures
  3. Point a browser to your server's pictor instance
    http://localhost/pictor
  4. Click on an album, click on a picture, and then click screensaver, as below:

Will released his code here as kenburns-1.0.0.zip, which I was thinking of packaging for Ubuntu (rather than statically including it in Pictor).  Would that be useful to anyone else?

:-Dustin

Introducing New Branding and Logos for eCryptfs


The time I have spent around Ubuntu has given me a deep appreciation for the finer points of design, branding, themes, and artwork around software development and user interfaces.  From Ubuntu's elegant color schemes and meticulously kerned fonts, to the careful placement and balance of Ubuntu's logos and Canonical's brandmarks, Ubuntu exudes an exquisite level of polish and professionalism, particularly among free software projects.

With this as a backdrop, I have long wanted to refresh and modernize the logos and branding associated with eCryptfs, as an upstream open source project.  For over six years, the eCryptfs logo has been an ever-so-trite yellow key overlayed on top of a pie chart.


Yawn :-o  I'm pretty sure that "logo" was pulled off of a slide deck for IBM management, when Michael Halcrow and Emily Ratliff originally presented the idea of eCryptfs back in 2004.

So I pitched this idea to my new employer, Gazzang, who, as it turns out, has considerable interest in a healthy eCryptfs community, as it forms the basis for several of our cloud encryption products.  Our CEO, Larry, was thrilled by the idea, and gave Heidi (our director of marketing) financial approval to commission the new art from a professional graphic designer.

We felt that eCryptfs, as an active and vibrant open source project, deserved a logo and a mascot that reflects just that.  Everyone uses a lock or a key to represent encryption, so we thought we'd do something different.  We decided we wanted a stylized animal, in the spirit of Linux's Tux, BSD's Daemon, OpenBSD's Puffy, and of course Ubuntu's every growing zoo!

We settled on the honey badger (Mellivora capensis), inspired by its thick skin and ferocious defensive traits, much as eCryptfs adamantly defends your data against even the most determined attackers (honey badger don't care!)  We are, of course, also saluting the running honey badger Internet meme  :-)

 And the font is modern, crisp, clean, and perhaps a little "techy" even.  The "fs" is highlighted, to note the relationship to the filesystem, as well as help demonstrate the pronunciation of the word -- "ecrypt" and then "fs".


Gazzang has contributed all of this artwork to the eCryptfs project under the Creative Commons CC BY-SA 3.0 license.  We hope you enjoy it as much as we do :-)  Let us know what you think!

Now there is one piece we're still missing.  We don't yet have a name for our snarling cryptographic honey badger.  So we're putting it out to you...  Suggestions?  Drop us a comment below!

:-Dustin

Tuesday, January 10, 2012

Gmail and GPG in Chromium, with cr-gpg!

Once upon a time, I used FireGPG to sign, encrypt, decrypt, and check GPG and PGP messages in Gmail. Sadly, FireGPG eventually withered away, dropping support for Gmail altogether.  Encrypted, authenticated email messaging is very important to me in some specific situations, and for those, I've been using Gmail, but then copying and pasting the data manually back and forth to a command line, and using GPG by hand.

However, I have been extremely excited to see the cr-gpg plugin for Chromium coming along very rapidly, and finally re-enabling email encryption for Gmail!  The plugin is still in an Alpha state, but I've reported a few bugs here, and worked with the developers and helped test others.

I'm pleased to say that I'm now using cr-gpg on a daily basis for encryption/decryption with:

Signature verification is still a little broken in a couple of scenarios, but I've reported these bugs upstream and they're actively being worked.

Here's a couple of screen shots of it in action, first decrypting a message, then encrypting one.







Enjoy,
:-Dustin

Monday, January 9, 2012

Ubuntu Quick Installation Preseed Link Updated!




priority=critical locale=en_US url=http://bit.ly/uinstall


I've maintained for some time now a preseed file (previously called "uquick") that you can use with your Ubuntu Server and Alternate ISO boot options, to quickly and automatically install an Ubuntu server.

That url (http://bit.ly/uquick), has been broken for a month or so since I've left Canonical and all my people.canonical.com/~kirkland/* pages have been purged.

I've actually set up a new bit.ly link at http://bit.ly/uinstall.  This is hosted on a Google Sites page that I own, so I'll be able to maintain it there permanently.  Note that the source is actually under bzr revision control under lp:bikeshed here.

So now, you can boot an Ubuntu Server ISO, press F6 for Other Options, and append the following::

local=en_US priority=critical url=http://bit.ly/uinstall

Enjoy!
:-Dustin

Sunday, January 8, 2012

Gazzang Bang!

With my friends and former colleagues sprinting in Budapest at Ubuntu's Distro Rally, I already miss our nightly Ubuntu All-Stars jam sessions :-(  It was always such a great outlet for creativity and right-brain activity, after long days devoted to left-brain engineering work.  I think some of my best memories over the last four years are jamming with Tony, Pete, Amber, Jorge, Matt, Hugh, Luke, Jono, Barry, and countless others!

Searching for some of the same camaraderie and revelry, we at Gazzang have formed our own band -- Gazzang Bang!  And remarkably, we actually got a byline of press coverage and a band portrait in our local Austin American Statesman newspaper this weekend!  The article was actually about the background of some of the funny/silly/unusual names of current Austin tech start-ups, of which Gazzang was one (along with Infochimps, Springbox, and UShip).

As you can see, we're a little drum-heavy at the moment (hence, the Bang part of the name).  However, we do have a few job openings in Austin, Texas, (Senior Security Software Engineer, Director of Information Security) -- special preference given to keyboardists and vocalists! ;-)



:-Dustin

Friday, January 6, 2012

Gazzang officially an AWS Solution Provider!



Gazzang is now an officially Amazon Web Services (AWS) Solution Provider!  I'm quite excited about this, as our information security and data encryption products are such a great match for the cloud, where you don't actually have physical control over where and how your data gets written to disk.  Encryption is absolutely essential here.

Seriously...if you or your organization is using AWS and storing sensitive data of any kind in a MySQL or PostgreSQL (especially on the rockin' Ubuntu Server), you should really take a close look at Gazzang's ezNcrypt for Databases.  I've recently showed how its possible, though complex, to use eCryptfs and setup Encrypted Home Directories on EC2.  But if you're looking for something completely seamless, and turn-key for transparently encrypting all or some of your databases, ezNcrypt is just that.

Cheers,
:-Dustin