From the Canyon Edge -- :-Dustin

Saturday, November 30, 2013

Its Go Time -- Kirkland 13.11 LTS Released!


AUSTIN, Texas -- Kirkland Family Life Enterprises are proud to announce the eagerly anticipated release of the second product of its generation -- Kirkland 13.11 Ultra LTS (code name: Corinne).

Chief Architect and Lead Developer Kimberly Kirkland (code name: Mommy) delivered another perfect new child process at 10:40pm on November 18th, 2013 -- four days slightly behind schedule this time.  As with previous projects, the development team labored through a very long workday, having begun the release procedures with an all-day Sprint that kicked off around 7am that morning.

Senior Product Manager and Community Coordinator Dustin Kirkland (code name: Daddy) multi-tasked a stream of procurement and support requests, and helped ensure an agile delivery.  He tagged each milestone with snapshots, offering encouragement throughout each task.  Kim and Dustin were assisted by an expert team of support engineers, Stephanie Carter (code name: Nanny) and Gerri Gros (code name: Mimi), who joined them on-site for the final QA and the initial release party.  Dustin wore an Golang Gopher t-shirt for the duration of the sprint, with Kim noting that the cute gopher face made her smile any time the going got tough.


Corinne 13.11 is an "Ultra" Long Term Support release, with first class expert support for at least 18 years.  She is already showing tremendous input/output capabilities and impressive throughput I/O performance.  A contract technician confirmed that her dual-channel stereo input is in good working order, and that her analog output volume, while still a bit inarticulate and compressed, is quite audible.  "We're so delighted to meet her!," says Kimberly, exhausted but joyful.  Kim sheds a tear, "We just couldn't be happier!"


Complete release notes do state that Corinne is currently prone to frequent, spontaneous reboots and random periods of inactivity.  Fortunately, her init and shutdown sequences are quite efficient.  Kim and Dustin shared the design responsibilities for Corinne's look and feel.  They seem to have done quite an elegant job, having achieved fine unity around her outer shell.  And she has a simply gorgeous greeter!  While they some experience at this point, Dustin and Kim were a bit out of practice and are still getting used to the young interface.  They do have quite a bit more debugging experience with various sleep states, and suspend/resume features.  Continuous integration is essential to a smooth running product!

"I'm just loving every second of uptime!" says Dustin, while dealing with an unexpected core dump on the system console.  "We've been looking forward to this package import for quite some time."

Corinne is currently in a limited-release mode, with access only granted to a few statically linked associates.   But in another 6 weeks or so, she's expected to make her first GA appearances, with a formal release party still to be held.

Corinne did meet her elder sister release, Camille, and these two will certainly be constant companions!

While Kirkland Family Life Enterprises are evolving quickly, their trajectory looks impressive, as we confirmed with Board of Directors chairmen Allen Kirkland (code name: Paw Paw) and Robert Gros (code name: Bob).  "We're just delighted with our venture investments and they continue to have our complete backing!" claims the chairmen.  Technical Advisers Donna Kirkland (code name: Gran) and Gerri Gros (code name: Mimi) said, "What an excellent team, and a fine family of products!"

Asked if there's a 3.0 update in the works, Dustin, wearing his VP Product hat, shrugged and noted that they still have plenty of development to do on their current two products.  "Let's work on maturing our 1.0 and 2.0 with stable release updates before we start talking about a whole new product line!  We're not on a time-based release schedule, so just ask me again in a year or two."



:-Dustin

Monday, November 18, 2013

Is privacy really yours?



I'm trying desperately to hold private my opinions about the latest revelations on the ways and means of modern espionage, its targets, and rationalizations.

But I find this logic, from Congressman Mike Rogers, Chairman of the House Intelligence committee, quite dangerous...

