Ignored By Dinosaurs 🦕

The problem I have with the world is this –>

It's too friggin hard to build a good website.

I spent the better part of 2009 studying this problem. I was bummed out about RRE's website and the fact that it was just a little too static, a little too disconnected from the rest of the internet. It was a custom built solution, and God bless you Berry for that, but I didn't even know what that meant at that time. It took me several months of poking, prodding, and pulling my hair out before I started to get the idea.

People have been here before.

There is a thing out there called a CMS. That stands for Content Management System, and what it does is take care of the nuts and bolts behind the scenes so that you can get on with posting cool stuff. That's what you do after all, right? Tour dates, news, pictures, it's all just stuff. People have been putting up stuff since the dawn of the internet, so it's not surprising that some enterprising types have tried to simplify the process. There's just one problem.

It's still too hard to build a friggin website.

I mean, let's be honest –> raise your hand if you know what DNS is, and why you should care. Yeah. Now, if you're not a musician, put your hand down. That's what I thought. And that's only one infinitely tiny little facet of a web site. Good luck with the rest. I'm a pretty driven person at this point in my life, and after banging my head on the internet wall for a year, the best I could come up with is this. I had to learn an inordinate amount of routine, sub-geek level internet crap that has nothing to do with putting up cool stuff before I could even get started. Can't someone please just take all of this responsibility away from us musicians?

next

#the-idea

Lots of personal posts to come these next few weeks, I expect. I wanted to take this opportunity during setbreak in Woodstock to set down a few things that I was thinking about during the first set.

I've gotten a few cautionary letters from concerned onlookers of my situation, most of them warning me of the pitfalls of this decision that I've made. First, I want to let you know that I've been making the internal preparations for this move for well over a year. It was about that long ago that the force inside me that's guided me very reliably through my first 31 years here on earth began to lead me to this public announcement of my decision.

Second, I want you to know that I've never ignored that force. That force told me to print up business cards the week before I met John Skehan for the first time. Third, I have no idea what I'd do without that force. I might have had some crappy job that I hated for the last seven years instead of touring the world with a fantastic band. Fourth, trading this interesting, creative job down for some cubicle job programming VB is not what I have in mind (no offense to VB). I have a very specific, interesting, creative idea that I've been working on that I'm gonna have a whack at, but it's a long shot. I have some other interesting, creative options on the table, and I feel hopeful that one of them will pan out. Fifth, and this is probably going to be the most difficult for some of you to believe, but the worst case scenario – unemployment, bankruptcy, foreclosure – still makes me feel more optimistic about the future than the prospect of ignoring that force.

That's all. Gotta finish a show.

#life

I have this crazy hope inside of me that some of the IT professionals who have expressed their disdain for the field since my last post will find a way to quit their crappy jobs and go do something that they can put their hearts into. Life is too short to be stuck.

Thank you.

Well, campers, the day has come. Regular readers of this blog might be a little less surprised about this particular piece of news, but I'm pretty surprised to be writing it. I've been writing it in my head for a few weeks now, but now that I'm sitting here, I don't really know how to put it.

I joined this band at the age of 24 to accomplish a few objectives. I was barely a year out of college and was already tired of washing dishes and rolling burritos for a living, so I prayed for a gig. I met John Skehan within a week, and the rest is history. What I wanted then was to get out of the kitchen and play professionally (with my college educated hands), to travel, and to learn about the music business. Check, check, and check. I never intended to be a touring musician for the rest of my life, and have proceeded to plan my life with my wife and our son and our dogs accordingly. We played Red Rocks a couple of months ago. Icing on the cake.

About a year and a half ago (as regular readers know), the flame of my creativity began lighting a different path than the one that I was on with RRE. I'd always been pretty good with computers. I only recently realized that the main reason that I like recording and production so much was mainly because it involves using and being good with computers. It took an iPhone to spark the idea that I should take matters into my own hands and start learning how to program myself. So, for the last 18 months, that's what I've been doing. I'm not quite to the point that I'm ready to make a living with it, but God has taken care of me and me family so far, so I have to place my trust in him now.

I had a medium-range plan that had me exiting RRE at the end of next year – 2010 – and dovetailing my present and future careers together the best I could in the meantime. Then a record deal came along. I'm a lawyer's son, so when it became apparent that this deal was probably going to actually happen, it kinda screwed up my plan. I couldn't sign a piece of paper committing myself to RRE and touring for the next 3 or 4 years when I knew good and well that I didn't have it in me. That's when I knew I had to tell my bandmates what was going on with me. Needless to say, they were probably a little surprised themselves. I gave them until the end of next May, but they've rightly decided that since a new record needs to be written, and we won't be on the road while that's happening, it's probably best to just go ahead and call it.

I'm not sure what the future holds, but I've got a few ideas. I know how much RRE means to many of you, and many of you probably think I've gone off my rocker reading this, but I have to ask you to trust me. RRE has meant a lot to me, too. I'm lucky to be able to say goodbye to a few of my favorite cities in America – Denver, San Francisco, and Portland – before hanging up my cables after the New Year. RRE is an unbelievably good band, and I have no doubt that they'll pick a worthy successor for me. At the very least they won't have to talk some kid into sleeping on hotel floors for weeks on end anymore.

