Ignored By Dinosaurs 🦕

This one is for my buddy, Bob. Bob is an old school developer who has recently been baptized by the cooling waters of the web. He's building a site in Wordpress, so I thought I'd post a few relevant pieces of info up here for him, and those of his ilk.

First of all, realize that Posts and Pages are almost the exact same thing. The key difference between the two as far as I can tell is not that Pages are easier to add to the top-level navigation, but that Posts allow you to classify them with “Categories”. This allows Wordpress to work it's relational database magic, and in the hands of a skilled template author you can really take a very simple system and make it produce just about any listing of content that you want. When in the early stages of developing a site, it's better to take what you'd think of as top-level content items and see if there's any way that you can make it a listing of Posts in a certain Category, rather than just dumping related info on one Page. The chief advantages of working this way are maintenance and search-ability.

The Wordpress Codex is a wonderfully organized place to learn a lot about authoring templates. Most of the Wordpress core is basically just a large group of functions for talking to a database, and much of the magic of pulling the info back out in the way that you want it is in the template layer. Thus, the Theme Development section of the Codex is the place to spend a couple of days getting used to the way Wordpress works.

I'd suggest downloading my very bare bones base theme and stepping through some of the template files while browsing the Template Tags function reference. It may not make sense immediately, but it won't take long.

So I've been doing a lot of CMS work lately, both Drupal and Wordpress. The Wordpress gigs seem to come and go within a week, and are mostly just banging together a theme with varying amounts of complexity. I'm a recent convert to the 960.gs CSS framework, which makes the absolute quickest work of laying out a website. It's a thing of beauty and I've actually created my own base theme to make the work even quicker, but that's for another post.

Every one of these gigs requires the exact same setup – downloading various bits of software from all over the internet and copying them to specific places on my hard drive and then wiring them all together. It's a time consuming and utterly repetitive process, which makes it perfect for a computer to do. Even more perfect is that I'm already on a computer when I'm doing it! Wow...

I'd already taken to doing much of this work from the “command line”, and it only occurred to me yesterday that if I were doing the exact same series of commands from the command line every time I set one of these things up, isn't that something I could write a “script” to do for me? For those of you – a “script” is exactly what it sounds like. In the most basic sense all computer programs are scripts, be they compiled scripts or interpreted scripts. You must tell the computer what to do in no uncertain terms at all times for all possible scenarios. Failure to do so is a Bad Thing. So in this sense, I'm writing a series of terminal commands in the same order every time. I had no idea until yesterday that it was as simple as saving those commands into a file and running that file to get what I want done.

So, about 20-30 minutes worth of downloading, copying, and renaming has been reduced to about 20-30 seconds, depending on bandwidth. Here's the script, in case you're curious —

#!/bin/sh

wget http://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
rm latest.tar.gz
echo "Name of directory?"
read directory
mv wordpress $directory
cd $directory/wp-content/themes
wget http://github.com/JGrubb/Base-WP-theme/tarball/master
tar xzvf JGrubb-Base-WP-theme-0efd724.tar.gz
rm JGrubb-Base-WP-theme-0efd724.tar.gz
mv JGrubb-Base-WP-theme-0efd724 ibd

Now I'm off to write a script to do the same thing for me for Drupal...

Well, the hardest thing about blogging is not having things to say, but finding the time to write them down. And oddly, when I do find the time to write them down, I have very little to say. This is no exception...

There's a blogger out there named Anil Dash, who I first stumbled across at the Gathering by the River over there in Yarmony Creek territory. His bio is on the site, but he worked for Six Apart, a company that made some of the first mass-used blogging software. Their main platform is/was called Movable Type. Moveable Type powers Daring Fireball, I believe, and has mostly had it's lunch eaten by Wordpress. Six Apart has recently been bought by some larger company, and that's not what this post is about so I'll skip the details.

Six Apart was one of the few venture capital funded software companies to have been birthed in the wake of the Clinton era technology bubble (or the bursting of said bubble, to be more accurate). The founding of the company is profiled in the excellent book Founders at Work, one of the few cover-to-cover-interesting business books I've ever read, and the only one on the Apress imprint. I highly recommend it to anyone who's interested in how some of these more modern web startups got their start, as well as some interesting backstory on Apple, Adobe, and a bunch more early 80's innovators that you've probably never heard of. There's a section on Evan Williams, one of the really smart founders of Twitter, only the profile was written about three years ago, when he was known as one of the really smart founders of Blogger. Rather amazing.