He says, and I quote:
"You can't have your privacy violated if you don't know your privacy is violated".
While the United States laws on privacy are complicated, I feel that this is so awfully wrong :-(

Criminal voyeurism is illegal.  Date rape is illegal.  This is not a thought experiment.  If a tree falls in the forest, there is a tree on the ground irrespective of its audiology.

Comprehend Congressman Rogers' same logic applied to Rohypnol.  Or a video camera hidden in a dressing room.  These are blatant crimes, whether or not the victims are aware of the violations of their privacy.

This recent TED talk, by Mikko Hypponen, is incredibly thought provoking.  Chillingly, he quips, "Orwell was an optimist".  Yikes.  On a happier note, I'm almost positive his slides in this talk use the Ubuntu font.  Presumably he delivered this presentation in Brussells from an Ubuntu PC?




Dustin

Saturday, November 16, 2013

The Juke

I do hereby nominate this move as the greatest juke in the history of the football quarterback.

November 9, 2013 at Kyle Field, Texas A&M vs. Mississippi State
For the record, Johnny Football completes a 26 yard pass on the play.  After scrambling a bit more.  Too much to fit in a single animated gif.  Wow.

Friday, November 15, 2013

Review: Ubuntu and an Intel NUC

Last week, I posed a question on Google+, looking for suggestions on a minimal physical format, x86 machine.  I was looking for something like a Raspberry Pi (of which I already have one), but really it had to be x86.

I was aware of a few options out there, but I was very fortunately introduced to one spectacular little box...the Intel NUC!

The unboxing experience is nothing short of pure marketing genius!


The "NUC" stands for Intel's Next Unit of Computing.  It's a compact little device, that ships barebones.  You need to add DDR3 memory (up to 16GB), an mSATA hard drive (if you want to boot locally), and an mSATA WiFi card (if you want wireless networking).

The physical form factor of all models is identical:

  • 4.6" x 4.4" x 1.6"
  • 11.7cm x 11.2cm x 4.1cm

There are 3 different processor options:


And there are three different peripheral setups:

  • HDMI 1.4a (x2) + USB 2.0 (x3) + Gigabit ethernet
  • HDMI 1.4a (x1) + Thunderbolt supporting DisplayPort 1.1a (x1) + USB 2.0 (x3)
  • HDMI 1.4a (x1) + Mini DisplayPort 1.1a (x2) + USB 2.0 (x2); USB 3.0 (x1)
I ended up buying 3 of these last week, and reworked my audio/video and baby monitoring setup in the house last week.  I bought 2 of these (i3 + Ethernet) , and 1 of these (i3 + Thunderbolt)

Quite simply, I couldn't be happier with these little devices!

I used one of these to replace the dedicated audio/video PC (an x201 Thinkpad) hooked up in my theater.  The x201 was a beefy machine, with plenty of CPU and video capability.  But it was pretty bulky, rather noisy, and drew too much power.

And the other two are Baby-buntu baby monitors, as previously blogged here, replacing a real piece-of-crap Lenovo Q100 (Atom + SiS307DV and all the horror maligned with that sick chip set).

All 3 are now running Ubuntu 13.10, spectacularly I might add!  All of the hardware cooperated perfectly.




Here are the two views that I really wanted Amazon to show me, as I was buying the device...what the inside looks like!  You can see two mSATA ports and red/black WiFi antenna leads on the left, and two DDR3 slots on the right.


On the left, you can now see a 24GB mSATA SSD, and beneath it (not visible) is an Intel Centrino Advanced-N 6235 WiFi adapter.  On the right, I have two 8GB DDR3 memory modules.

Note, to get wireless working properly I did have to:

echo "options iwlwifi 11n_disable=1" | sudo tee -a /etc/modprobe.d/iwlwifi.conf


The BIOS is really super fancy :-)  There's a mouse and everything.  I made a few minor tweaks, to the boot order, assigned 512MB of memory to the display adapter, and configured it to power itself back on at any power loss.


Speaking of power, it sustains about 10 watts of power, at idle, which costs me about $11/year in electricity.


Some of you might be interested in some rough disk IO statistics...

kirkland@living:~⟫ sudo hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   11306 MB in  2.00 seconds = 5657.65 MB/sec
 Timing buffered disk reads: 1478 MB in  3.00 seconds = 492.32 MB/sec

