2012-01-11

Spreading the word: PDX

Two weeks have passed since the official release of the debut Hundred Round Drum album, entitled PDX. I am pretty satisfied with the quality of the finished product; it is the culmination of several years of composition and many months of serious audio engineering, and I think it has a more refined and coherent sound than any of the other music I've worked on over the course of the last 15 years.

Now that all the hard work inside the studio is done, I find that I am suddenly faced with another task of epic proportions outside the studio: actually getting people to listen to the music. Although I like our new name, and intend to stick with it for the foreseeable future, the change has done nothing to help our fan base. Any kind of "brand recognition" which may have been earned over the years, with the 5 oh Trees name, is now dust in the wind.

To complicate matters further, I don't really know anyone who listens to rap music, other than the small group of people who were already involved with the record. I'm starting from scratch, armed only with a few great tracks and a modest Internet presence. The only help I seem to be able to muster comes in the form of words of encouragement; wonderful as these are to hear, they do little to improve the pace of downloads.

With that said, not all of the news is bad news. I'm certainly not the only one trying to promote my music on the Internet - there are a multitude of popular (if shady) web sites which are intended to aid me in this quest, and I'm gradually expanding my group's presence on a few of the reasonable-looking ones. One such site even goes as far as reporting that HRD already places at #75 in the Portland rap charts, which is very encouraging. Discussions with a couple of my music-oriented friends have also landed me some great ideas. The future is bright, I just can't wait for it to get here!

2011-12-26

New toys for Personal Telco

As I mentioned in November, the Personal Telco Project recently received a generous grant of two Dell PowerEdge servers from Free Geek. Thanks to the concerted efforts of Russell Senior, Tom Fitzgerald and myself, those servers are now operational!

The first machine to reach its new home was red, a Dell PowerEdge 2650 with 2x Intel Xeon 3.06GHz processors, 12GB of RAM and 5x73GB SCA disks. It's being hosted in rack space provided by the National Psoriasis Foundation; special thanks to Tom Fitzgerald for making this possible and helping out with the installation.

The other machine is called blue, and it's a Dell PowerEdge SC 1435 with 2x AMD Opteron 2212 processors, 8GB of RAM and 2x1TB SATA disks. It is being hosted at the same Integra Telecom Amber Glen facility where our faithful old server, donk, has resided for many years. Thanks are owed to Dat Nguyen, who provided the hard disks, and Russell Senior, who assisted with the installation.

Various services will be moved over to these new machines over the next few months. Access to blue will be available to Personal Telco members on request - let me know if you want an account!

2011-11-22

In with the old

Lately, I've been spending a lot of time working on basslin.es, my recently-created record label. This new label is a replacement for my old label, which was called The Basement Productions, or TBP. I abandoned it after years of neglect resulted in losing the domain I once used for it. (It also didn't help that dozens of other people were also using indistinguishably similar names for their crappy independent record labels.)

With TBP dead, there was a reasonably significant volume of music which was orphaned, with no label to call home, so I decided to re-release a few of my favorite selections. Some of these are now available for download: The Green Hit by my first rap group, 5 oh Trees; Transparent Pleasancies and Spasm by the elusive str1ng; 23space by Juno Process; and my first compilation release, the venerable Firesign Revisited.

I won't claim that any of these are marvels of modern sound engineering or amazing works of sonic art, but a few of these tracks have aged remarkably well, and they hold a significant level of sentimental value to me and everyone who worked on them.

There should be a couple more re-releases within the next few weeks, as well as new releases of old material which has never been heard outside of the artists' studios. I also intend to release the debut Hundred Round Drum album by the end of the year; I only need a subwoofer so I can finish up the post-production process, then it's ready to go. Last, but not least, I'm told there's new str1ng material coming soon.

Anyway, if you're in the mood to listen to something different, head on over to basslin.es and check it out!

2011-11-07

IPv6 returns to Personal Telco networks

While many still consider the next-generation Internet protocol to be a fringe technology, there's no denying it's an increasingly important step forward for data networks everywhere. The Personal Telco Project's production Internet servers have been equipped with IPv6 capabilities for some time, but nodes were long left in the dark ages of IPv4.

On World IPv6 Day, a weekly PTP meeting was held. At this point, I was just starting to get involved with the project again; when we discussed the fact that no IPv6 support existed for the majority of nodes and no such support was planned, I volunteered to find a clean solution to this problem which didn't involve a lot of extra work to deploy.

