Archive for the ‘Uncategorized’ Category

Heavy Metal: A Brief Guide to the Djent Revolution

Wednesday, December 26th, 2012

2012 has been a great year for metal fans, and in particular, for the more mature metal fan.  Maybe you’ve noticed, the headbanging demographic has slowly been changing, as seen best by “That Metal Show”:

There are lots of great metal bands, but a lot of our old favorites fail to really evolve and after decades of rockin’ to Slayer, Megadeth, Pantera, etc, you just need something new, something more evolved, and complex. A critical element of metal is that its stimulating, not just aggressive, and some of the old stand by bands are just too familiar.

Three bands really forged a new era in the evolution of death metal (if you are unfamiliar with the topology of the various metal sub-genres you’ll really enjoy exploring the progression with the Map of Metal), those bands are:

  • Meshuggah
  • Periphery
  • Animals as Leaders

From these bands came an explosive new sub-genre which became known as “Djent”.  Some attributes that define Djenty metal are:

  • Extensive use of palm muting.  This makes typical metal triplets sound very crisp.
  • Unusual timings and song progressions.  This was previously seen in many math-metal bands, and these songs do not follow the horrifically boring old intro-verse-chorus-verse-solo-chorus-chorus-end model.  The unusual timings means that there are lots of rhythmic changes and sudden “left turns” that transform the song quickly, as opposed to the old way of having a single primary riff that you simply play around with for 4-5 minutes. This is similar to Jazz. If you don’t understand what I mean, listen to “Buttersnips” below and see how many times the song changes course in just the first 30-60 seconds.
  • Virtuoso Guitar Playing.  The guitar work in djent is very complex, very layered, and commonly utilizes 8 and 12 string guitars, providing for chord progressions that are incredibly deep and rich.

So lets look at two examples.

First, Animals as Leaders. This band is 100% instrumental. They have draw many jazz guitar fans because they share so many elements of jazz guitar. If you enjoy both hard rock/heavy metal and jazz musicians like Pat Metheny, they are for you:

Second is Periphery. Proof that more guitars means better music. This track, “Buttersnips”, got some air-play and drew a number of people into the genre:

Meshuggah is actually credited with coining the term Djent, but their music is much more bass dominated than other bands that are being looped into the genre and while there are Meshuggah songs I really like, on the whole I’m not a fan. Most “djenty” songs are almost like 4-5 songs in one, because of the twists and turns they take, whereas Mushuggah is much more traditional and linear (on the whole).

Like DevOps, whats important about the word “Djent”, more than its specific meaning, is that it provides a rallying point to explore and find other music and fans. Some other bands that I really enjoy (“djenty ness” may be debated, but I loop them all in):

  • Chimp Spanner: Instrumental, highly recommended for Animals as Leaders fans.
  • Tesseract: I’m less interested in them personally, but they are a pillar of Djent
  • Structures
  • Born of Osiris: Loosely coupled into Djent, but elements are there
  • Textures: Recommended for fans of Kings X
  • Volumes
  • Circles
  • Aliases
  • Benea Reach
  • Extol: An old band that I fell in love with many years ago, but for the same reasons I enjoy the new Djent bands, I own the entire Extol catalog. Check this out to see what I mean, like Djent it keeps morphing, changing, and uses unusual timing to keep it interesting.

Notice a trend in the names? I recommend getting on iTunes, sampling some of the bands above and then exploring what others bought to find new and interesting bands.

Not down with the djenty groove? Other bands that are worth your while, outside the boundaries of Djent, that you should check out if you’ve been away from metal for a while, including:

  • Baroness: I liked the “Blue” and “Red” albums, the new “Yellow & Green” album didn’t do it for me.
  • Chimaira: “The Age of Hell” was an amazing album
  • Gojira: This years “L’enfant suvage” album was amazing
  • Mastodon: Always good and getting better, I love that they have 2 singers which really adds depth. “The Hunter” was a great release, and the fact that they write albums to be listened to all the way by having continuous themes makes them great. “Crack the Skye” was great, “Blood Mountain” was great, but I think “Leviathan” remains my personal favorite

Finally… lets never forgot that “Motorhead” is still rocking hard and hasn’t gotten old yet. “WE ARE MOTORHEAD AND WE PLAY ROCK ‘N ROLL!” Always, Lemmy, always.