And the lshw output...

    description: Desktop Computer
    product: (To be filled by O.E.M.)
    width: 64 bits
    capabilities: smbios-2.7 dmi-2.7 vsyscall32
    configuration: boot=normal chassis=desktop family=To be filled by O.E.M. sku=To be filled by O.E.M. uuid=[redacted]
  *-core
       description: Motherboard
       product: D33217CK
       vendor: Intel Corporation
       physical id: 0
       version: G76541-300
       serial: [redacted]
     *-firmware
          description: BIOS
          vendor: Intel Corp.
          physical id: 0
          version: GKPPT10H.86A.0025.2012.1011.1534
          date: 10/11/2012
          size: 64KiB
          capacity: 6336KiB
          capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
     *-cache:0
             width: 32 bits
             clock: 66MHz
             capabilities: storage msi pm ahci_1.0 bus_master cap_list
             configuration: driver=ahci latency=0
             resources: irq:40 ioport:f0b0(size=8) ioport:f0a0(size=4) ioport:f090(size=8) ioport:f080(size=4) ioport:f060(size=32) memory:f6906000-f69067ff
        *-serial UNCLAIMED
             description: SMBus
             product: 7 Series/C210 Series Chipset Family SMBus Controller
             vendor: Intel Corporation
             physical id: 1f.3
             bus info: pci@0000:00:1f.3
             version: 04
             width: 64 bits
             clock: 33MHz
             configuration: latency=0
             resources: memory:f6905000-f69050ff ioport:f040(size=32)
     *-scsi
          physical id: 1
          logical name: scsi0
          capabilities: emulated
        *-disk
             description: ATA Disk
             product: BP4 mSATA SSD
             physical id: 0.0.0
             bus info: scsi@0:0.0.0
             logical name: /dev/sda
             version: S8FM
             serial: [redacted]
             size: 29GiB (32GB)
             capabilities: gpt-1.00 partitioned partitioned:gpt
             configuration: ansiversion=5 guid=be0ab026-45c1-4bd5-a023-1182fe75194e sectorsize=512
           *-volume:0
                description: Windows FAT volume
                vendor: mkdosfs
                physical id: 1
                bus info: scsi@0:0.0.0,1
                logical name: /dev/sda1
                logical name: /boot/efi
                version: FAT32
                serial: 2252-bc3f
                size: 486MiB
                capacity: 486MiB
                capabilities: boot fat initialized
                configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro state=mounted
           *-volume:1
                description: EXT4 volume
                vendor: Linux
                physical id: 2
                bus info: scsi@0:0.0.0,2
                logical name: /dev/sda2
                logical name: /
                version: 1.0
                serial: [redacted]
                size: 25GiB
                capabilities: journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized
                configuration: created=2013-11-06 13:01:57 filesystem=ext4 lastmountpoint=/ modified=2013-11-12 15:38:33 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,data=ordered mounted=2013-11-12 15:38:33 state=mounted
           *-volume:2
                description: Linux swap volume
                vendor: Linux
                physical id: 3
                bus info: scsi@0:0.0.0,3
                logical name: /dev/sda3
                version: 1
                serial: [redacted]
                size: 3994MiB
                capacity: 3994MiB
                capabilities: nofs swap initialized
                configuration: filesystem=swap pagesize=4095

It also supports: virtualization technology, S3/S4/S5 sleep states, Wake-on-LAN, and PXE boot.  Sadly, it does not support IPMI :-(

Finally, it's worth noting that I bought the model with the i3 for a specific purpose...  These three machines all have full virtualization capabilities (KVM).  Which means these little boxes, with their dual-core hyper-threaded CPUs and 16GB of RAM are about to become Nova compute nodes in my local OpenStack cluster ;-)  That will be a separate blog post ;-)

Dustin

Thursday, November 7, 2013

Byobu's Ubuntu Color Scheme for Manpages and Grep

I've been trying to bring Ubuntu's beautiful color palette to the command line through Byobu, starting with the command prompt, by defining a new $PS1 value.

As of Byobu 5.63 (in Trusty now, or in the Byobu PPA for other Ubuntu releases), we now have an Ubuntu theme for less, the default interface for reading manpages at a command line, as well as grep.

Double bright mode is defined to a lighter shade of Ubuntu orange, standout mode is either background Ubuntu orange or italics (depending on your terminfo), and underline mode is a lighter shade of aubergine.

Grep highlights matches in an Ubuntu orange.  A special thanks to goes to Nick Moffit for that one, who is quite proudly not a Byobu user :-)