This wasn't the first time this project had been undertaken. Years earlier, when Jimmy Schmierbach and I worked together to develop the PTPnet VPN, we had included IPv6 support in the design from the beginning. Unfortunately, when we both took a break from the project, the IPv6 components of our solution fell into disuse, and were eventually removed. Despite that fact, luckily, the fundamental design of the VPN had remained unchanged, so reinstating IPv6 support wouldn't require any significant changes to the underlying network.

Armed with this knowledge, I set out to integrate IPv6 into the new node configuration generator scripts created by Russell Senior, and a couple of prototype builds later, I came up with a reasonable solution. Using a /48 prefix delegation from the Hurricane Electric Free IPv6 Tunnel Broker service to one of the core servers, and OLSR for IPv6 mesh routing, all new nodes will now be deployed with basic IPv6 capability. Existing nodes will be updated as time permits.

Pretty cool!

2011-09-08

New domain

Things have been quiet here, lately; I've been busy with Personal Telco business, music, personal life, and of course, dealing with the relentless onslaught of headhunters and prospective employers which has resulted from publishing my new résumé.

However, today I have something relevant to announce. This blog is now on a new domain: keegan.ws

Although I used my previous domain for over a decade, the word has since been adopted as an unfortunate euphemism, making it an increasingly unprofessional choice. I may someday look into selling it, but for now it's acting as a redirect to this new one, and will continue doing so for the foreseeable future. Links should be updated where possible, but old links should also remain valid - please let me know if you see any issues with the transition.

2011-08-29

My amazing new résumé

I've been consulting since returning to Portland in February, but the time has come for me to locate a more permanent professional home. So, without further ado, I am pleased to present my new résumé.

If you or someone you know is looking for an experienced, professional software engineer, look no further - send me an email or give me a call!

2011-08-13

Self-contained Rails with RVM and Bundler

The idea here is to create a completely self-contained Ruby on Rails 3.1 application structure, for a nice, clean starting point to begin development of a new web application. To accomplish this we'll be making use of RVM, the Ruby Version Manager, and Bundler, the gem dependency manager.

Requirements

Before you begin, you'll need an account on a Unix-like system. Any Linux, BSD or Mac OS X system should be fine.

I think you'll also want a C compiler and related "build-essential" bits installed on this system, although you may be able to avoid that requirement by using an RVM Ruby that doesn't need to be compiled.

Superuser (root) access is not required for any of this; everything resides within ~/.rvm and a single directory for the application.

It may also be possible to do something like this on Windows, but I know nothing of such evil things.

Preparation

First, you'll need to install RVM, if you haven't done so previously. Follow these instructions to do so.

Once RVM is installed and working, you'll need an RVM Ruby. In these examples, I'll be using MRI 1.9.2; if you want to use a different Ruby, change ruby-1.9.2 to whatever you like. If you already have an RVM Ruby installed, that should work fine, just make sure you specify it in the .rvmrc file which follows in the next section.

$ rvm install ruby-1.9.2

The Application

Now that you have RVM and a Ruby to go with it, you can actually create your application structure. First, you need a project directory, and an .rvmrc file within that directory. The .rvmrc is used to configure RVM to switch to a certain Ruby and gem environment when entering the directory. This can be accomplished with the following commands; be sure to replace PROJECT with the name of your project.

$ mkdir PROJECT

$ echo "rvm ruby-1.9.2@PROJECT --create" > PROJECT/.rvmrc

You can confirm that our new .rvmrc is working, like this:

$ cd PROJECT

$ gem env

All of the paths displayed by gem env should be within your home directory.

Now that you have an empty environment, you can start adding the gems you need to get some work done. First and foremost, you'll want to install Bundler, the gem dependency manager. From this point onward, all commands should be run inside your new project directory.

$ gem install bundler

With Bundler installed, you're now ready to create a Gemfile, which will describe all of the other gems you want to use. I've provided an example Gemfile which installs Rails 3.1 here; feel free to use your own or change my example to fit your needs.

$ curl -s https://raw.github.com/keeganquinn/bits/master/blog/Gemfile > Gemfile

Once your Gemfile is in place, you can run Bundler to calculate your gem dependency tree and install all of the desired gems.

$ bundle install --without production

Finally, all gems are installed - you can now run Rails to generate the actual application structure. Note that you should call bundle exec to run commands associated with gems which were installed by Bundler - this will ensure that system-installed Ruby and/or gems will not override or interfere with your nice

$ bundle exec rails new . --skip

At this point, you should have a complete, self-contained Rails application structure, ready for you to start building it into the most amazing website in the history of the Internet - or whatever it is that you wanted to build.