To my bandmates I want to extend my deepest thanks for the opportunity to do exactly what I always dreamed of doing for the last 7 years, and to play the best music I'll probably ever play. To Mikey and J Ro and Phil and Stacy and Alex and especially Gayle I want to say thanks for working way harder than I ever did to make sure that RRE not only had people at the show but that they were lavished in the most inviting atmosphere possible, even at the Nick in Birmingham. To Brian I want to say thanks for talking me into such a ridiculous situation in the first place and for everything that you've done for RRE. And lastly to all the strangers who have become fans who have become friends, I will miss the hell out of y'all, but I won't be too hard to find either. I have an entire industry to try and save now, for the benefit of musicians and music lovers alike, and I'll need all the help and support I can get.

Thanks for the ride, and I'll leave you with a little Gillian Welch...

EDIT : I'm going to be checking in here frequently over the next several weeks as this process unfolds. I had a thought during last night's show that it'd probably be very helpful to me and informative for you if I use this blog as a tool to try and explain to you just what I'm so fired up about that I'd quit a fantastic band to go do it. Please stop back by. Later...

#life

A glimpse into design and corporate culture, and where the two often clash.

Dear American Airlines | Dustin Curtis

To Ruby on Rails proficiency, that is. I mean, I just happen to be in Madison WI at the moment, getting ready to play a show at the Barrymore Theater. I've spent the last two days holed up in a corner of the awesome Fair Trade Coffee House on State St. drinking their awesome dark roast and getting up to speed on some things.

After having written about version control last week, I figured it might be cool for me to actually make a choice and get up to speed on one. My only other freelance programming buddy out there uses Subversion, so of course I decided to go Git. Git has a great site that will store your code for you called GitHub – they kinda go hand in hand. It's a fun and relatively easy place to start getting familiar with the process of controlling your code. I've been working out of a Rails book and am pushing the practice project that I'm working on up to GitHub. The best thing about Git for me has been that it only took me about 2 days worth of hacking and poking around to get it running like it's supposed to be. This is in stark contrast to the week or so I spent trying to get Subversion happening before basically giving up. I understand the concepts behind Git's system of source control much better than I understand Subversion, as well. And GitHub is a (for now) free place to upload my stuff.

The reason this excites me so is that I've embarked on a learning project. I briefly exposed my intentions yesterday on this blog, so if you get this via RSS, you probably already have the idea. For those of you browsing the web version, the idea is basically a simple photo sharing site for wayward musicians. I got the idea from a great piece of dressing room graffiti in Cleveland at the Beachland Ballroom, and the domain just happened to be available although admittedly of questionable taste. Perfect for musicians, I think. So I've decided to try and build this thing as a Rails project. That should make it functional, but gritty and cheap looking, just like it should be. Anyway. Have fun out there...

You've all seen it. It's right under the to: field when you compose an email. No, not CC, but BCC. That stands for “Blind Carbon Copy”. The purpose of this little feature isn't just to send copies of important emails to yourself for archival purposes. Let's have an example...

Let's say you have a really enthusiastic bud-die that's always sending links to music that he's uploaded to all his friends. You hugely appreciate the thought every time you get one of his treats. But then it happens. Someone accidentally hits “reply all” on the email. Pretty soon one person's personalized shout out is sent to the entire list, even though the intended recipient is only one person. How best to avoid this faux pas petit? Blind Carbon Copy.

Ideally, you'd put yourself in the to: field and everyone else in the BCC field. This way, not only are you not exposing the email addresses of all of your friends to the whole world, when someone inevitably hits the “reply all” button, it's cool. They don't have any names on the list except the original sender, and the world is just that much happier.

Thus concludes today's lesson in etiquette and irony from yours truly.

“When U2 takes the stage in Los Angeles' Rose Bowl Stadium this Sunday, fans in the United States and 15 other countries will be able to watch the whole show, live and for free, on YouTube — the first time the website has ever broadcast a complete concert live.”

Are you kidding me? This is the first time that YouTube has broadcast a concert live? Did I somehow get teleported back to 2006? I would think that news of this nature would seem a lot more like news back then, but seriously?

The first time ever?

Maybe I'm not as late to the party as I thought with all this, y'know, technology stuff. I guess giant-mega-corp will always move this slowly. Is it already time to add Google to the Dinosaur List?

U2 to Play Free Concert on YouTube (Via Epicenter.)

This is not for programmers. This is for myself, because when I first started poking at Rails 6 months ago, I didn't have any idea why I needed to edit a migration file, much less what a migration was, except that it must have something to do with a database. I only knew that because of the command

$>rake db:migrate

that I was told to perform and the fact that it had the letters “db” in it.

So here's the deal. This morning I talked about version control and it's place in the life cycle of your application. What version control does is keep track of the changes that you make to your applications source code from start to finish (whenever that is). The only problem with this is that a big chunk of the data and functionality of a modern web application doesn't reside in the app's source code, it resides in the database, and nobody has invented an efficient version control system for a database yet. Some friends of mine have tipped me off to different methods that they've used – mostly around writing down DB schema changes into a text file that then gets placed under version control with the rest of the source. That's not entirely efficient, though, is it?