iPXE: Now with Native Menus and SmartOS Support

Monday, October 8th, 2012

If you’ve never heard of iPXE, it is the official fork of gPXE, which was the ultimate result of the Etherboot Project of old.  Apparently there was a power struggle that caused the primary contributors to leave Etherboot/gPXE and they renamed gPXE to iPXE to distinguish.  Technically gPXE still exists, but for all intents and purposes its a dead project.

If you are completely unfamiliar with both iPXE and gPXE let me summarize.  The industry standard way to network boot is via PXE.  A PXE client is burned into the ROM of your NIC, but because it has to fit in a tight space it is very dumb.  iPXE is an open source PXE client that is modern and very intelligent.  It can execute scripts, it can inspect the system interfaces and SMBIOS, it can download images and scripts via HTTP, FTP, NFS, and more, it has SAN support for booting off of AoE, FCoE, and iSCSI, etc.  It can be used in several ways, including burned into your NIC’s ROM as a replacement (uncommon), booted from USB/ISO/etc media, or most typically it is itself PXE booted such that your dumb PXE client in your NIC boots to iPXE and it then does all the heavy lifting.  If you are doing any type of network booting you should know what iPXE is and if you ever want to do anything fancy, iPXE is the way to do it.  One example many of us like to use is creating an iPXE script which calls out to a web app (PHP commonly) which looks up information from SMBIOS (such as serial number, service tag, MAC address, etc.) and interfaces with a database to make decisions on which image to boot.  You can do lots of fun things.  Most of your next-gen bare metal provisioning tools, such as Razor, rely on iPXE.

There are two really exciting things for me, just added in the last couple months.  The first and most basic is that SmartOS boots natively from iPXE.  In the past, primarily with OpenSolaris, you had to chainload PXEGRUB to boot Solaris, but it looks like some patches were accepted and now you can dump GRUB completely.

The other existing development is the addition of native menus in iPXE.  Historically, if you wanted to create a versatile netboot server you would use iPXE/gPXE to  chainload SYSLINUX’s menu.c32 program which would render your boot selection menu and boot your selected OS.  But no more!  iPXE can do it all on its own now thanks to the addition of 3 commands to iPXE: menu, item, and choose.  With these new commands and liberal use of “goto” labels you can create some extremely complex and powerful setups with no other helper programs in the way.

Lets take a look at a simple menu:

#!gpxe

######## MAIN MENU ###################
:start
menu Welcome to iPXE's Boot Menu
item
item smartos    Boot SmartOS
item
item shell      Enter iPXE shell
item reboot     Reboot
item
item exit       Exit (boot local disk)
choose --default smartos --timeout 60000 target && goto ${target}

## Utility menu items:
:shell
echo Type exit to get the back to the menu
shell
set menu-timeout 0
goto start

:failed
echo Booting failed, dropping to shell
goto shell

:reboot
reboot

:exit
exit

########## MENU ITEMS #######################
:sdc
kernel /sdc/20121001T165806Z/platform/i86pc/kernel/amd64/unix -B hostname=r720test,standalone=true
initrd /sdc/20121001T165806Z/platform/i86pc/amd64/boot_archive
boot

:smartos
kernel /smartos/20121004T212912Z/platform/i86pc/kernel/amd64/unix
initrd /smartos/20121004T212912Z/platform/i86pc/amd64/boot_archive
boot

You can see here that the “menu” command declares a menu with a title. The elements are items with a label and description (you can assign hot keys as well) and an item with no value is an empty line, and you can use the “–gap –” argument to create section headers, in the form “item –gap — —–SmartOS——-”. Finally, the choose command puts your selection into a named variable and also allows you to specify a default selection and timeout specified in milliseconds. Just about everything else is handled by the “goto” command and labels sprinkled throughout the script. Most importantly, we use the value obtained by the choose command to “goto” the label with the commands to boot the given OS. You can also have multiple menus, one which goes to the other and back, by being creative.

When you couple all this together, you get an iPXE that is more powerful than ever before and extremely exciting.

I’ve taken this opportunity to update the SmartOS Documentation for PXE booting,  using iPXE directly as above is now the officially recommended way to netboot.