Here are some screenshots of Gnome Terminal with a few of the default color profiles.  Enjoy!






:-Dustin

Wednesday, October 30, 2013

My Linux Rigs

Steven Ovadia graciously invited me to participate in his collection of Linux desktops surveyed in his blog, My Linux Rig...  My answers to his interview are cross-posted on both his site and mine.  Enjoy!

1. Who are you, and what do you do?

My name is Dustin Kirkland.

I work for Mark Shuttleworth at Canonical, as a Product Manager on the Ubuntu Cloud, building enterprise solutions and server products on top of Ubuntu.  My work on open source software at Canonical often spills over into my nights and weekends, developing free software for fun as well. I have authored, and continue to maintain over two dozen open source projects, including Byobu, eCryptfs, among others.

2. Why do you use Linux?

I have been using Linux since 1997, when I was in college at Texas A&M University.  For one Computer Science class, I was "required" to buy a Zip Drive, which could hold 100MB on a special (i.e. expensive) proprietary disk cartridge.  This seemed like an absolutely awful solution to the problem of carrying data from one place to another (and Dropbox wouldn't be invented for another 11 years).

I negotiated with that professor to let me use a web server on the Internet for uploading and downloading my assignments.  So I bought a few hundred MBs from a web host in 1997.  When I received my credentials, I quickly realized that I would need an SSH client and that I would have to learn Red Hat Linux.  So I bought a book and immediately fell in love!

I used Red Hat Linux until Fedora was released, running that until 2006 when I first installed Ubuntu.  My wife was an elementary school teacher at the time, and I installed Edubuntu on a couple of perfectly-working-but-old computers that her school had basically thrown away :-(  I rescued them out of the trash, and installed Ubuntu 6.06 LTS (Dapper Drake).  Days later, I installed MythTV on Ubuntu on several machines I had throughout the house, and I was smitten.  I never really returned to Red Hat based system.  Almost everything in Ubuntu just worked, and where it didn't, there was an abundance of quality documentation.

Professionally, I worked at IBM in Tivoli and the Linux Technology Center in Austin, TX from 2000-2007, on various aspects of Linux security and certifications.  I also spent most of 2005 working for IBM on-site at Red Hat in Westford, MA, making some excellent friends and helping enable RHEL on PowerPC.  In 2008, I started working at Canonical, as one of the early developers building the Ubuntu server and virtualization platform.

We run Linux almost exclusively in the Kirkland house.  Looking at my dd-wrt router for static IP leases, I can count over 40 active Linux devices currently drawing IP addresses!  A couple of laptops (Ubuntu, ChromeOS), desktops (Ubuntu), routers (dd-wrt), TVs, PS3's, phones (Android, Ubuntu Touch), tablets (Android, Ubuntu Touch), Kindles, a Chumby, a Raspberry Pi, Synology NAS, etc.  I do have one Mac Mini running OS X, for a few apps that have no viable workaround on Linux (mostly crappy teleconference software used by Windows/Mac users).

Across the board, Linux has given me the power and flexibility I expect out of computing systems, for nearly two decades.  And what's most amazing is that it just keeps getting better!

3. What distribution do you run on your main desktop/laptop?

Ubuntu.  I am an Ubuntu Core Developer, and I tend to run the development (bleeding edge) Ubuntu Desktop and Server (in virtual machines and containers).

4. What desktop environment do you use and why do you use it?

Unity.  I use Unity mostly in the interest of dog-fooding the default Ubuntu setup.  Frankly, I have very little need of a desktop environment.  Unity works fine for me.  Though so does Gnome, KDE, XFCE, etc.

Basically, I need a browser (Chromium), an IRC client (xchat2), a terminal (gnome-terminal), and my desktop manager to stay out of my way :-)

5. What one piece of software do you depend upon with this distribution? Why is it so important?

Byobu.

I use Byobu all day, every day.  I usually run Byobu in a gnome-terminal, maximized on a 1920x1080 Samsung 40" LCD.  I then use splits (Shift-F2, Ctrl-F2) to carve up my terminal into smaller panes.  Some horizontal (builds or something with lots of scrolling output), some vertical (side-by-side code review), some combinations (dev + test + monitoring) -- whatever makes sense for my current task.  I use the keyboard to navigate around those splits (Shift-Up/Down/Left/Right).  Sometimes I'll create a new window (F2), if I want to background some work in a separate window, with its own splits.  If I need to SSH to a remote system, I open a new tab in gnome-terminal (Shift-Ctrl-t), and attach to a remote Byobu session, where perhaps I've left some other work running in the background.  I use Byobu's status line at the bottom to monitor what machine I'm on, it's distro and version, an updates that are available, uptime count, CPU speed and temperature, battery level, WiFi signal, system load, memory usage, hostname/IP address, and the time/date.  Byobu adds hours of productivity to my work week, every week :-)

6. What kind of hardware do you run this setup on?

I currently use a Thinkpad x230 with a dual-core hyper-threaded i7, 16GB of RAM, 240GB Intel SSD, 9-cell battery.

I absolutely love the 12" form factor, as it's nice an compact for traveling while still offering beast mode CPU/Memory.  The 9-cell battery gives me 8+ hours of up time.  I tend to replace my primary laptop on a yearly basis and sell my gently used model on CraigsList, or give it to a family member.

When I'm not traveling or working from my front/back porch, I keep it in a docking station, attached to a 40" Samsung LCD (primary monitor) and a 23" Samsung LCD (secondary monitor), a Logitech c920 web cam, Klipsch THX 2.1 speakers, gigabit Ethernet, a Simtec entropy key, a Yubikey multi-factor auth, and a Thinkpad USB keyboard.

I have used Thinkpads since about 2000, and I'm generally a pretty big fan.  I simply cannot live without "the dot".  I might consider an HP or Dell laptop sometime, but it absolutely must have a Track point, as I like to keep my fingers on the keyboard, in the home position, and still have access to the cursor.  I disable touch pads with a vengeance, and then curse the engineers who continue to embed them in laptops :-)

7. Will you share a screenshot of your desktop?

Sure.  I usually run my browser/terminal/IRC maximized in the 40" monitor on the left, and use the 23" monitor on the right only when using Skype or G+ Hangouts.  The background is just the stock Ubuntu background.  No icons on my desktop.  Ever, ever, ever.


Cheers!
:-Dustin

Wednesday, October 23, 2013

Nespresso Colors Decoded! PDF Cheat Sheet Here...

Like any good programmer, I drink a lot of coffee.

And like any well-cultured techie, I particularly love espresso :-)

