Ignored By Dinosaurs 🦕

What is open source? It can actually mean a variety of different things, but most simply it means free software that anyone can use as is or alter as they see fit for their particular needs. According to Wikipedia – “Some consider open source a philosophy, others consider it a pragmatic methodology.” I think I fall into both camps, but being the pragmatic, methodological guy that I am I shall present that angle today.

When I first got into software and development a few years ago it was because of one of the most proprietary devices out there – the iPhone. Proprietary is the exact opposite of open source. It is not free. You are not welcome to see the iPhone OS source code. You are not welcome to use anything except for Apple's set of development tools to build iPhone applications. You may only distribute those applications through the AppStore, of which Apple is the sole overseer. I didn't consciously realize the implications of this stuff two years ago. I just wanted to build a band app that all my friends could use and get rich. So I bought a Mac and dove in.

Upon diving in, I realized many things. One is that Apple and their set of development tools – called Xcode (X as is OS X, the Mac OS) – came with the most amazing set of documentation on virtually every aspect of developing software built right in. My education began there. Poring over the included documentation and learning how the iPhone OS and Object Oriented programming worked on a high level was the beginning of the path for me here. Among other things I learned that the Mac OS (operating system) and by extention the iPhone OS were built upon an open source OS called Unix. Unix has been around since the late 60s, and was initially developed at Bell Labs. Unix runs on the “command line”, which is like way back in the floppy disk era when you used to have to type into DOS to get your computer to run programs. Most professional developers I met at the DrupalCon a month ago seem to have a deep fear of the command line. Luckily my early experience with Rails and Git got me over that fear before I learned that I should have one.

Anyway, there are many different versions of Unix out there, some open source (meaning open to anyone helping develop it) and some proprietary (meaning you have to pay a licensing fee to even use it). Some hippies at UC Berkeley one day got tired of Ma Bell and her ridiculous licensing fees and decided to make their own variant called Free BSD. To make a long story shorter, Steve Jobs and co. took Free BSD in the late 90s and made it the base of their new OS. OS X, a really awesome, intuitive, stable operating system that only legally runs on Macintosh computers took an open source project as it's guts. What the world knows as OS X is basically a really nicely designed wrapper over top of Free BSD. If you're on a Mac and you go up to the Spotlight in the top right and type in “Terminal”, you'll get the command line for your computer. This is the real operating system you are speaking to underneath the glitsy OS X veneer.

So what's the point? Who cares? Steve Jobs ripped off a bunch of hippies and now he's a genius? Well, yes, and here's why.

Windows, the beloved, world dominating piece of shit OS that never works right whether you know it or admit it or not is not an open source project. It and it's source code have been sequestered away in Redmond WA for the last 25 years or so. The only people allowed to work on it are MS employees following MS corporate policies, coding practices, and managerial and marketing direction in their development of Windows. I liken this to being in a really high paid Connecticut wedding band. By contrast, Free BSD – though a newer OS than Windows even – comes from a pedigree of having been developed and refined for the last 40 years. Open source means anyone with the mind to can contribute to the project with only their own needs and imaginations as their guide. Ultimately what happens in a sucessful open source project is that a community of developers begins to coalesce. Different perspectives, features, and methodologies are brought in from all over the world by developers trying to solve problems, not by the marketing department downstairs or your manager who has to make his boss happy with this one feature. What would be a security hole to exploit is plainly visible for all to see and for all to immediately get on top of fixing for the good of everyone who uses that software. If you need a feature that doesn't exist yet, you write it yourself and share with everyone in the community. I liken this to participating in the late night jam at Slopryland.

That's probably enough for now.

#theidea

I don't know about you, but the difference between an exciting open source project and a less than exciting open source project boils down for me when I get to the first page of their documentation.

Note on the CiviCRM site they have a link that says “Make a PDF”. Notice how on the SugarCRM site they have a mile long table of contents that helps you none whatsoever. Note how much background information there is once you get into the Civi documentation about what CRM actually is, and how it might help your organization. Notice how much of the beginning of the Sugar docs is devoted to installing the thing, which is helpful but come on. There's an automated installer file. It's pretty simple for a developer.

I can't help but think of projects like Sugar as somehow “faker” than projects like Civi just because the very essence of open source is to encourage audience participation, not to make it easier for a consultant market to emerge because I can't wade through your shitty documentation.

Getting off the soapbox now.

So, you've spent the last few months teaching yourself Wordpress. Good job. There are lot of crappy websites out there, most of them built by some site-builder commodity crap-stuffer at GoDaddy or Network Solutions or some other budget host. These are God-awful examples of poor web development practices. They're ugly. They don't render correctly in browsers. Many are all but invisible to search engines, which begs the question – if a website fails to show up in the first couple of pages of Google, does it make a sound?

Wordpress is a wonderful tool to combat these evils. It's easily editable. It's easy to learn. It's east to add features. It's typically built using modern presentation techniques that actually DO show up in search engines. The Thesis theme is a marvel of SEO and will get your page – pretty much no matter what – up on to the first page of Google depending on what you're writing about.