A Return to Linux on the Workstation

Thursday, September 20th, 2012

In my day to day work I rely on two systems, a MacBook Pro and a custom built PC workstation. My Mac is used for all my travel needs and communications (email, Jabber, Skype, etc). All my “real work” is done on the workstation which I refresh to the latest and greatest every 3-4 years, run dual headed, etc. Up until about 30 days ago my primary workstation ran some variety of Solaris for nearly 10 years, starting with Solaris 9 when X86 became viable on X86, then OpenSolaris and the various Solaris Express releases and finally Solaris 11 Beta. It was one month ago today that I finally re-installed it with Ubuntu, returning me to Linux officially. Times are a’ changin’… so I thought I’d share the tale of my long experience and the events that brought me back to Linux on the desktop.

As I stated in a recent talk, and then was humored to see quoted on Twitter a couple times since, I never really intended to run a “Solaris Desktop”. I didn’t want a desktop, rather I wanted a server on my desk. Building a desktop operating system is really hard, it involves supporting all manner of new and strange hardware. Its hard enough on desktop PCs but its absolutely redicuous when you consider all the variations of laptops. On my workstation I always installed a standard Intel e1000g dual port NIC, a Sound Blaster 16 or 128, and a well supported NVidia graphics card. So long as I could start an X server on dual displays and start Enlightenment, my window manager of choice, I was happy. The only apps I rely on are a browser and several dozen Eterms… little else. What was important to me was that I had a platform on my desk with which to experiment and prototype on Solaris for later implementation in the data center.

With the addition of ZFS, Solaris became an extremely powerful testing platform. Several large disks in my workstation formed a Zpool on which everything but the base OS was installed. The OS root itself was on a small 16GB SSD (it was bad ass once upon a time). This allowed me to frequently do fresh installs of new releases of Solaris and OpenSolaris. After install, I just imported the Zpool which put my home dir, /usr/local, /opt, etc back into place and I was running again.

What has always bugged me about Solaris is that the software packaging solutions have always been aweful. For a long time we were limited to whatever shipped with Solaris or was available from Blastwave. But Blastwave was little comfort because so frequently a single package install would have an absurd dependency on some very foundational package therefore forcing an upgrade of everything, like it or not, which invariably would break something. In my former Linux days I was fond of Linux from Scratch and latter became a fan of Gentoo, therefore my solution for Solaris was to hand build all my fundamental applications myself and then simply drag those binaries from release to release for a very long period of time. While I appreciated having the latest and greatest Solaris on my desk, I certainly missed the ease of simply installing an RPM and being done. The idea of trying the latest KDE was a seemingly insurmountable challenge and waste of time.

About 30 days ago two factors caused me to finally throw in the towel on Solaris as a workstation OS.

The first was that I finally joined the club of folks who have spilled liquid on their MacBooks. After 3 years of faithful service my Mac was dead. This happened on a Saturday and I suddenly realized that on Monday I’d be unable to join our corporate Jabber channels and I wouldn’t have Skype access. Suddenly I became aware of how much I was relying on my MacBook for daily communication and that I was essentially going to be cut off. Getting all these types of services working on my Solaris workstation was possible, but hardly seemed worth the effort and I only had a day to get back to full capability to be ready for Monday morning.

The second was that Solaris is dead. Illumos is the future of the platform and the desktop options there are very weak. All my work these days is on SmartOS, which is dedicated hypervisor platform, so there was no way I was going to whip it into a workstation platform in short order, not to mention that it’d be a fruitless exercise even if accomplished. It was clear that having a server on my desk that also possessed the basics required for a passable X environment was at an end. Besides that, thanks to KVM support in SmartOS it was becoming increasingly clear that I was completely out of touch with the Linux world which I was now supporting more frequently as a guest OS. And, last but not least, Linux now has ZFS support, so I could theoretically install Linux, get ZFS supported added, and then import all my important filesystems. It was time to return to a Linux workstation.

I’m getting older and lazier, so going back to the Gentoo lifestyle wasn’t interesting to me. Ubuntu continues to be all the rage, so I decided Ubuntu 12.04 was the way to go. And, I turned out to be right… within 4 hours of the MacBook toasting I had installed Ubuntu 12.04, gotten my displays working properly, installed all the software I needed, including Skype and Enlightenment, added ZFS support and mounted my home directory and was looking at my desktop environment as though nothing had happened. It was a wonderful experience.

