System Overlord

A blog about security engineering, research, and general hacking.

Southeast Linuxfest 2011

This year was my 2nd Southeast Linuxfest (I'd previously attended the inaugural SELF at Clemson in 2009) and I was blown away by how it has grown.  As a former organizer for the Atlanta Linux Fest (which I terribly miss) I know how hard it is to make an event like this a success.  I have to applaud the organizers of SELF, even if I'm not sure who all of them are!  The conference retained a great "local" feel while still attracting a diverse group of people.

The Good

Most of the conference qualifies as the good -- or maybe it should be the "great"!  The speakers were engaging, seemed well prepared, and there was a wide variety of topics being covered.  I stuck mostly to the System Administration track, but I look forward to some of the others when they hit  It seemed like there was something for everyone.

I really liked the range of exhibitors as well -- everyone from Linode to Sudo Make Coffee.

The afterparties sponsored by Rackspace and were great fun, and I have to give mad props to Int80 from Dual Core for his performance Saturday night.

The Bad

I was shocked that the EFF and FSF weren't represented, and I was hoping to see Debian and Ubuntu presence as well.  Obviously, the SELF organizers aren't responsible for getting these organizations there, but I was surprised by the absences.

I also feel that SELF may be outgrowing the hotel in Spartanburg.  The aisles were crowded with attendees and vendors and it felt like so much could've been done with a little more space, but maybe this was just a matter of perspective.

The Ugly

Honestly, not much qualifies as "ugly" about SELF.  The only thing I can think of is the lack of local dining establishments in the area immediately surrounding the hotel.  There were a couple of places down the road (including a surprisingly good Thai establishment and a surprisingly bad deli) but nothing immediately "next door".


Personally, I'd like to SELF as a slightly longer event.  With the length that SELF currently is, I felt like I "had" to be in a session constantly, or I'd be missing important time.  With a slightly longer event, that sense of urgency diminishes.

I'd also like to see better use of the SELF wiki or some other resource for organizing BoFs in advance.  Having an idea of what people are interested in might help indicate if a BoF will be a success (and what time the BoF should be held.)

I wish SELF the best of luck (even if I wish we still had a successful event in Atlanta) and I hope to see everyone back next year!

Software Patent Trolls Should Die

Software patent trolls -- companies whose primary source of revenue is derived from suing others over their patent portfolion -- pose a significant risk to continuing innovation in the United States.  In order to promote future development and innovation, we need to eliminate software patents. 

At a minimum, companies should not be allowed to retain rights to a patent unless they continously produce a product that utilizes their patent.  Much like a trademark, patents not being used should fall into the public domain.

Ideally, software should not be patented.  Patents are directly against the spirit of the internet, of interoperability, and of working towards better products.  Patenting software and preventing others from developing similiar software says "I've done the bare minimum, and know I can't compete in a free market."

Software patents (like most government actions these days) favor large corporations, hamper development and innovation, and strangle Free software.  In doing so, we are continuing to set a track for countries like China and India to pass the United States as leaders of technological development.

Linode Rocks!

As you may know, my site is hosted by Linode, one of the older Linux VPS providers.  I was excited when Linode announced native IPv6 support in some of their data centers, but then disappointed when I saw "No ETA" for the Atlanta datacenter where my site was hosted.  I had been running my node with Hurricane Electric's IPv6 tunnel service, but I prefer a native solution when I can get it.

As a result, I decided to move my Linode to the New Jersey data center.  At first, I contemplated just opening a ticket to get it moved, but I'd been wanting to do some "housekeeping" and had considered switching to pure Debian, so I decided to rebuild and migrate services.  As of this morning, I had migrated most services (including web/database) to the new Linode in New Jersey.  If it's at all possible, it seems even faster than my Atlanta Linode was.  (Technically, it is: 2.5 GHz CPUs vs 2.0 GHz CPUs)

It required opening a ticket to get an IPv6 address assigned -- but the ticket was handled in less than one minute.  At 11:00 PM Eastern time.  I've known that Linode has great customer service, but this blew me away.  Way to go, Linode!

(NB: If this entry helps inspire to join Linode, I'd appreciate you supporting my site and using my referral code of 680a893e24df3597d32f58cd41930e969027dc06).

Welcome (back) to Drupal!

Regular readers of my blog may have noticed a significant change.  As of about midnight last night, I had completed the migration of my site from Wordpress 3.1 to Drupal 7.  A few features are not yet implemented, including automatically posting my blog entries to Twitter, but the RSS feeds do work.  Additionally, some of the RSS feed URLs have changed, so please check your feed readers.

Drupalcon 2011: Introduction to Module Development

Ezra B. Gildesgame from Growing Venture Solutions presented an Introduction to Module Development.  (Slides)

While I was already fairly familiar with the basics of Drupal module development, it provided a nice refresher and some insight into how they handle things.  It was also interesting to see Ezra using Eclipse for module development -- I've always had mixed feelings about Eclipse and PHP.

A couple of new things I learned:

  • In devel views, you may now see "und" as an array index: this indicates undefined localization, as given by the Drupal constant LANGUAGE_NONE.
  • Remember to clear the cache when defining new hooks (not really new, but worth repeating)
  • func_get_args() and debug_backtrace() are both very useful PHP functions for debugging, especially when combined with dpm()
  • dpm() uses Krumo, which is a pretty awesome PHP library
  • Like so many other things in Drupal, modules have weights in the system table -> weights define execution order (Though well-developed modules should work under any order.)
  • Use proper APIs rather than querying the DB directly if you can.  Some modules add extra information to entities, etc., that you will miss by querying the DB directly.
  • Don't hack core. (Also not new, but also worth repeating)

All in all, Ezra put together a great presentation that was perfect for my first "regular" session of Drupalcon Chicago.