Scott Boms

Our March 2007 Back Catalogue

Bits

I’ve been meaning to rework my visual identity over the last little while after talking to a number of friends in the industry who told me the name and logo just didn’t “click” with them. So I took up the challenge the other day and hammered out something new that I think really nails it.

WishingBits logo update
The all new WishingBits logo

I mean really — all those bike racks in cities throughout Canada and the US that look just like the old logo — it just wasn’t good enough! I saw them and they didn’t even make me think “Wishingline”.

The identity needed a little something extra. That slowly evolved into the decision to change the company name too. And so a new company was born. Long live WishingBits! I’m confident the new logo and wordmark will turn things around and be a solid first step in worldwide brand recognition!

By the way, anyone need a cheap logo? $189 and it’s all yours!

SXSWrapped 2007

SXSWi 2007 is now over and I’m back home in Toronto. What a week away! I’m sure I’m still a bit out of it after being awake for over 24 hours (8:30 AM Thursday though 9:30 PM Friday) so hopefully I’m somewhat coherent.

My 6AM Friday flight back to Toronto left me feeling particularly paranoid about sleeping through an alarm, so I stayed up chillin’ at my bud Rob Jones’ place in Austin until it was time to leave. I had to gas up the rental car, drop it off and then do all the usual stuff at the airport. Luckily, no problems with my connecting flights and I actually made it home a few minutes earlier than expected.

Back to South By

March 9th through the 16th was a crazy week and I’m flat out exhausted. SXSW was a great time and a nice break from work, allowing me to finally put faces and personalities to the names I mostly knew only online via Flickr, Twitter or other social networking sites.

Garrett Murray and I at the Ze Frank party
Garrett Murray and I at the Ze Frank party in Austin

The web standards/design community has a lot of great people in it; folks I admire and look to for advice, encouragement and inspiration. People from the Canada, the US, UK, Australia and elsewhere - all of whom came together to what is truly an international conference like no other.

Panels

Based on what I heard from numerous people who’ve attended previous South By conferences, this one, in terms of the actual conference panels was a bit of a let-down. The talks were often less interesting, less focused and poorly prepared.

In some ways, looking at the names of panellists, it stuck me as a bit of a changing of the guard in some respects. A lot of names I didn’t know with only a handful that I did. As such, I found myself spending more time socializing with my peers outside the panels, at various restaurants or bars around the 6th Street area rather than actually attending the panels. The handful that I did attend in general were good or at least passable.

Given that this was my first South By I find it hard to judge fairly aside from saying that these panels were generally much less well prepared than those at Apple’s WWDC conference, RailsConf or other conferences I’ve attended in the past. I think some of the panels touched briefly on topics that overall would have been more interesting than what the panellists actually spoke about.

Unfortunately, I think I missed just about all of the really good panels such as Richard Rutter and Mark Boulton’s panel on Web Typography, Khoi Vihn and Mark Boulton’s grid design panel. Luckily there are podcasts to make up for that in the same way Apple provides WWDC attendees video/audio and PDFs of the sessions each year.

THE Social Conference

Aside from the panels, and as I hinted at earlier, SXSW is really a massive social experience, even more so than I expected. Meeting the people and personalities I’ve almost exclusively known online and having them all turn out to be really cool, fun, and down to earth was the icing on the cake. Although I didn’t get to meet everyone I would have liked or had enough time to chat with the ones I did, I can’t complain.

Mike Stickel and D. Keith Robinson
Mike Stickel and D. Keith Robinson

I was fortunate enough to get to meet and/or hang out with folks like Dan and Alex Rubin, the entirely awesome Blue Flavor posse, Tiff Fehr, Matthew Pennell, Derek Featherstone, Veerle and Geert, Andy Budd, Paul Boag, Robert Scales, Mark Bixby, Brian Warren, Steve Smith, Patrick Haney, Jina Bolton, my homie Mike Stickle, Dave Shea, Jason Santa Maria and his lovely wife Liz (your mugs are in transit), Shaun Inman, Jesse Bennett-Chamberlai, Jon Snook, Faruk and his Apple Web Store cohorts, Anton Peck, Greg Storey, Bryan Veloso, Scott Raymond, Garrett Dimon, the Veer gang (Grant, Brock, Aaron, Issa and Yuval), Sean from frogdesign and undoubtedly many more who I’m blanking on right now.

I also finally got to meet the business partner of Theresa Neil with whom I’ve been working on the FiveRuns application for the last year - Rob Jones, a former frogdesign(er) and who’s just the best. Rob rocks, and along with his girlfriend Shara, was kind enough to put me up for my last couple nights in Austin while I was takin’ care of business.

The Year Of The Button