And cue the crying baby.

Anyway, my point was that Anil's blog has seen a lot more interesting action lately, which is cool because he's got some really interesting takes on some of the business out there and the culture that goes with it. Enjoy.

jg

And I'm not talking about the iPad. The iPad is so cool I still haven't had the opportunity to play with one yet, but from a hundred miles up it's still just one of the bazillion devices that fall into the terrifically broad and jam-packed category of “gadgets to read stuff on the internet”. “Consume content” is the hipster way of saying it. It's an obviously lucrative market, which is why it gets the attention of so many innovators. Well and good, but what about people who “produce content”, we'll call them writers and publishers from now on...

I finally experimented today with a service that I signed up for several months ago but never spent the 45 minutes to learn how to get it going. It's called Typekit. The idea is so simple and so brilliant. Allow me...

[!info] <geek content <!--feel free to skip ahead--> >

There's a fundamental issue when you're building a website that most people probably aren't aware of at all. The issue is the limited number of fonts that you can reliably use to set the type on said website. The vast majority of the world is browsing your site on a Windows computer with a standard set of fonts installed on it. Yes, fonts are installed on your computer. It's a weird concept. When you browse to a website, that website tells your browser what font it would prefer to have used when the browser shows you that webpage. It's not at all uncommon for the designer to want to use a font that's not installed on that computer. There are only about a dozen or so “web-safe fonts” that you can rely on, and it gets old really fast using those same fonts over and over and over. If the designer wants to work outside that box a little he may ask the browser to call a more exotic font, but he'll also specify what he wants used if that font doesn't exist on the user's computer. Confused yet? An example perhaps...

This is a sentence set in Arial.

This is a sentence set in Lucida Grande

This is a sentence set in Georgia

This is a sentence set in Courier New

That's all cool, but what if you want to use something more exotic to give the name of the site a bit more branded flair? Well, in the case of Twitter and most every other website on Earth that means firing up Photoshop and making it there. You get many more fonts to choose from and you can always make your own if you want. Photoshop then spits out your cool text as an image. Yes, that Twitter logo is an image, not HTML text. That means that every browser renders it just like you want it, but it also means that it's a relative pain to change and that search engines can't tell what it says unless you fill in a bunch of info about it. HTML is preferable for anything that's meant to be read, but then you only get those dozen fonts. Double rainbow of a bummer.