Getting ZFS Support working with Ubuntu is very simple. Simply install the ZFS for Linux PPA packages and reboot. The only mistake I made was that I initially had installed Ubuntu 32bit, thanks to my outdated Linux knowledge of compatibility issues running a 64bit kernel. On the 32bit kernel ZFS took almost an hour to locate and import the pool… after I reinstalled Ubuntu 12.04 64bit and adding in the ZFS packages again, my Zpool imported just fine. One thing that helped me here was that my pools are very old; in order to provide maximum flexibility in which OpenSolaris release I used, I never allowed my pools to be upgraded, therefore allowing me to run older OS releases if needed, therefore ZFS for Linux had no problems importing my old version pools.

After using ZFS on Linux for some time now I can say that it works very well but the performance is less than stellar. The performance is good enough that I NFS export all my old file systems for use, but bad enough that I created a fresh home directory on ext4.

I did play with Unity a bit before switching back to Enlightenment DR16 (the best window manager ever created). Unity is a really excellent desktop and a first rate contender against Windows 7/8 and even OS X… but ultimately I still prefer the speed and minimalism of an old school window manager. The only thing that actually bugged me about Unity was the way they tried to be very clever about window titles… they sort of blur out from left to right. While I realize its a nifty visual device, to me it looked like a theming mistake and I disliked windows with the title “Firef…”.

One thing that did surprise me about my return to Linux was how little the desktop applications had changed. Finding that Pidgin was still the IM client of choice threw me for a loop. I experimented with Empathy but had horrific stability issues, which is a shame because its a much nicer client than Pidgin. Ultimately I found a theme mix that worked for me and settled on Pidgin was but was sad there weren’t more viable options (yes, there are alternatives, but they sucked more than Pidgin). Getting Skype running easily was a pleasant surprise, no pain not problems and people I called told me it was the best I’d ever sounded on Skype. The other various apps were less exciting than I had hoped, I was sad that Eye of Gnome hadn’t died a long time ago. I think the two high points were realizing that I could use the Arduino IDE on my workstation and looking at Shotwell. Shotwell is an amazing application, but its not enough to convince me to move all my photos out of iPhoto.

In the end, 3 days later I had been issued a replacement MacBook Pro which I got just as Mountain Lion released. Thankfully installing Mountain Lion and then recovering from my TimeMachine backup went well and I was back to my normal workflows. While I’m sad that, at least for me, the era of Solaris as a viable workstation had come to an end, I am glad at all the new life Illumos distros have as first class server OS’s. I may not have the server on my desk any more but the era of the all-things-to-all-people OS is, imho, done.

Back to Blogging

Wednesday, July 18th, 2012

My blog has certainly suffered a slow down in the last 2 years… I thought I’d provide a little insight as to why, give you a little insight into where I’m at these days, and ask for your suggestions on the future.

Once upon a time, my blog was a predominately Solaris blog.  In fact it became over time the most read Solaris blog.  Thanks to Google it actually still is, because I have verify few active readers, the vast majority come to the blog via some Google search for this problem or that and find what they are looking for.  As a result, many people don’t even realize I stopped blogging about Solaris some time ago, which I find a bit funny.  At Velocity this year several people came up to me and thanked me for the blog, whom I then would ask “Does it bother you that I’m talking about DevOps now instead of Solaris?”  Each of them gave me a blank look and said “You stopped blogging about Solaris?” :)

I stopped writing about Solaris for several reasons.  The first was that I’d covered so much ground that I would start to write about something and realize I’d already done so a year before.  Another was that some of the things I wanted to write about where simply too large or complex for a blog, but not quite enough for a book.  Yet another is that sometimes, as a writer, you can start to take yourself too seriously and give too much thought to critics and thus feel that many things you want to write about are “too basic” or “too dumb” to write about.