2007 was the year of the button. I’m nearly positive I’m heading home with more 1” buttons than business cards. I can think of a few folks though who I just realized I never snagged a card from and a few who just didn’t have any at all. But the buttons seemed to really be a big hit all around. They’re fun and it’s just something a little different.

Buttons
A big bag of 1 in. Wishingline popsicle buttons

I’m still adamant that the Wishingline Design Studio, Inc. popsicle buttons were the only ones that were hand-made (by my lovely wife). I think they turned out fantastically given the fact they weren’t printed and assembled until just hours before I left to come down to Austin.

There’s still a small handful of those buttons left for anyone who didn’t get one that wants one. Just send me an e-mail or IM me with you deets and I’ll get something in the mail for you.

About SXSW’s Idiotic Registration Process

As I said to Bryan Veloso when we briefly chatted during his and Dan Rubin’s Live from the 101 podcast, my biggest complaint about SXSW, aside from some bad or uninteresting panels and poor scheduling was the absolutely ridiculous registration process and just some generally bad conference structuring problems in terms of the location of things, including the panels.

Assuming you pay $300 to go to the conference, I think there’s a pretty darn good chance you’ll actually go.

Taking that into consideration, badges should have all been pre-printed for registrants like at every other conference in the world so that when you go to register, everything is just waiting for you. Having to wait in line, fill out a card with info they already have, possibly get your photo taken, then wait around for someone to print out your badge and yell out your name before you can actually finally get your badge. That’s just inefficient and stupid if you ask me.

For a conference with as much history as SXSW, that seems like a lesson they perhaps should already have learned. The same goes for putting the registration area right in the middle of a major throughway of people going to and from panels. Apparently much of this was worse last year which is a scary thought.

A Few Fun Moments

Other random fun moments — the Trailer Park Boys wandering around the convention centre, some dude dressed as Superman though with a cellphone and Blackberry case attached to his bright yellow belt, and apparently missing Paul Rudd as we left the trade show area. I’m also still convinced I saw Tarantino a few times on Saturday or Sunday night too when we were all out partying.

In terms of parties, I had a great time at just about all of the ones I made it out to - definitely the Blue Flavor party being my fave and MediaTemple one being possibly the most pretentious and possibly dull (hence my early exit) even though I made it into the “VIP” area.

The fact that Monday’s events were on my birthday made them particularly memorable and the most fun. Thanks to all for the birthday wishes and Twitters and to Mark Bixby and Brian Warren for filling me full of beer and assorted alcohol.

Monday the 12th was also made special by the Veer gang for taking me out for a big birthday steak dinner at Fleming’s. I know everyone loves Veer — but those guys really are the coolest, and if I didn’t enjoy working for myself, I could see having a lot of fun working with them. Right, Grant?

Lunch with Jesse Bennett-Chamberlain, Mark Bixby, Brian Warren, et al on Tuesday at Halcyon was also a real treat. Sure we got a bit wet (damn rain) making our way back to the convention centre for the afternoon but it was more than worth it.

It was nice to get away for a week though I missed Emily and Gillian and was very happy to get home. Talking with them on the phone or via IM just isn’t the same. I’m still filtering through pics to upload to Flickr, but should have the ones I want to post all up soon enough.

Thanks again to all my South By peeps, it was a blast. See you next year!

South By Southwest

On Friday, March 9th I’m headed south to Austin, Texas for the annual web, film and music geekfest known as South By Southwest. As such, the office will be closed for between the 9th and the 16th when I return.

All systems will return to normal on March 19th. While I’ll make every effort to respond to any inquiries promptly please take note that it’s unclear the exact level of connectivity that will be available at the Austin Convention Center throughout the day and throughout the city during the evenings.

If you’ll be attending the conference, please stop and say hello. Ask nicely and I’ll even hand over a shiny button (may not be exactly as shown). Ask really nice and you could get yourself a fancy mug.

Launching svnserve At Startup

Following up on this earlier post on getting started with Subversion, this time I want to look at getting the Subversion server running automatically when you start Mac OS X.

In the earlier post we ran the svnserve daemon manually. While this is fine as a one-off event, if you ever need to restart your system, we shouldn’t have to worry about remembering to start the process manually. Instead you’ll want to automate it. Thanks to the powerful launch facilities built into Mac OS X, this is a simple process and I’ll make it even easier for you.

The preferred way of launching background processes in Mac OS X means using launchd by creating LaunchDaemons and LaunchAgents which are simple plist (Property List) files which instruct launchd on how to start or stop these processes. The important difference in the two is that LaunchDaemons are intended for processes which should remain running even with no users logged into the system; perfect for Subversion.