Neither here nor there, because you already have an idea of most of this stuff. You've been tinkering around with MAMP and wordpress on your computer and now you want to know how to get your creation up and visible to the world. This is involves two simple steps, and rather than repeat them, I'll just link to the site where I learned how to do it.

http://weeklywp.com/2009/06/move-wordpress-to-a-new-server/ Questions and requests for clarifications are most welcome. The first big hint is on the front page of the MAMP welcome page. PHPMyAdmin is a database tool for managing your database. That's where you'll export the database that you've been using to develop locally and upload it to your webhost. Follow the instructions in the tutorial. Every webhost I've seen so far has PHPMyAdmin installed somewhere, but where they'v hidden it usually varies. If you are installing this on a server that's owned by, say, the Stamford school system, you might need to talk to an IT admin to get it happening.

#generaldevelopment

Seems a shame to have this site over here, ostensibly my personal site, and not be doing anything with it. Seems a shame because so much of the last four months has been so personal. It's been the hardest, weirdest, best, worst four months of my life so far.

I haven't really been in-between-chapters-of-my-life for a very long time, and I now remember what it feels like. It's why I moved back down to ATL to take some shitty job at the Guitar Center, just so I'd have something to do. I don't equate my situation with not having enough to do, BTW, but RRE at least gave me some kind of purpose. Rather, RRE made me feel like I had some kind of purpose. Even the last few years when I was pretty good and miserable, it still gave me something to rail against.

Now it's not my problem anymore.

Now I've got two boys.

Now I'm embarking on a new career that got a firm shove in a direction this week.

I'm in San Francisco right now, getting ready to fly back to Jersey. I've been on the fence for as long as I've been doing this dev thing about what exactly kind of dev did I want to be. So many cool technologies, so many cool paradigms, a few of them able to actually get done what I've wanted to get done since I started this journey.

I had narrowed it down to two frameworks – pretty much opposite each other. Rails – the exotic, well-heeled cool kid on the block – and Drupal – the giant open source free-for-all. I came to the DrupalCon this week and am pretty much in love. I met some great people, many working on ideas that are very close to mine, ultimately. When asked what I do I said “I'm a developer”. When they asked if I was a freelancer I say, “Yes.”

“I'm a career changer.”

Anyway, I got the same warm, fuzzy vibe from this scene here this week that I got at festivals. Hanging out with like-minded folks, learning lots of cool stuff, people serious about creating a movement.

I can now put aside my dreams of Ruby coolness for a little while.

I'm a Drupal developer.

==>

PS – people at DrupalCon think ignoredByDinosaurs is a cool name. They don't ask what it means, they just say “oh, that's cool.”

I'm home.

#personal

Inaugurating a new “Geek” category for this post with the hope that I can prune back most of the current categories into Geek and Non-Geek. Anyway =>

You're probably on a Macintosh and noticed it hanging momentarily every ten seconds or so. You probably recently downloaded Photoshop or Dreamweaver or some other Adobe product that made you download and install the Akamai download manager before it would let you download and install the Adobe product you wanted in the first place. Being conscientious about organization and maintenance of the files in your computer you probably deleted the Akamai download manager after you used it. You went on your merry way and are probably enjoying your Adobe product. At some point you realized this really annoying hang that your computer has been doing. You went to the Console app and saw a list of error messages a mile long about a call to some plist feature that OS X couldn't find. You have glimpsed the trail of your enemy. A brief Google search turned up a few dated clues. You've found yourself here. Welcome. Let's kill that fucker, shall we?

Here's the error -

3/19/10 12:10:10 PM com.apple.launchd.peruser.501[398] (com.akamai.client.plist[606]) Bug: launchd_core_logic.c:4103 (23932):13   

3/19/10 12:10:10 PM com.apple.launchd.peruser.501[398] (com.akamai.client.plist[606]) posix_spawn("/Applications/Akamai/loader.pl", ...): No such file or directory  

3/19/10 12:10:10 PM com.apple.launchd.peruser.501[398] (com.akamai.client.plist[606]) Exited with exit code: 1  

3/19/10 12:10:10 PM com.apple.launchd.peruser.501[398] (com.akamai.client.plist) Throttling respawn: Will start in 10 seconds

Well, thanks a lot. You check out your Library folders and can't find a plist item for Akamai. You can't find anything for com.apple.launchd. Spotlight doesn't find anything for Akamai. Spotlight doesn't find anything for com.apple.launched.peruser. The trail is going cold. This is why you hate “download managers”. Aren't you capable of managing your own downloads?

Well, the sad news is that since you're a conscientious, but perhaps not completely and utterly thorough computer user, you didn't dive deep into the README that was provided in the Akamai folder. There was actually some useful info buried in there. Here's the fix.

First, you have to go back to Adobe and pick out any trial product to use (again). This will cause the Akamai thing to be reinstalled on your system, which is all you're after. It'll download that goofy Akamai thing again to a disk image which you then install. It will then start downloading the Adobe whatever. You can stop the download at that point. Now open up the Terminal and paste this command -

