From the Canyon Edge -- :-Dustin

Thursday, September 30, 2010

Seven Reasons to Deploy Your Enterprise Cloud on Ubuntu

Howdy all!

In case you missed my live webcast about the Ubuntu Enterprise Cloud this morning, it's now available in the Intel Cloud Builder archive at:
Note that there is a Linux-friendly Flash option now, which is actually brand new for the Cloud Builder series ;-) Yep, we helped Intel get this tested and working just for you, our Ubuntu users!


Tuesday, September 28, 2010

Seven Reasons to Deploy Your Enterprise Cloud on Ubuntu OS (Webcast I'm giving at

I'm giving a live webcast on Thursday, September 30, 2010 at 7:30am US Pacific time on, through Intel's CloudBuilder program, where Canonical and Intel partnered to produce a whitepaper about the Ubuntu Enterprise Cloud.

The title and abstract:
Seven Reasons to Deploy Your Enterprise Cloud on Ubuntu OS

Join Canonical and Intel for a lively discussion on Canonical's Ubuntu OS, a key enabling technology for Enterprise Clouds. Learn how Ubuntu Enterprise Cloud implementations address Amazon EC2 compatibility, public/private cloud interoperability, Intel Virtualization Technology and more. Ask a question of our experts and gain insights that will guide your own cloud deployment.
To attend, go to:
Hope to see you there!


Monday, September 27, 2010

LinuxMag: Byobu #2 of 10 Essential Linux Admin Tools

Ken Hess of Linux Magazine names Byobu #2 of 10 essential Linux admin tools:

The article is a good, quick read, and I'm quite proud of Byobu considering its company on that list, among webmin, tcpdump, nagios, and vnc.


Wednesday, September 15, 2010

My First Year of Solar Power

I've posted a few times now about the 6.7KW photo-voltaic (solar) power system we have on our roof in Austin, Texas. It was activated one year ago, today.

Many, many people ask me about it. It has been operational for about a year, so I can finally analyze it's performance each month out of the year. This is important because the energy produce depends greatly on the position of the sun in the sky, the length of the days, and the weather. Different amounts of power are produced at different times.

I'm currently using Curt Blank's aurora program to gather data from my inverter. I have packaged this for Ubuntu, by the way. You can find it in Ubuntu 10.04 and beyond.

My current inverter reading as of today looks like this:
Current date/time: 15-Sep-2010 11:30:02

Daily Energy = 7.314 KWh
Weekly Energy = 91.434 KWh
Monthly Energy = 366.448 KWh
Yearly Energy = 7123.188 KWh
Total Energy = 9433.281 KWh
Partial Energy = 1537.161 KWh

Current date/time: 15-Sep-2010 11:30:05

Input 1 Voltage = 244.048767 V
Input 1 Current = 9.157255 A
Input 1 Power = 2234.816895 W

Input 2 Voltage = 255.783203 V
Input 2 Current = 3.767791 A
Input 2 Power = 963.737732 W

Grid Voltage Reading = 239.640839 V
Grid Current Reading = 12.036012 A
Grid Power Reading = 3196.468750 W
Frequency Reading = 59.966419 Hz.

DC/AC Coversion Efficiency = 99.9 %
Inverter Temperature = 54.750835 C
Booster Temperature = 49.749878 C

The most important number above (for this post) is:

Total Energy = 9433.281 KWh

In the last 365 days, this system has produced 9.4 Megawatt-hours of power.

What does this mean in terms of cost savings? Roughly, I know that electricity in Austin is about $0.115/KWh, so that's approximately $1,085 in savings on my electric bill. The real formula is actually a far more complicated differential equation, as I buy and sell electricity at two different rates, the rates change slightly every month, etc. But this is a reasonable ballpark figure.

Austin Energy actually has a web application where I can view and analyze my usage online. Here's a screenshot of my last 2 year's usage. Note the "Solar kWh" row, as well as the year-to-year difference in "$ Billed".

I can also download these stats in a CSV format, drop it into a spreadsheet and print some pretty cool charts. Analyzing the data directly, I can see that my solar investment has saved me exactly $1,210.71 over the last 12 months -- about $100/month, which is what I expected when I purchased the system.

Accounting for both the Austin Energy PV Rebate, and the Federal Tax Credit, our system is well on its way to paying itself off in just a few short years.

Once again, thanks to the outstanding individuals at Texas Solar Power Company in Austin for their outstanding service and timely installation.

As George Harrison wrote, "Here comes the sun!"

Doo do doo doo,

Java isn't Evil, but it's not for Me

First off, I apologize. In my last post, I called Java "evil". That's not fair, and several people called me out in the comments. The post has been updated to drop the "evils of Java" verbiage.

My statement was a reference to the humorous-though-irreverent Call of Codethulhu.

It's a personal taste issue. I dislike writing Java, packaging Java programs, chasing down Java dependencies, and even reading Java code. There's nothing necessarily "evil" about it. I have declined job offers that require work to be exclusively performed in Java. I just don't like being around Java and really dislike some of the habits it encourages.

Before I started my University work, I had extensive programming experience in Basic, Pascal, C, and C++ as an ambitious (dorky?) high school kid. The "Intro to Computer Programming" class most Computer Science freshman at my University took was based in Java. And at that time, they were being taught on Windows computers.

I found it very disappointing that a more UNIX/C approach was not used to introduce most of my college freshmen computer science classmates to programming. The approach nursed bad habits, and many programming fundamentals were missed, in my opinion.

A few years later, while working at IBM, I again landed on a series of projects where Java was king. And once again, I found some of these Java programmers lazy in their approach, and bloat-ware abounded. 2GB of memory were required to run simple services that should run in a few MB. Do-one-thing-and-do-it-well was no where to be found And finally, write-once-run-anywhere couldn't have been further from the truth.

I exited myself from the Java world, once again, choosing C, Python, Perl, PHP, and Shell for the projects I initiated and maintain. I'm able to use sound object oriented practices (in Python, Perl, and PHP), and able to honor to the principles of UNIX (with C and Shell).

Occasionally, I'm required to deal with Java when maintaining or packaging something for Ubuntu. I generally start from scratch, trying to have an open mind, but within minutes or hours, my skin starts to boil and steam flows out of my ears. I find over-engineered code in the source, binary JARs lumped within other projects out of laziness, and memory requirements that are simply staggering for the goal of the program.

Sorry, that's not for me.

Still, thanks for keeping me honest, making me explain myself, and pruning the potentially offensive language out of the other post.


Learning to Wink, Learning to Code

My wife, Kim, isn't a hacker.

She's a kindergarten teacher. She likes to crochet, and she's pulling a needle and thread through some embroidery on the couch next to me right now.

And this is why I nearly choked on my tortilla chips at the Red Iguana in Salt Lake City a few days ago when she asked me, "When you say you're coding, what are you actually doing?", soon followed by, "So why do you hate on Java so much?"

Kim wasn't asking just to wind me up or kill time -- she was genuinely curious about my work, perhaps for the first time. Fortunately, we had a 3+ hour drive after dinner that night. In the passenger seat, she cracked open her Lenovo S10-2 netbook running Ubuntu 10.04 and wrote hello world in 5 different languages: C, Perl, Python, Shell, and Java. Kim particularly liked how Gedit color coded her syntax.

We worked through the difference between compiled and interpreted languages. Unsurprisingly, she found Perl, Python, and Shell straightforward, and C slightly more complicated.

Her favorite language after 30 minutes of experimentation was Shell, so we decided to try something slightly more interesting: input and output. Here's what she came up with:
echo "what is your favorite color?"
color=$(head -n1)
echo "oh, $color is my favorite too"
Kim finally asked, "What is this Byobu thing you're always talking about?" Yep, I lit up like a light again. So I demonstrated Byobu for her, and she took to the status notifications at the bottom of the screen.

She suggested creating a plug in that would remind me to take a break from work periodically and have dinner :-) We shelved that one for now, and instead, she made a plug in that "winks" every few seconds. Here's her code:

if [ -f /tmp/wink ]; then
echo ":)"
rm /tmp/wink
echo ";)"
touch /tmp/wink
She made it executable with:
chmod +x /home/kim/.byobu/bin/2_wink
And a few seconds later, Byobu is winking at her!

I'm extremely proud of Kim's keen curiosity about my work, and particularly her follow-through . I'm not sure I'll be crocheting a doily any time soon, but I am running her winky face notification in Byobu. It reminds me what a lucky guy I am. ;-)