Download this LaunchDaemon plist file and copy it to the LaunchDaemons folder in the Library folder on your system. Open the file in your preferred text editor and look at line 16. If you followed the earlier post on setting up Subversion, then you don’t need to do anything. If you created your repository in another location, you’ll need to edit the path to the repository on that line. When you’re done, save the file.

We’re now ready to make sure it will work. If you’ve got the svnserve daemon running, open up the Activity Monitor and locate the svnserve process. Select it and press the Quit Process button in the Activity Monitor toolbar. You should be asked for your administrator password. When the process exits it will disappear from the list.

After the process has closed, switch back to the Terminal. We’re ready to test our LaunchDaemon to start it up again. In the Terminal, type the following:


sudo launchctl load 
/Library/LaunchDaemons/org.tigris.Subversion.plist

Enter your administrator password. You should be returned to a new prompt in the shell if everything goes well.

To verify that our process is registered with launchd, we can print out a list of all the processes run with launchctl by running:

sudo launchctl list

You should see the org.tigris.Subversion item in the list. You can further test that the LaunchDaemon works by simply restarting your system and again checking the Activity Monitor to verify that the svnserve process is running.

Happy version control!

Install & Run Subversion On Mac OS X

Source control is something thought to be geared more towards developers and those doing more traditional computer science-type programming, especially when working in a team environment. Source control is also an invaluable tool for web designers and developers alike.

Source control comes in many flavours — the two most popular and widely used systems being CVS (Concurrent Versions System) and Subversion, a successor to CVS which significantly improves on the major gripes most people have with the CVS source control system.

The problem with both is mostly from the aspect of approachability. Once you get the hang of them, it becomes natural and there will be times when you wonder how you ever survived without it, but until then, using, and more so, setting up your own source control system is a daunting task.

First steps: pick one. Your best bet is Subversion as it has been gaining in popularity and is under active development in the open-source world. Ask anyone doing serious development in Ruby on Rails for example and I’d bet 10 out of 10 times they’ll say they’re using Subversion.

If you’re a lucky developer working on Mac OS X, getting up and running with Subversion is trivial provided you have a handle on a few basic Unix commands. In this mini tutorial, I’ll walk you through installing Subversion, creating a new repository and importing a project. Ready to get started?

Step 1: Installing Subversion

We can cheat here and go the quick route using an installer package created by Martin Ott of The Coding Monkeys, the fine folks behind SubEthaEdit. Once you’ve downloaded and un-zipped the .pkg installer file, double-click the installer and run through the setup screens. Subversion will be installed into /usr/local which is where you want it since it won’t mess with anything in the core Mac OS X install.

The Subversion binaries are installed in /usr/local/bin. Of interest are svn, svnadmin and svnserve. The first two are your administrative tools for interacting with Subversion, the the svnserve binary (application) will allow you to run your own Subversion server that you can work from.

At this point you should have Subversion installed.

Step 2: Customize Your $PATH