So Typekit has a service that lets you use a whole bunch of different fonts, served up to every browser that's reasonably modern. I won't bore you with the details (that's for another post), but it's a serious lifesaver. I'm working on a site right now and my favorite Myriad Pro just ain't doin' it for the site header when it's set 3 inches tall. For a variety of reasons I didn't want to go to Photoshop, so I dove in and tried out Typekit. I soon came upon a cool font called Cody something or other.

Not exactly what the designer used, but vastly more stylish than Myriad.

</geek content>

Now, here's why this is cool for all of us. Services like this are actually starting to focus on the “production” end of the content business. That's a very good thing for all of us. That means that the web is finally hitting puberty as a publishing medium. There's a reason that there are a million different fonts in the world, because an all Courier world would be very boring indeed. It's a terrible thing that most websites only get a choice of a dozen different fonts, but it's a wonderful thing that someone is putting their head toward solving this problem for us all. I personally think that this is a BIG market waiting to happen. Get in now.

Speaking of BIG markets waiting to happen, has anyone tried out Greplin yet?

I think Fred Wilson sums it up pretty well.

So now we have a situation where the access providers want to change the game. And they are seeking the regulatory approval to do just that.

Venture backed startups and venture capitalists don't use regulations and lobbying as competitive advantages. We don't have armies of lobbyists. We don't have congress on our payroll. But the access providers certainly do. They have been regulated for a long time. They know how the game is played and they use it to their advantage. Regulation is their game. They want our government to regulate the Internet and they want those regulations written in a way that allows them to do what they want to do. A regulated Internet is a comforting thought to the access providers and a frightening thought to entrepreneurs and the ecosystem around them. [...] There is a lot of debate and discussion going on in Washington, Silicon Valley, New York City, and all around the country right now about net neutrality and regulating the Internet. We have big companies with huge vested interests making proposals that are heavyweight and are not startup friendly. We don't need Google, Verizon, AT&T, or anyone else telling us how to regulate the Internet. We don't need pages and pages of rules written by lawyers that will employ lawyers for years to come.

We just need to choose not to discriminate on the web and thereby maintain the way the Internet works today. I hope that everyone will come to their senses and realize that is the simplest, easiest, and best path forward.

Make no mistake. If this happens it will be a very bad thing for America.

Via AVC.

I was just thinking about iTunes this morning as I was downloading the new Big Boi record. iTunes is the only option to download music on my iPhone. I'd rather download music from Amazon mostly because they offer their catalog in mp3 rather than AAC format, because their albums tend to be a dollar cheaper, but mostly I think Apple could use some competition.

Amazon has the MOST outstanding iPhone app I've ever seen. It's not quite as easy as the website for doing heavy research, but only because of the size of the screen. I actually think the interface is better on the iPhone app. All the information you need is right there, and it's as intuitively laid out as it could possibly be. You can track your order, the search is fantastic and all of the product reviews are right there. Unfortunately, due to the rules in the iPhone SDK and the restrictions that Apple places on iPhone developers, you can't download music from Amazon to your iPhone. There's nothing preventing this feature from a technical standpoint, though Apple would argue that outside developers might write crappy software that would degrade the performance of blah blah blah. I don't think Amazon writes crappy software. The only real reason is to prevent competition.

iTunes is the “largest seller of music on the planet”. I'm not in the mood to do any research on the market share of the iPod and the iPhone in terms of smartphones and mp3 players, but it's obviously substantial. In terms of mobile delivery of digital music, it's a virtual monopoly.

If/when the DOJ (or more likely the EU) starts making noise about opening anti-trust charges against Apple to force it open it's platform up a little bit, I'll be cheering them on.

I was thinking yesterday for some reason.

I was thinking about how much more inspired I felt to write to nobody/everybody this time last year. I was remembering how it felt effortless to expound upon the music business and software as if I had anything of worth to say. Interestingly, I think I did. Interestingly, now that I ostensibly know a lot more what I'm talking about I feel a lot more reluctant to blather about it. Less confident. Why is that?

I think it has a lot to do with not making my living on a stage anymore. Getting up in front of people and doing a confident, creative thing for a living has a lot of side effects that are good and bad. Playing music was a fairly easy skill for me to pick up, and gave me much needed confidence in my teens that I might actually be a talented individual. It helped me to cast off some of the negative side effects of non-jockdom in high school. It gave me a very clear and immediate feedback mechanism as to whether or not I was doing a good job. This feedback is kind of like fertilizer for the ego. Fertilizer can obviously help plants grow stronger than they ordinarily would, but if you don't use care in the feeding it can take over the whole side of your yard, just as letting the ego grow unchecked can lead to a lot more serious problems (and seemingly uncontrollable side effects).

I think this experience thus far has been a -little- lot like taking the pruning shears to my ego. It kinda sucks because I feel a -little- lot less productive and open right now, but I think that it's going to be a good thing for my long term spiritual health. Besides, I'm actually doing a hell of a lot more than I ever have before. I just doesn't feel that way because there's no crowd cheering when I do something halfway right. Strange, mostly because I disagreed with my shrink when he said something like this to me a few months ago. I didn't consider myself the attention craving type, which has turned out to be not-the-case.

When you prune back that bush, it looks a little ugly at first.

#personal

Drush is a tool for working on Drupal websites. It's technically filed away on Drupal.org as a “module”, but it's not exactly a module. It's more like an add-on for your webserver setup, either development or production, that adds some really useful tools for managing your Drupal website. For instance, those of you familiar with Wordpress might be surprised to know that Drupal has no built in facility for updating either the core Drupal code or any of the add-ons (which go by the name “Plug-ins” in Wordpress and “Modules” in Drupal). I don't have any statistics to back this up, but I think the average Drupal site is built with many more of these open-source-and-constantly-shifting contributions than the typical Wordpress site.

What all that means is that Drupal is a pain in the ass to maintain. When one of your modules has an update, you get a message that tells you so. These messages come all the time. They never stop, actually. And there's no way to make them go away except to go and download the latest version(s) and upload it/them to the server over FTP, hope nothing went wrong with the transfer, and then go and update your DB, more or less manually. Over time, slackness can set in.

I've been reading about it for several weeks because the most interesting thing it does (to me now) is take care of updating your stuff. The downside for some is that it's a command line tool. However, if you like the command line because it makes you feel like a real programmer, you're in luck! drush up updates your site, modules and all by downloading them straight from the Drupal CVS repository, and then running any DB updates for you. “Magic”, you might say had you been deprived of this after having tasted Wordpress' sweet waters.

I haven't even used it yet, but I spent the last two days figuring our how to install it, and found the answer scattered over 3 or 4 different places. Maybe I'm the only one, but I figured I'd make it a little easier for the next guy.

  1. Make sure you know how to use SSH on your grid server account, and log in.
  2. You will now be at the command line. You want to make sure you are in the home directory, so type:

cd ~/ 3. At this point you'll create a folder for stuff that you install to live in. Type:

mkdir bin, and then switch into that directory:

cd bin 4. This command fetches it from drupal.org for you:

wget http://ftp.drupal.org/files/projects/drush-All-versions-3.0-beta1.tar.gz

in tarball form. 5. Untar:

tar xzvf drush-All-versions-3.0-beta1.tar.gz 6. Switch into the new drush folder:

cd drush 7. Take a look at the contents of that folder by typing ls and make sure everything looks like this: LICENSE.txt commands drush.api.php drush.info drush_logo-black.png example.drushrc.php README.txt drush drush.bat drush.php example.drush.inc includes 8. Note the path to that folder by typing: pwd.

You'll get something back like: /home/70298/users/.home/bin/drush.

The drush command is at the end of that path, and you have to let the server know that now.

Note that everything before bin can be replaced with ~/. 9. Switch back to your FTP client and root around in your server for the “home” folder. It's going to be back toward the root:
cd ~/users 10. You may or may not see a file named .bash_profile. Note that it might be hidden depending on your FTP client. If you are sure that it's not there, create a file and give it that name. 11. MT runs PHP4 on the command line by default. You have to specifically tell it to run Drush with PHP5. Thus, paste this into the file you just created (.bash_profile).

alias drush='/usr/bin/php5 ~/bin/drush/drush.php' 12. source .bash_profile to reload the .bash_profile file. 13. God willing, if you type in drush at this point you are going to get a long list of newly available commands.

Note that this took me over a month of poking and prodding to get working correctly. Specifically, in contrast to all the Drush installation tutorials I found out there, I had to specifically direct it to the drush.php file, rather than the generic drush wrapper file that the tutorials directed me to use when aliasing the Drush command. As usually YMMV.

Good luck!

EDIT – September 8, 2010

I've been having issues with updating the Drupal core with Drush. drush up works just fine to update any modules, but for some reason I get an error that Drush needs PHP 5.2 when trying to update the core. It seems to kick out of php5 when it gets to Drupal core. I've tried running the full php5 /home/70298/users/.home/bin/drush/drush.php up and it still says that my cli version of PHP is too old. Any suggestions/workarounds/fixes are most welcome. Thanks, JG.

EDIT – November 8, 2010

After filing a ticket with Media Temple's Awesome Customer Support, they pointed me to a knowledge base article on configuring multiple open basedir directories. I haven't had a chance to go through it yet and update the instructions above, but if and when this becomes absolutely necessary to use Drush, I certainly will.

I knew they were out there somewhere. Their twist is that they're writing all the tools themselves. They don't have all their cards down on the table, but it seems like they're ultimately after some kind of easy hosted thing.

http://cashmusic.org/

I still think that Drupal is a better way to go. In fact, I think any open source movement that can piggyback on the conventions and success of another is already that much further up the ladder. These guys appear to have a track record, though. Who knows. Maybe some of their tools can be adapted.

Hello, faithful. Or curious. Or google searchers. As usual I've got too many ideas and too much work and not enough time or attention span.

The iBD project lives here, or rather is in gestation here. It's probably going to be a few weeks at the least until i can actually put some time into it. As I see it, there's a goodish amount of work to be done. Gee, I wonder if that's why nobody has really tried this before? Anyway, in the meantime I have some actual work that I need to get off of my plate and into my portfolio. Being a relative Drupal newby presents many thrilling challenges.

The good news is that one of my current client projects involve calendaring, a big portion of the to-do list for this project. Drupal already has most of this ground covered for us, but implementation is going to be key. Adding an actual calendar does up the complexity, both for us as the builders and installers and for the end-client, the bands.

eCommerce is the big deal here, I think. For too long it's been in the hands of someone else for most bands. That's got to change. If anyone knows more than I do about Amazon S3, please chime in. I think DIY content distribution is going to be the paradigm of the near-future, and it's not that difficult for developers to do. The challenge is to create a system that not to difficult for bands to do. As always. A system that monitors digital content downloads on the site and automatically throttles up cloud distribution as needed?

Anyway, just a quick “hi”, and to let you know that I'm around if you need me.