/Applications/Akamai/admintool uninstall -force

This is the only proper way to uninstall that stupid thing that you didn't want on your computer in the first place and for which they don't even provide an uninstaller, just a little hint in a README buried in the Akamai folder. Restart your computer and hope it forgets all about it. Carry on...

Props to the Apple Forum for providing the answer.

Well, it has been quite some time, hasn't it? So much has changed! So much is still the same! Where to begin? I've once again written this post in my head so many times that I don't know where to start. How about the first thing that jumps to mind?

Okay, the first thing that jumps to mind is that I just found a card in my backpack yesterday. It was given to me on new years in Portland, the night of my last show with RRE. I don't remember who gave it to me, which was probably their plan (or maybe I was just so out of it that I really don't remember). Anyway, later that night I was sitting in Mark-a-rita's hotel room and realized that I'd been carrying this card around in my pocket all night and maybe I should open it and see what it was. It was from everyone in the room, which was basically a great number of my really close friends from the RRE experience. As soon as I a saw all the signatures on it and a couple of the things that people had written I shoved it back in the envelope. I heard somebody behind me say “Oh, did he just open it?”

I couldn't read it then because I was totally overwhelmed. From the time that I announced that I was leaving the band to that night at the Aladdin I was completely flooded with so much emotion from so many people with whom I'd shared most of my adult life that I myself was emotionally paralyzed. It was amazing, and amazingly difficult. Most Sundays after gig weekends during that period I would spend at least a little while crying and not knowing why. I was leaving of my own free will and for reasons that were plenty good enough for me. What was this all about?

By the time I got to Portland I couldn't take it anymore. I'd had enough of people being so nice to me. I didn't deserve it. People gave me cards with hundreds of signatures on them telling me that I'd be missed. Someone organized a can drive in my name at our Thanksgiving show, for Pete's sake. What did I do? I just played the bass! I'd have been doing it anyway, hopefully, and instead I got to make friends and play shows and get good at the bass and be a rockstar for years. I didn't deserve this outpouring.

So, to anyone reading this who was around in that period, this one's for you.

I know I'll see some of you again, but I'll never see all of you again. My life has been a blessing, a dream. When I can transcend my neurosis and the chaos of my life currently for a few brief moments and really just take a breath, I feel so profoundly grateful for being a part of it. You and I made it together, and it was so. much. FUN! I kind of get it now, some of what there was to be sad about. Change is usually a wonderful thing, a necessary thing, but in a sense I feel like I've quit my family. Like I've spit in the face of the thing that we built. For that I'm both sorry and thankful for having had the experience in the first place.

I guess that'll do for now. Hopefully this gets the writer's clog out. I love you guys.

#life

And that's that I didn't start programming when it first occurred to me that I should. I'd be at least four years further along. Sigh...

A brief list of the things I've been working on.

The front burner:

  1. Wordpress customization
  2. CSS
  3. Photoshop
  4. jQuery
  5. GitHub

The back burner:

  1. Rails
  2. Sinatra
  3. HAML
  4. SASS
  5. Webby
  6. Facebook APIs

A whole lot of PHP, CSS, JS, and when I have time, Ruby.

Get something real up and running quickly. Running software is the best way to build momentum, rally your team, and flush out ideas that don't work. It should be your number one priority from day one.

It's ok to do less, skip details, and take shortcuts in your process if it'll lead to running software faster. Once you're there, you'll be rewarded with a significantly more accurate perspective on how to proceed. Stories, wireframes, even html mockups, are just approximations. Running software is real.

With real, running software everyone gets closer to true understanding and agreement. You avoid heated arguments over sketches and paragraphs that wind up turning out not to matter anyway. You realize that parts you thought were trivial are actually quite crucial.

Real things lead to real reactions. And that's how you get to the truth.

from “Getting Real“

-via 37 Signals

And on that note, this blog is going away soon. I'm going to be needing this space for something else.

Basically, just what it sounds like. The time during which your application, script, program, or whatever is run.

...that the DOJ approved the merger of everyone's two favorite companies in the touring business – TicketMaster and LiveNation? They found no reason to have anti-trust concerns with a merger between a monopolistic ticket service and a monopolistic concert promoter/venue owner. But wait! There's more!

One person who may have had some input into this decision was FCC chairman Julius Genachowski. Fun fact about Mr. Genachowski – one of his previous gigs before he came to Washington was on the board of directors at – wait for it – TicketMaster! I'm sure there was no conflict of interest if he did in fact have a say in this decision.

I'm sure we've all heard of Obama's hard-ass chief of staff, Rahm Emanuel. Fun fact about Mr. Emanuel – his brother, Ari, is a hard-ass Hollywood talent agent. He was supposedly the inspiration behind the character Ari on the HBO show Entourage. I'm sure that his being on the board of directors at LiveNation played no part in swaying the DOJ's decision to let this absurdly anti-competitive, big-business friendly decision to go through.

I might as well have voted for Palin...