Ruby on Rails has come up with a system called “migrations”. Actually, someone surely came up with this way before Rails was invented, but I'm new here, so feel free to correct me in the comments section down there. Let's say you create a new rails app (This is directly from the awesome book “Agile Web Development with Rails” by a bunch of smart folks, and this example is the beginning of building a shopping cart system) :

$>rails newapp

This generates a load of boilerplate code which makes up the bones of any Rails app. That means that instead of spending the first week of the development cycle sitting there writing low-level code that provides primordial programmatic structure, you can spend it writing code that actually does something that you (or your client) can interact with. Let's keep it as simple as possible and say that you are going to have three fields that will be stored in the database to start. Rails let's you run this scaffold generating command:

$>ruby script/generate scaffold product title:string description:text image_url:string

This command runs a ruby script that builds a LOT of code for you, so much that you're only minutes away from tinkering around and you only started a few minutes before that. This command creates the “products model”, which is how a programmer says that they are going to start by creating some place for the admin to store the products that they want to sell online. The fields that were initially created were for the name of the product, the description, and the URL where you're storing the picture of the product. Don't worry about it too much, but take a look at the command up there, it'll make sense if you know what a string is. Just know that the data entered into these fields is going to get stored in a database. Wait, how are we gonna store this stuff in our database? Have we even created the tables for the database yet? No. Rails does it for us. Here's how.

One of the files that is created when we run that scaffold generator is called a “migration file”. This migration file is what actually creates the tables in the database, the columns in the tables, and can even populate the tables with data (used for testing), depending on what you do to the migration file. There is a command (or method if you're OOP savvy) created when the scaffold is run called the “up method”. That's the one that changes your database. There is also a “down method”, which is what undoes the changes to your database. When you run the good old rake db:migrate command Rails goes applies the appropriate changes to your database for you, and provides a way to undo them later. So, your client comes in and wants to add a Price column to the store. In the old days, you'd execute this SQL statement :

ALTER TABLE products ADD column price DECIMAL (8,2) NOT NULL;

Now, what if you wanted to undo that? That's a command you ran there, not some source code that you can save and delete later if you change a few things. You can't place SQL statements under version control. You'd have to go and type that statement into the text file that was under version control, and then hope that you could effectively backtrack to it later if you wanted. If your application and it's database have come a ways since that command you're going to have a good time figuring out how to undo it. Rails doesn't make you do that. In fact, you almost never are going to talk directly to your database in Rails. Instead, you go to the most recent migration file (which is source code and thus under version control) and alter a line to look like this:

add_column :products, :price, :decimal,
  :precision => 8, :scale => 2, :default => 0

Then you run a script that alters the database for you. Below this add column instruction, or “up method”, you add the remove column instruction, or “down method”:

remove_column :products, :price

This is the undo button for your database and any schema changes along the way. Since this command is under version control, and since you're not directly interacting with your database, and since Rails knows how and which migrations to apply and in what order if you ever want to go back to a previous version, you've just made your life a LOT easier. Now if you only understood what the hell you were talking about!!

For a vastly better explanation, try here. Good luck.

#rails #general-development

It appears that the creative fire feels like being spent on writing again, finally. So if may I impart a bit of what I've learned in the last few months...

Before you set up that Blogspot account, I just want to call your attention to a few of the other offerings out there. Blogger/Blogspot is an extremely simple way to get going, but there are even simpler ways to get going, if that's what you're going for. There are also offerings out there that will allow you a much greater amount of flexibility in what you do with your new blog, should you want to go bigger. And now...

My new favorite social website is Tumblr, hands down. Right there on the front page of the site, in 40 pt font is the slogan “the easiest way to blog”. I'd have to agree. You don't have to give them anything about your identity if you don't want, and you can create your own subdomain, just like Blogger. What Tumblr has over Blogger is a much more refined design. There are a bunch of templates to choose from, just like Blogger, but I find them to be a little more easy on the eyes, and thus easier to read and navigate – all important to the blogging experience, wouldn't you say? If all you want to do is start letting some of your thoughts out of your head in blog form, give it a whirl. Oh yeah, you can point your own domain at Tumblr instead of using whatever.tumblr.com as your URL.

If you need to build something a little more extensive, say a website for your classroom's parents to keep up with their kids and their activities, I'd highly recommend Wordpress.com. They too have a number of different design templates to choose from (though not as many as Tumblr), so setting up a blog that feels like you isn't too much of a challenge. The great thing about Wordpress, the framework on which this website also runs, is that you can build outward. Say you want to have a contact page, and a calendar of events on another page, etc, you can do that pretty easily (and quickly) with Wordpress. Hopefully my buddy Jimmy doesn't mind my linking to his classroom website as a fantastic example of what a smart person can do with WordPress in a short amount of time.

You really should have a blog by this point. Make it recipes or pictures or whatever, but it's free and it's fun. Just do it...