I've been brewing my own espresso using a Bialetti stove top coffee maker for most of two decades.  Particularly on Sunday mornings, I enjoy the deliberate process of grinding fresh beans, perfectly packing  the little filter, intently listening for the bubbly, gurgly final moments of an absolutely perfect brew.

But on work days, I just want a damn coffee :-)  Quickly.  Oh, and it's never fun cleaning a stove top espresso maker.  Not even on Sundays.

So earlier this year, I made the switch to a Nespresso Pixie.  Wow.  Perfect espressos, cappuccinos, lattes, americanos, and (my favorite) cortados, every single time.  Less than 2 minutes per cup.  And no mess :-)  At all.  Ever.

The only problem?  A classic paradox of choice!  I suppose the pods are cleverly color-coded, but with 16 different hued options, about all I can remember is that black=strong+bold, and red=decaf.  The 14 others are complete mysteries to me, and I've long since tossed the packaging material that accompanied the original variety pack.

I searched for a Nespresso flavor chart, and the closest thing I found was this flavor wheel chart.  But at 500x414 pixels, the resolution was too low to print legibly.  I couldn't find a higher resolution image anywhere.

So I brewed myself a tall latte, and recreated it from scratch in Google Docs, and I'm sharing it here with you, in as a high resolution PDF and PNG.  Print and post yours next to your vim/emacs/screen/git cheat sheet :-)


Ciao, ciao!
:-Dustin

Printfriendly