Another big reason was of course Oracle taking over Sun and there being a very unclear future for the community at large.  The Illumos project brought OpenSolaris back to life, but given that so many people in the Solaris community are from the enterprise space (directly or indirectly) it was unclear whether Illumos would truly provide an alternative to Oracle Solaris.  And besides that, I had become far too involved in Sun and OpenSolaris internal politics and governance and other non technical crap which I feared becoming involved with again under Illumos… thankfully the Illumos community actively stamped out any of the old politics before it took root again, but I was happy to provide a wide birth while it sorted out.

Yet another reason was that for a long long time I’ve wanted to change formats.  For at least 6 years now I’ve wanted to move from “blogging” to producing screen casts.  For many topics there is only so much you can digest from a written entry, at some point its easier to just show you.  I’ve started down that road many times but never gotten it off the ground.  Maybe one day it will.

However the largest reason was that about the time OpenSolaris imploded I was pretty well burned out on the whole thing anyway.  Using Solaris was far less a challenge than managing and operating a large environment.  I became obsessed with the question “How do you run a cloud?”  That’s the question that drove me into learning all sorts of strange things.  I blogged about some of them in the last 2 years, but held back quite a bit because it was unusual fare for my Solaris audience.  I could write about Deming and Ackoff and Ford and Ohno all day long… but who would want to read it?  Lucky for me, DevOps came along about the same time and a community of like minded individuals formed around these same ideas.   I’ve been thankful for that community and how its brought so many of us together who were each on our own individual journeys.

And so, there are my excuses for being a bad blogger… not that I actually consider myself a blogger in the first place.  I just like to help people and this is the best vehicle to do so.

Now for how you can help.  What would you like me write about?  Should I go back to writing about Solaris features?  Should I write about all the new Solaris variants (SmartOS, OmniOS, etc)?  Should I write more DevOps nuggets?  Are there “old” topics that still should be discussed that no one is talking about anymore?  At the end of the day, I still fundamentally believe in SA’s helping SA’s.  How can this SA help you?  Its time for me to get back in the game.

Password Myths

Wednesday, August 10th, 2011

XKCD always has something interesting and funny to say.  This one made me think a bit:

We all know longer is better than more funky, but we rarely do it in practice.  I’ve seen plenty of passwords in my time and they are almost always 6-8 chars. Why?  Least common denominator of course, the truth is that most people (even IT people) re-use the same password over and over, so they pick on that works with everything, meaning 8 chars long with an alphanumeric mix.

I remember the first time I used a program that supported and encouraged long passwords… it was PGP, which called them pass phrases.   Frankly, I wish all use of the word “password” was replaced with “pass phrase” as it instantly changes your perception into something more useful.

Most UNIX systems now use SHA or MD5 has the default scheme, which allows up to 255 chars for your password.  So that’s not a limitation anymore.  But what about most web sites?   I thought I’d use the model XKCD offers as a test.  I created a pass phrase that is simply my 4 favorite things, in order, with spaces in between and the first char of each word capitalized.  No digits, no punctuation.  The 4 words plus spaces comes out to 29 chars.  Then I changed my password on some popular sites to see if it would work.  Here are the results:

  • Facebook: Works
  • Google (Gmail/Youtube): Works
  • Twitter: Works, but spaces are not allowed.
  • Yahoo (Yahoo Mail): Works (See below)
  • Reddit: Works
  • Digg: Works

Funny thing happened when I changed my Yahoo password, it switched my language preference to Vietnamesse for some reason.  And, to make it all the more bizarre, there is no obvious place to change my language preference back.  I guess I’ll have to use Google Translate to fix my Yahoo account.

So, go ahead, change your password to something easier to remember and more secure, and let go of your old standby.

PS: If your managing systems… for heavens sake, turn on account locking and consider using Duo.

CloudFlare: Firewall in the Cloud

Wednesday, January 12th, 2011

A very interesting new startup, CloudFlare, provides a cloud based firewall solution, of sorts. The way it works is pretty straight forward, you move your DNS to them, they in turn direct your traffic at their servers which cache your site and make decisions about the connections.  By leveraging Project Honey Pot information they can deflect bad guys.  The nice thing is that its almost entirely automatic.  Via their dashboard you can get more explicit.

For the time being the service is free.  It only takes about 5 minutes to get completely setup, so if your looking for something new and interesting to play with give it a go.  At the least, read their story. Very interesting stuff.