To make working in the Terminal easier, we should tell your shell of choice (typically Bash), where to look for executable programs such as the Subversion binaries. To do this, you need to create a file in your home directory (eg. /Users/your-user-name named one of bash_login, bash_profile or bashrc.

In order for the file to be recognized by the shell as a configuration file it needs to be saved with a period (.) at the beginning of the file name. To create the file, open up your text editor (TextMate or BBEdit will do fine) and add the following:

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

When you’re done, save the file. Remember to prefix the file name with a period: .bash_profile, for example. You’ll need to open a new Terminal window for the change to be loaded. You can test that things are working by typing sv and press Tab. If the name auto-completes, you’re good to go.

Step 3: Setting Up A Repository

We’re now ready to create a new repository. This is where our files will be stored. This is not where we directly interact with and modify files though, but where data is pulled from and committed to when we make changes. If it’s not all clear, it hopefully will be shortly.

Open a new Terminal window (you can find the Terminal application in the Applications/Utilities folder on your computer). Type the following command:

sudo mkdir -p /usr/local/svn

This will create a new folder named ‘svn’ in /usr/local after you’ve entered your administrative password which you will be asked for. This will be our Subversion repository. If you’d rather use a different location, feel free to change the path. For example, an external drive or in your Home directory.

Assuming you followed the above, you’ll need to change the group ownership on the ‘svn’ directory in order to be able to write to it. To do this, type the following at a new prompt in the Terminal:

sudo chgrp -R admin /usr/local/svn

This changes the group associated with the main folder and recursively down into the folder to the admin group in Mac OS X. As long as you belong to that group, then you should be able to write to that folder.

Step 4: Create a New Project in Subversion

We’re now ready to create our first project in Subversion. This will get us our initial setup from which to work from. As an example, let’s say we’re creating a new blog for a client named “Metropolis & Co.”. We might name the project metropolis_blog. To create the new project, back in the Terminal, enter the following:

sudo svnadmin create /usr/local/svn/metropolis_blog

If all is successful, you should be returned to a new prompt in the Terminal.

Step 5: Securing Our Project

The next thing you might want to do is secure access to your project, especially if you’re working in a team environment with different people on different machines or in different places. There’s a bunch of different things you could do here and I’m going to keep it simple for now. Just the basics — controlling read/write access and adding usernames and passwords.

In order for multiple people to interact with your new Subversion repository, you need to run svnserve on the system you ran through the previous steps on. So, before we start up the server, we need to configure the access details which can be done on a per-project level. So in our case, we want to edit the settings for our ‘metropolis_blog’ project.

In the Terminal, switch to the project directory by going to:

cd /usr/local/svn/metropolis_blog

In that folder you should find a series of directories and files. Right now we’re only interested in the conf directory’s contents.

cd conf

or

cd /usr/local/svn/metropolis_blog/conf

In the conf folder you will find three files: authz, passwd and svnserve.conf. We won’t look at the authz file now, and instead start by editing the passwd file:

sudo pico svnserve.conf

You can read through the usage notes in the file, but the basics of what we want to do here is enable read-only access anonymously and make write-access require a username/password which we will specify next. To do this simply change the matching lines in the svnserve.conf file by removing the preceding hash mark (thereby uncommenting the lines).


anon-access = read  
auth-access = write  
password-db = passwd

If you wanted, you could create a new password file in a different location and point to it in the file, but in this case, we’ll just use the defaults. Save the file by pressing Control-O and then Control-X to quit the pico editor. If you have TextMate installed you could alternatively edit these files with it.

Next, let’s create two user accounts for which we’ll grant write access to the repository. In the Terminal, type:

sudo pico passwd

Using the examples already present in the passwd file, add a couple new username/password combinations. For example:


user1 = password1  
user2 = password2

These are obviously crummy account credentials. I trust you to come up with something a bit tougher to figure out. When you’re done, press Control-O and then Control-X to save and quit.

We’re now ready to start up our Subversion server and import some files into our project.

Step 6: Start the Subversion Server Daemon

Starting the background daemon process for Subversion built-in server is as simple as running:


sudo /usr/local/bin/svnserve 
--daemon --root /usr/local/svn

Here we’re telling the daemon to run as the root user on the system, run as a daemon (background process) and use our repository (the —root here indicates the root of the repository, not the root user in Mac OS X which is simply implied by executing the command with sudo).

If you check in the Activity Monitor application on Mac OS X, you should see the svnserve process listed. If so, you’re set to go to the next step.

Step 7: Importing Files into our Project

Now let’s create a fictitious project structure which we can import into our project. On your Desktop, create a new folder called import. Inside that folder create three subdirectories named trunk, branches and tags. We’ll use this as the base for our import.

Once those folders have all been created, in the Terminal, type:


cd ~/Desktop/import && sudo svn import . 
file:///usr/local/svn/metropolis_blog -m "initial checkin"

Assuming all goes well, you should see some output in the Terminal indicating that your folders were added along with a revision number. Now is where the fun starts. Now we need to test that we actually, really did commit something to Subversion.

Step 8: Sanity Check

To verify that we did in fact commit something into our repository, the best way to do a sanity check is to check it back out somewhere. So let’s do that, make a quick change and commit the change back to Subversion.

To check out your project into a working directory (often called a ‘sandbox’), do the following in the Terminal:

svn co svn://localhost/metropolis_blog ~/Desktop/my_checkout

This should checkout the contents of the project into a new folder called my_checkout on the Desktop. If it worked you should see a nice confirmation message in the Terminal and find a new folder on your Desktop named my_checkout with the previously imported folders inside. Cool, eh?

Now we want to create a new file, add it to our repository and then commit the file into the repository. You can add and remove files to your hearts content with Subversion, but until you commit the changes you don’t actually affect the repository, only your local working sandbox.

So create a new file in your favourite text editor. In this case, let’s create a file called readme.txt inside the trunk subfolder. Now back in the Terminal we’re going to add the file and then commit it to Subversion (press Return after each line).


cd ~/Desktop/my_checkout/trunk  
touch readme.txt  
svn add readme.txt  
svn commit -m "adding readme.txt file"

As usual, Subversion should provide you with some feedback indicating whether your new file was added or not. If so, you’ll see a new revision number. At this point you’ve got a nice little development environment setup for source control for your projects. And now that we’ve done our sanity check, you can safely delete the import folder you started with.

If this was helpful or if you have any comments or corrections, please feel free to leave them. I do have another small piece to add to this tutorial but which will be included separately in the next day or so.

*Updated on March 4, 2007 to add details for customizing your $PATH variable in the Terminal.

« February 2007April 2007 »