Skip to content

Some Awesome Ben Photos

Ghostbusters HQ in LEGO

Ghostbusters HQ in LEGO

This is an incredible build, very impressive!

Maybe we’re too caught up on efficiency. We spend our lives fine-tuning our ability to make money – which is a good thing – but then we use that money to avoid doing some of the only things in a human life that can provide actual fulfillment. We pay someone else to raise and teach our children. We pay someone to build our home, and then someone else to heat them. We pay others to manufacture our Christmas trees. On the one hand, we passionately believe that work is a good thing, and important. But we’ve fallen prey to a philosophy that holds work as a means to an end, not an end in itself. We’ve forgotten that good work – hard work – is in itself fulfilling. Build something. Chop some wood. See if I am wrong.

– Patrick Kilchermann

Configuring a Local Apache/PHP/MySQL Dev Environment in OS X

PREFACE

These are my personal notes that I use every time I reformat or get a new computer. I’ve curated these instructions over the course of 4 years, so they are littered with links to relevant source material and have been stripped down to the exact actionable steps I need to take to get up and running. As such, this post is mostly for my own benefit, and I will regularly update it as my process changes (usually with each new OS X release).

These instructions have been updated to specifically support OS X Mountain Lion (10.8), but should also work with Lion (10.7), Snow Leopard (10.6), and Leopard (10.5).

I might write some follow-up posts about using this setup to create a killer local WordPress Multisite installation, and also porting your dev environment contents to live in DropBox. If so, I’ll link them up here.

Why not just use MAMP?

If you’re wondering, I like to set up my local environment, instead of using MAMP, because I prefer to have it always available. I never liked having a separate application running just so I could access my local dev setup. Also, it has always bothered me that MAMP bundled its own copies of PHP, Apache and MySQL when the only missing component that doesn’t come pre-loaded with OS X is MySQL.

Help, I’m stuck!

It’s worth mentioning here that I’m not a very smart guy, which is why I’ve kept these detailed notes for the last 4 years. These instructions work for me, but they might not work for you. If you get stuck with an issue, I suggest googling around and sharing what you discover here in the comments. It will likely be much faster than asking me for help, and will benefit everyone who reads this (me included)!

A Quick Word about my Terminal Commands

In many of the terminal instructions I use my custom bash shortcut “sub” to open a given file in Sublime Text 2 via command line. You can substitute “sub” for your text editor of choice (e.g. “vi” for Vim, or “mate” for TextMate, or “subl” for the standard Sublime shortcut).


Install MySQL

Follow these steps, in order:

  1. Download DMG installer from http://www.mysql.com/downloads/mysql/
  2. Install MySQL
  3. Install MySQL auto-start
  4. Install MySQL pref pane
  5. Then, configure MySQL:
  6. In Terminal: sub ~/.profile
    1. Add this line to the file: export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
    2. Save and close the file.
  7. In Terminal: source ~/.profile
  8. Finally, configure MySQL socket (because OS X is looking in the wrong directory): http://www.davewidmer.net/blog/2009/03/upgrading-to-leopard-broke-my-local-development/

Configure PHP

These steps are really only to keep you sane while testing uploads and such in your projects:

  1. In Terminal: sudo cp /etc/php.ini.default /etc/php.ini
  2. In Terminal: sub /etc/php.ini
  3. Update upload_max_filesize to something like 64MB (L891 in OS 10.8)
  4. Update post_max_size to something like 64MB (L740 in OS 10.8)
  5. Save and close

Configure Apache

Update httpd.conf:

  1. In Terminal: sub /etc/apache2/httpd.conf
  2. Uncomment the include for PHP5 (L117 in OS 10.8, L111 in older releases)
  3. Uncomment the include Virtual Hosts (L477 in OS 10.8, L623 in older releases)
  4. Save and close the file.
  5. If you’re running OS X 10.7 or earlier, you’ll also need to enable “Web Sharing” in System Preferences > Sharing.

Setup Virtual Hosts (http://foundationphp.com/tutorials/vhosts_leopard.php):
Note, you’ll want to replace “rzen.dev” with your own custom URL, and “username” with your own OS X username.

  1. In Terminal: sub /private/etc/hosts
  2. Add the following line to the file:
    1. 127.0.0.1 rzen.dev
  3. Save and close the file.
  4. In Terminal: sub /private/etc/apache2/users/username.conf
  5. Add the following lines to the file:
    1. <Directory "/Users/username/Sites/">
          Options FollowSymLinks Indexes MultiViews
          AllowOverride All
          Order allow,deny
          Allow from all
      </Directory>
      
      <VirtualHost *:80>
         ServerName rzen.dev
         DocumentRoot "/Users/username/Sites/"
      </VirtualHost>
  6. Save and close the file.
  7. Finally, flush the DNS cache & Restart Apache (you’ll want to do this any time you edit your hosts file and virtual hosts setup):
    1. In Terminal: dscacheutil -flushcache
    2. In Terminal: sudo apachectl restart

In my setup I’ve registered rzen.dev to point to my ~/Sites/ folder, rzen.wp to point to ~/Sites/wordpress/, and rzen.php to point to ~/Sites/phpMyAdmin. This means I’ve created a separate pointer for each domain in my hosts file, and a separate <VirtualHost> container for each in my apache .conf file.

Apache Error Notes

Later, if apache ever goes south and starts spitting 403 Forbidden, or some other error, check the error log. You can open it from inside Terminal: sub /var/log/apache2/error_log

If the problem is “Symbolic link not allowed or link target not accessible”, confirm that your symlinked folder, it’s parent directory, et al, have sufficient permissions for owner and group (http://forums.dropbox.com/topic.php?id=40992#post-337655).


The Optional (but recommended) Bits

Install phpMyAdmin

  1. Download latest version of phpMyAdmin from http://www.phpmyadmin.net/home_page/index.php
  2. Unzip to ~/Sites/phpMyAdmin/
  3. Rename config.sample.inc.php to config.ing.php
  4. On L36 change $cfg['Servers'][$i]['AllowNoPassword'] to true
  5. By default, your login will be root with no password

Install WordPress

  1. Download the latest version of WordPress from http://wordpress.org/download/
  2. Unzip to ~/Sites/wordpress/
  3. Create a new database for your install via phpMyAdmin to use during installation
    • Database server will be localhost
    • Username will be root
    • Password will be blank
  4. Pro-Tip: Once installed, edit wp-config.php add define('FS_METHOD','direct'); somewhere before the “That’s All, stop editing here” comment. This will enable direct access to the file system when running automatic updates and make your local dev experience mui guapo.

Install Git

Visit http://git-scm.com/ and download + install the latest version. Done.

Install SVN

For some reason, beginning in Mountain Lion (OS X 10.8), Apple stopped packaging SVN with Mac OS. So, you’ll need to download “XCode Command Line Tools” separately by signing in as a Developer (after registering for a free account using your Apple ID) here: https://developer.apple.com/downloads/index.action.

Alternatively, you can download SVN directly from WanDisco: http://www.wandisco.com/subversion/download#osx. I recommend the 1.7.x version.

Thankfulness Changes a Person

The following are notes from a teaching I gave on Tuesday, Nov 20, 2012 to a group of some really cool college students. It’s been edited slightly to be readable and make sense here in print, but it’s still missing some of the finer bits (and discussion points) I expounded on during my teaching.


It is necessary to be thankful.

Tonight, I’m going to speak to you about how a spirit of thankfulness could literally change your entire perspective on life. I’m living proof of just how powerful an air of thankfulness is, and if you’ll listen to everything I have to say tonight I guarantee you will leave here with a fresh set of eyes.

I have five key points that I’d like us to discuss tonight, the very first is an important realization you need to make:

1. You have the power to change things…

You are an adult; a fully grown man or woman.

I know many of you don’t realize this yet. If you haven’t, it’s likely because you think you’re “just a student” or, more likely, because we live in a society that is regularly increasing the gap between what we consider to be childhood and adulthood. But, believe me when I say this, you are a fully grown adult. This isn’t something you will be someday at some discernible point in the future, I mean today, right now, you’re an adult, and you have a lot of responsibilities.

Not only that, you are also exceedingly blessed, you are incredibly loved, and you have immeasurable power.

So, the question is, how will you use this power and these resources you have been given? And, what the heck does any of this have to do with thankfulness?

A couple of weeks ago I shared an important lesson with our leadership team. We were discussing the dangerous, quicksand-like traps of gossip and even the unintentionally harmful things we broadcast to the world. The solution is a pretty simple one, I suggested that we:

2. Broadcast Only Good News…

Now, before you stop listening and write this off as terrible advice: please realize I don’t mean that you should internalize your struggles and never mourn. It is imperative that you share your burdens with others. If you ever choose to struggle in isolation, whatever the reason, you’re an idiot.

Now you’re probably thinking, “Brian, Jesus tells us in Matthew 5 that we shouldn’t call people idiots.” Well, I can call you an idiot, because I are one. Just trust me on this: share your burdens with the people you care about and you’ll soon find yourself with more friends than burdens.

Okay, so, what do I mean by “only broadcast good news?” I mean that you should stop broadcasting negative news…

  • Don’t talk about celebrity garbage (or talk about them at all, for that matter)
  • Don’t share disheartening stories or statuses via Facebook
  • Don’t spread the negativity you’ve been fed by other sources
  • Don’t waste your life sharing something that isn’t uplifting someone in some way

It’s a simple check, really. Before you share something just ask yourself, “is this uplifting to someone in some way?” if the answer is yes, share it, if not, don’t. Done deal!

Negative news can usually be boiled down to F.U.D. What’s F.U.D.? Fear, Uncertainty and Doubt — or, in other words, worry — which poisons our ability to be thankful.

Jesus warns us against how poisonous worrying can be in Matthew 7:

25 “That is why I tell you not to worry about everyday life—whether you have enough food and drink, or enough clothes to wear. Isn’t life more than food, and your body more than clothing? 26 Look at the birds. They don’t plant or harvest or store food in barns, for your heavenly Father feeds them. And aren’t you far more valuable to him than they are? 27 Can all your worries add a single moment to your life?

Besides broadcasting only good news, I also want to challenge you to:

3. Be Thankful in Every Circumstance…

I know that “just be thankful” is woefully inadequate advice. That’s why I’m not telling you to “just be thankful”. Thankfulness in a vacuum is not true thankfulness.

Lets pause and think about that one for a moment: thankfulness in a vacuum is not true thankfulness.

If we were to compartmentalize our lives, and isolate those things we are thankful for from the things we are not, how thankful can we really be?

My lovely wife reminded me last night that Thankfulness isn’t just a statement, it’s an action.

So, when you pluck out something abstract and say, “I’m thankful for school” in one breath and in another say, “I can’t wait to go on break, I hate all of this homework and my professor just isn’t cut out for teaching.” … well, I’m just not convinced you’re actually thankful.

Your sense of gratitude should move you.

It should be so powerful that it inspires you, that it propels you towards action. When you’re truly thankful for something, you’re thankful even in spite of it’s negative qualities. You’re able to say “I’m thankful for school” without hastily qualifying it with “but, I really wish I had less homework…” (Pro-tip: if you have to add “but” to a sentence that start’s with “i’m thankful”, you’re not actually thankful)

When you’re thankful in every circumstance you force yourself to be present in the moment. It serves as a reminder as to why you’re in your current situation (your purpose, goals, desires, choices, etc). Furthermore, it helps you to broadcast good news.

This next point, out of all the others, might be the most instrumental in helping you dramatically improve your life. It’s a small point that I’ve personally been practicing for a number of years, and if I trace back all the threads that have helped lead me to where I am today, I can tell you that it was this focus that completely reshaped my entire way of living.

4. Lead with Thankfulness…

Every time I talk to God I lead with something I’m thankful for, without exception. The events of the day, my present circumstance, the things that are on my mind, all of it falls second to my expression of gratitude to our Creator for blessing me beyond the limits of my own comprehension.

I’m sure this next bit will sound unbelievable – and I’m afraid you won’t be able to fully understand it until you’ve tried this yourself – but, in my experience, I’ve found that the more I’m thankful, the more I have to be thankful for.

Leading with thankfulness in prayer helps refocus the conversation. It puts me in a proper state of mind to approach our incredible, powerful, merciful, benevolent, gracious creator. It reminds me that nothing I have is entirely of my own accord (though I took initiative, everything is a blessing from God).

The book of Job, if you’ve never read it, is a poetic tale of a man named Job whom God allows to be tempted and tortured by the devil. God knows that Job is a righteous man and that he can take it. Throughout the story he’s essentially stripped of everything: family, friends, food, farms, you name it. At one point he even gets covered in boils so that the very fiber of his being is put on-edge.

Throughout the book, and this is the lesser-talked-about portion, Job complains and whines a lot. I can’t blame him, of course, I’m just putting it out there so you realized he didn’t take this punishment lying down. He certainly goes to bat for God when those closest to him begin to doubt his righteousness and even God’s sovereignty, but his conversation between those moments is punctuated with complaints and questions directed towards the Creator. Eventually God answers back and puts Job in his place

Job 38 starts with this:

Then the Lord answered Job from the whirlwind:
2 “Who is this that questions my wisdom
with such ignorant words?
3 Brace yourself like a man,
because I have some questions for you,
and you must answer them.
4 “Where were you when I laid the foundations of the earth?
Tell me, if you know so much.
5 Who determined its dimensions
and stretched out the surveying line?
6 What supports its foundations,
and who laid its cornerstone
7 as the morning stars sang together
and all the angels[a] shouted for joy?
8 “Who kept the sea inside its boundaries
as it burst from the womb,
9 and as I clothed it with clouds
and wrapped it in thick darkness?
10 For I locked it behind barred gates,
limiting its shores.
11 I said, ‘This far and no farther will you come.
Here your proud waves must stop!’

It underscores that there is nothing I could give to or do for God that wasn’t already given to or done for me. It also helps me highlight other things that I’m thankful for, and as a result my prayers tend to be punctuated with thanksgiving.

I want to challenge you tonight to open your times of prayer with a word of thanks. I don’t want you to stop there, though. Don’t only lead with thanks when you talk to God, do so when you talk to others, too. Open your conversations with whatever is on your mind that has left you feeling thankful and see how it transforms your interactions.

5. You have a lot to be thankful for…

Last week AJ presented a lot of insightful truths about grace, justice, power and influence. One of the things he said is a perfect signpost for what I have to say tonight “Even as a college student, you have more wealth and resources at your fingertips than most of the entire rest of the world.”

You’re a poor college kid, right? You don’t have a job, you can’t afford school, you’ve got more homework than you know what to do with, your parents are divorced, your friends are being pretty cold to you right now, your family is awkward or hateful or just plain difficult to be around and now you have to spend 4 whole days with them. There’s a lot of crap in your life that no one knows about, and if they knew they’d probably turn their back on you. Am I right?

Think about each of these questions for a moment:

  • How hungry are you right now? Do you know where your next meal is coming from?
  • How cold are you right now?
  • Where are you going to sleep tonight?
  • What’s going to happen when the clothes you’re wearing now get dirty?
  • If you get sick or injured, what’s going to happen to you?
  • How many people that you personally know have died in the past 48 hours?

It’s a fairly safe assumption to say that everyone in this room is not starving, we all have a warm place to sleep, we have spare clothes for when what we’re wearing gets dirty, we trust that we’ll be cared for if we get sick or injured, and we haven watched (or know) many people who have died in the last two days.

These are all incredibly real, incredibly tragic, and incredibly powerful foundations in life. If we were born into a different family, a different culture or a different region there is an exceedingly high chance that we would have answered every one of those questions differently. And yet, here we are, in privileged America concentrating on the very few negative qualities in our life instead of praising God for the innumerable positives.

As humans, we have great capacity for forgetfulness. Many of you cannot remember what you had for lunch one week ago today; I, on the other hand, cannot even remember what year it is, let alone what day it is.

This trait has made it very easy for us to forget the vast quantities of things we have to be thankful for. This is why I recommend leading with thankfulness. It’s why I recommend broadcasting only Good news. When you forget things, wouldn’t you rather forget the negative parts that don’t matter and remember the positive?

The tribes of Israel had a neat trick they used to remember things.

In Joshua 4, the Israelites have just crossed the river Jordan to be delivered into the promise land. This takes place some 40 years after they were originally supposed to enter into this space (and, if you forgot, the reason they hadn’t been able to enter into the promise land earlier is because they chose to turn away from God and go their own way). Anyhow, the chapter begins like so:

When all the people had crossed the Jordan, the Lord said to Joshua, 2 “Now choose twelve men, one from each tribe. 3 Tell them, ‘Take twelve stones from the very place where the priests are standing in the middle of the Jordan. Carry them out and pile them up at the place where you will camp tonight.’”

4 So Joshua called together the twelve men he had chosen—one from each of the tribes of Israel. 5 He told them, “Go into the middle of the Jordan, in front of the Ark of the Lord your God. Each of you must pick up one stone and carry it out on your shoulder—twelve stones in all, one for each of the twelve tribes of Israel.6 We will use these stones to build a memorial. In the future your children will ask you, ‘What do these stones mean?’ 7 Then you can tell them, ‘They remind us that the Jordan River stopped flowing when the Ark of the Lord’s Covenant went across.’ These stones will stand as a memorial among the people of Israel forever.”

21 Then Joshua said to the Israelites, “In the future your children will ask, ‘What do these stones mean?’22 Then you can tell them, ‘This is where the Israelites crossed the Jordan on dry ground.’ 23 For the Lord your God dried up the river right before your eyes, and he kept it dry until you were all across, just as he did at the Red Sea when he dried it up until we had all crossed over. 24 He did this so all the nations of the earth might know that the Lord’s hand is powerful, and so you might fear the Lord your God forever.”

6. You can’t change everything…

So far we’ve covered that you are already a fully grown adult, capable of making decisions, rife with responsibilities, and you have the power to change things. I want to be clear, however, that you cannot change everything.

Free will trumps everything. You cannot change someone else’s will no more than God can control your own. Our biggest freedom in life can also be our greatest hindrance.

I can’t tell you what to do, no one can. I can only point you in the right direction, and pray that you listen closely and drink deeply the word of God.

One of my favorite books in the Bible is Ecclesiastes. This book was authored by King Solomon, who is credited as the wisest man to ever live. In it he details his pursuit for meaning and purpose by trying the best and greatest of everything. As king, he was the richest man alive and had more wealth than anyone could ever spend in a single lifetime. He built incredible palaces, had enormous vineyards, and did and tried everything. As a result he found that everything was utterly meaningless, like a passing vapor.

This sounds pretty disheartening and depressing until you cut through everything and realize that everything derives meaning from God and that all blessings come directly from God. In fact, in Ecclesiastes 2:24 he writes,

So I decided there is nothing better than to enjoy food and drink and to find satisfaction in work. Then I realized that these pleasures are from the hand of God.

Everything becomes remarkably more meaningful and powerful once you realize that it’s a direct blessing from the creator. If you read the entire book of Ecclesiastes it also adds a very humbling perspective to life: there is nothing new under the sun, and everything that can be done/seen/bought/experienced is meaningless unless you find solace in the fact that these things are from the hand of God and they draw you nearer to Him. It’s also a healthy reminder that a simple life, centered around few distractions and requiring the most basic essentials, tends to lead to the purest and most uninterrupted joy.

Solomon, a man who owned more and experienced more than anyone, ultimately discovered that the best there was for him to experience in life was to simply enjoy food and drink and find satisfaction in work. For this, he was thankful. Because of this, he was changed.

Walking with God requires honesty and humility.
Humility breeds thankfulness.
And thankfulness changes a person.

Changes in the Wind, Part 3: Advice for Developers

Note: This is the third part of a three-part series. Part 1 discusses advice for leaders and part 2 is for designers (and everyone who works with designers). Read Part 1 (Leadership Advice) or Part 2 (Design Advice)

 
For the developers in the audience, I want to take a moment to offer some general advice and good practices as I round out this series about my tenure as a leader and my ongoing role as a developer. Below you’ll find four simple tips, plus a practical reminder. I’ll have more to share in the many months to come, but these are enough to get things started. Without any further ado…

1. Program like a lazy person

Build solutions only when you cannot outsource them and build in the simplest iterations possible.

I’ve personally found that much more can be accomplished when you rely heavily on the work of others. Now, I’m not suggesting you pawn all your tasks off on someone else (that’s the job of a good leader). Nor am I suggesting that you lazily take credit for the work of others (that’s called “being a jerk”). What I am saying is that any solutions you may need probably already exist elsewhere else already, and you should borrow much code from them (if not use them in their entirety).

Building things in their simplest form leaves room for fewer errors and makes for expedited builds (rapid prototyping, multiple iterations, whatever you want to call it), always allowing you to gain features only when they’re actually needed.

Equally important is documenting things as you go (referring to the URLs where you found various components) — future you is never as clever as present-day you, he definitely won’t understand or remember why you built something a specific way.

2. Always pull a fresh copy of any file

Hopefully your team is using a managed codebase with tools like SVN or GIT. If so, you already know the importance of updating your local repository before pushing any changes (and you can skip this section). If that’s not the case, and you’re working with a team of people who are updating a project via FTP, GET HELP NOW! I’m kidding, but I’m also serious… version-controlled code is a godsend, whether you work alone or on a team.

Anyway, if you’re still reading this and you aren’t on a managed codebase, here’s what you need to know: if you’ve had your local copy for more than an hour, assume that it is already out of date and you need to pull a fresh copy from the server. My previous team was unfortunately relegated to traditional FTP at the expense of overwriting each other’s work time and again. That’s the cost of not working with proper version control. Hopefully new dev practices will help you avoid this in the future, but until anything is in place it’s always safest to check with someone before you push any changes.

3. Always Be Testing (ABT)

This is the most cost-effective part of your job, and its the most budget-justifying proof that you’re worth every penny someone pays you. Every time you push a new file to the server you should run it through the testing system to make sure things are okay. If the user cannot checkout, or cannot subscribe, or do whatever it is they are supposed to do that generates revenue for your company, you are bleeding money.

You should also know that you have the authority to challenge everyone else who isn’t testing the pages you build. This includes the project requestor. But, if you are not personally testing everything you also forgo this (important) right to challenge others.

4.Don’t worry about looking incompetent

It’s only when you draw attention to how incompetent you feel that people notice and wonder. I’ve almost never thought, “man, this guy is moving slow” or “man, i don’t think he knows what he’s doing” without a coworker or contractor bringing up their own insecurities first. Trust that we trust you and that we also know things are complicated and take time :) — You’re good at what you do, and that’s why you were hired. Just keep swimming!

Bonus Tip: Why “5 Minutes” doesn’t always mean five minutes

I covered this important realization on bug-fixing in an earlier post, but I felt it prudent to include again here. Be careful as you offer time estimates, and do your best to help others understand when you’re incorrect.

So, there you have it.

Some of the most practical advice I can give you from several months of being a leader and many years of being a developer. Let me know what you think and keep up the awesome!

Changes in the Wind, Part 2: Design Advice

Note: This is the second post in a three-part series. Part 1 discusses advice for leaders and Part 3 is for developers.

 
Continuing along in my story as I transition away from my role as “Implementation Team Leader” for Delta Defense, I have for you today some maxims for better design. If you’re already a designer or interested in becoming one these will help you refine your craft as you move along. If you’re not a designer these will help you better understand the design world. No matter who you are, I think this will be of value to you in some way. That said, let’s get started!

1. Your job is not to make things look pretty.

Your job is to take complex ideas and directions and distill them into the simplest, clearest easy-to-understand form. It is rarely an easy task, and it is almost always one that will require multiple iterations to accomplish successfully. Before you begin a design you should determine the most important aspects of what you’re trying to communicate. Then, see if there is anything that does NOT need to be communicated in the place you’ve been asked to show it. Once you’ve established what is most important and what is least important you will be able to devote correct levels of emphasis to them in your design.

2. It’s always the difference that makes the difference.

The little details matter the most, so you should go to great lengths in order to make sure they’re perfect. Expect the final 10% of any design to take just as much time as the first 90%. In the end, being mindful of the smallest details will make all of the larger pieces look and work better, creating a better experience for the end-user.

It’s important to pay just as close attention to the details of a project request as you do to project’s design, too. Follow each instruction carefully and always question your assumptions, asking the requester about their intentions before plowing forward. This will help prevent several errors and will almost certainly save you from extra work long-term.

3. Less is not more, Less is better.

A design is not finished when you have nothing left to add, but when you have nothing left to take away. The less you put in your communications, the more important each individual element in that communication becomes. Because of this, things that are communicated with less also communicate most effectively. It’s easier to take-in what they have to say, and it’s easier to follow their hierarchy and emphasis. Less is always better.

4. Beware the paradox of choice!

We, as humans, desire to flex our fundamental right to choose. We enjoy having choices. We want to have choices. Never is this more true than in the realm of design. You’ve already experienced this, and you’ll never cease requests for, “Please show us X to Y options so we can decide.”

I encourage you to always push back against that. Always tell the requester that they don’t need 5 options to decide, they only need one. The only reason you should make more than one design is (i) because you are dissatisfied with the looks of your first creation or (ii) the project warrants multiple variants for testing. Invest more of yourself into making one thing that is really good instead of five things that are mediocre. Always use that as your argument. If they don’t like the first draft, revisit it and make more based on feedback. Whenever you can avoid it, though, never start with more than one option.

The truth is that choice creates for decision paralysis. We no longer see something as “this is what it should be” and instead start wondering, “How many other things can it be? Are any of those other options better than the one I’ve chosen?”. In fact, here’s a great video on the paradox of choice

5. Never underestimate the importance of whitespace.

This last tip serves as a general reminder that it’s easier to communicate a level of importance for various elements by giving them the most space. It also underscores that less is better. Any time you’re asked to add a circle, or arrow, or highlight, or anything else to draw attention to what should be the most important piece of a design… first ask yourself: what can I remove or reposition in order to make it more clear that this is the most important part? Arrows, circles, highlights, etc are all great ways to further emphasize something, but the best way is to eliminate other things that are in the way.

What have we learned?

I cannot emphasize enough that design’s purpose is NOT to make things pretty. The purpose of design is to make things usable. A happy side-effect of useful design is that things generally look prettier than before they’re designed. If you remember nothing else, I hope you can remember that. If you start with what’s most important, subtract all the things that aren’t, and push forward from there you’ll be ahead of most people who start the other way around.

Do you have any advice?

I’d love to hear it! Share it with me and other readers in the comments below.

In Which I Reveal Myself as a Professional Wedding Photographer

Here’s a fairly mixed bag of shots from some of the weddings and engagement sessions I have photographed over the past few years. I tried to pare it down as much as I could. It’s hard to create a brief overview from sampling of nearly 14,000 photos. Like what you see? Let’s talk!

Changes in the Wind, Part 1: Leadership Advice

Note: This is the first part of a three part series. Part 2 is for designers, and Part 3 is for developers.

 
After more than 18 months working as the “Implementation Team Manager” (a developer and project manager) with Delta Defense, LLC I have left to join WebDev Studios. I’m making this transition so I can focus more completely on WordPress development. It sounds like a fun thing to do and, though I’m sad to leave Delta, I’m very excited for this opportunity.

In my final days as an employee and team manager at Delta I took some time to impart my limited amounts of wisdom with my teammates. Most of my advice was very personal and specific to the person with whom I was sharing. Some of it, however, surprised even me and I thought it best to share it here with you, too (mostly as a reminder to future-me that past-me was a pretty smart guy).

Being a Leader

Being in the leader seat carries a certain amount of weight and responsibility. It basically means that you’re solely responsible for every single project the team produces, and that you won’t be the person building the majority of them. It means a lot of time spent jockeying emails, and not a lot of time actually creating. In short, it means than if you really like to build and tinker, and don’t like to spend most of your day in email and Basecamp, you need to seriously consider whether or not you’d actually want to climb into this seat.

To help you with a decision like that, I wanted to offer you up some things that I’ve learned from my position and over the course of many, many years doing all the things that we do.

1. Everyone is important, Everyone is Replaceable

Each person on my team, myself included, is tremendously important because of their unique knowledge, perspectives and experience. Their ability to understand how things work, along with a passion for learning more and doing better, makes each person a tremendously valuable asset. Still, it’s important to realize that, even as the most important person on a team, you’re no less replaceable than any other person. So, never forget that and never rest on your laurels.

2. It is HARMFUL to both you, and the company, to work more than 8hrs per day, 5 days per week.

It’s okay to break this rule every once in a while, for things like large launches and the like, but you should absolutely NOT standardize your work life around putting in more hours than that. In fact, your goal should invariably be to work as few as possible without decreasing throughput.

The more hours you work the less effective you will become. I’ve experienced this to be true in my own life and witnessed it to be true in the rest of my team. On a whole, a company that has employees who work more than 40hrs per week on a consistent basis will run into innumerably more problems than a company who does not.

You should train the very core of your being in a way that it will react strongly and passionately against working past 5 or on the weekend. Alarms and warnings should go off in your mind when you decide to work any extra hours (UNLESS the payoff is leaving early or starting late a different day, or simply clearing your plate so you can be mentally renewed the next day. Even then, it should be rare that you put in any extra time).

The simple truth is this: nothing in this (or any) job is worth more than that, especially compared to your marriage, family and personal well-being. You prove yourself more valuable by your ability to accomplish much in little time than you do by your willingness to work long hours.

3. Remember Your Role as a Manager

As a manager, any time you’re personally doing a task that we pay someone else to do, you’re doing it wrong.

In other words, always offload every (and I mean every) project and task you get to someone else on the team. Do this until your inbox is absolutely empty and every single task has been assigned to another person with decent instruction and a specific deadline. Then, cycle through each project (starting with those due soonest) and ask questions about their progress, provide additional context or instruction where necessary, and only assist with a build when someone really needs help.

I was definitely worst at this one. Any time you think you need to spend personally working on a build is always better spent demonstrating to someone else how to build it. There are certainly times where you can solve an issue in 60 seconds that would take 5 minutes to explain, and even in those cases where you fix it yourself you should still take the 5min to explain what you did and why. That way, the next person is better equipped to handle similar situations in the future and you’ve removed yourself as a bottleneck.

The role of a leader is to remove barriers and communicate effectively. You communicate with the project requester so that you fully understand their needs, then you communicate with the project executers so the build is done to specification. In between request and delivery you should be maintaining communication with both sides to ensure everything stays on-track and, if things fall behind, they’re caught immediately so everyone can plan accordingly.

In other words: your team is your greatest asset, you should trust, enable and rely on them to do everything.

This brings me to my fourth and final point:

4. You are always wrong.

Always give the other person the benefit of the doubt and ask them to explain things from their perspective. Assume you’re wrong or that you misunderstood first and foremost. This helps you to remain humble and avoid unnecessary conflict. Conflict is good and healthy for resolving problems, but putting someone else at fault is never the correct course of action and is almost always non-productive. If someone else has failed to deliver you what you expected or needed, first ask yourself how you could have explained it to them better. Did you not emphasize the importance of timing? Did you not explain another piece of context?

If a project ever falls behind deadline it’s either because (i) the deadline wasn’t clear, (ii) the project was less important than something else, or (iii) the importance of this project wasn’t clear. Much of what you’ll be doing as a project manager is assessing project progress and renegotiating deadlines, so try night to get too put out by how frequently things change.

When someone fails to deliver something you needed (either when you needed it or how you wanted it), instead of getting upset with them try to understand what they thought you meant and learn how you could have gotten them what they needed to hear.

Your mileage may vary…

This is what worked for me as a leader. It might not work for you, but I had a lot of fun following these four principals. I’d love to hear your thoughts on the matter, so please drop me a line in the comments, as @rzen on twitter, or via my Contact form.

Grand Rapids South-West Skyline, 24 stories up

Grand Rapids South-West Skyline, 24 stories up

View actual size

Taken July 4th, 2012

Brush up on your photoshop…

I’m a sucker for these kinds of awesome speed-design/painting videos.

Why McDonalds Hamburgers Don’t Look Like They Do In The Pictures

(Source: Taxi)

The Levitating Slinky

(Source: http://kottke.org)

Weirdest Incident Yet…

Here at the Richards Manor, we don’t get a lot of foot traffic. We’re a young married couple with no kids, surrounded by retirees, 10+ miles from our nearest friends.

Despite this, however, our doorbell rings at a surprisingly regular rate. Not daily, mind, but almost certainly weekly.

It’s a game I like to call “Doorknob Roulette”

Lately, I’ve taken to making a game of things. See, I never know who is going to be at the door (except that I can guarantee it’s never a package delivery man, because they seem to be of the mind to toss our package in the garage and go… I almost never know when something has been actually delivered).

Usually I’m greeted by a solicitor of some kind (cut your heating bill!, paint your home!, get new cabinets!, need a new roof?). Once in a while it’s a neighbor who needs technical assistance (usually with their printer, or scanner, or email). On the rarest occasions, it’s a neighborhood kid asking to shovel our sidewalk or mow our lawn.

If it’s clearly a solicitor I’ll sometimes let them ring the doorbell and then leave without answering, never admitting that I’m home (after all, it’s 2 in the afternoon… who is home at that time of day?)

Today’s incident, however, is the weirdest I’ve encountered on my doorstep…

The person on the outside was a teenager, probably 14 or 15 years old. Standing a ways behind him on the sidewalk was (I suspect) his mother. He rang the doorbell at least twice before I could get upstairs to answer, and I think a third time as I was getting to the door.

When I opened the door he asked, “Does a kid named Angelo live here?”

When I said, “No, it-” he cut me off and said, “Cuz a kid named Angelo threw a rock at my little brother… cut his head open. And he said his house was over here in this area…”

I interjected again, completing my thought, “No, it’s just my wife and I… sorry.”

Then he and his mother both said, “Okay, thanks for your time!” and trotted off.

Uh, what?

I wasn’t really sure what to do with this tiny glimpse into someone else’s life I was given so, naturally, I thought the only logical conclusion was to share it with everyone en masse.

I wonder what will happen to poor ole Angelo in the event that these two ever catch up with him. Vigilante street justice? Perhaps… If they wanted to have words with young Angelo, I wonder why his mother was in the background and not the person knocking at the door. Really, I wonder why she was even coming along at all if the boy was the one doing all the knocking… That’s the most bizarre part.

Have you ever had anything this strange at your door?

The Future of Cell Networks

Several years ago (3 or 4) I conjectured that we would soon see the day that cellphone networks would drop their complicated plan archetypes that melded limitations on voice and text and data (which are all just fundamentally data, by the way) in exchange for a simpler, singular [Plan]. Well, it sounds like that day is nearly upon us. Looking at the graphic above, and clicking through it to the story on Engadget, it’s clear that Verizon, at least, agrees with me.

They are adding a “Share Everything” plan, in which your only limitation is how much data you want to allot to your devices collectively. You have “unlimited” text and voice (though they’ll probably count the data you use on both), AND you cas share this allotment with up to 10 separate devices simultaneously. Granted, they’re not eliminating all their other plan offerings, but I suspect in time they will wain in popularity to the point of extinction.

Friends, the future is upon us.

P.S. The first company to simply call them the “[Company Name] Plans” wins

(Source: Engadget)

Streaming media from a Drobo FS to PS3 or iPad or iPhone

After months and months of grueling searches, annoying config files, and very little success, I’ve finally uncovered the solution to streaming media from my Drobo FS to other devices in my home (e.g. my Playstation 3 and my iPad).

I’m posting the solution here in hopes of helping others in my situation, because I cannot believe how difficult it was to find, and how dead-simple it was to implement. It’s simply maddening I spent six months living with the problem and only 5 minutes to finally solve it.

The solution?

Install Media Tomb on your Drobo FS. That’s it. I’m not even joking.

You can read on to learn the backstory and hear additional details about my debacle.

Your service/product only matters if it actually helps someone. It can only do that if you convince them to use it. So, why should anyone care?

Back to UI Basics

I want to take a moment to rant about something I really hate. I hope that this gets a lot of attention because I would really love to see this standard changed. Maybe (hopefully) you feel the same way…

Has this ever happened to you?

The built-in mobile browser...You’re reading through your Twitter timeline on your iPhone and you tap a link to some article. That article links you to another article, then another, and then one which links you to a couple of photos. After looking at one photo you decide to go back to the article, so you reach up and tap the back button.

Only, the back button isn’t ”up”, it’s at the bottom of the screen.

Now, instead of going back to the article you were only half-finished reading, you’re all the way back to your Twitter timeline, with only a faint recollection of how you got to the article you were reading in the first place.

Great.

Now you’re left with two options: click back through the tweet and articles to hopefully find where you were and continue reading, or, abandon the article forever and convince yourself it really wasn’t all that interesting.

Don’t tell me it’s the “Standard UI”

After years of surfing the internet we’ve been conditioned to look to the top-left corner for a back button. Of course, there are shortcuts and other methods available as well, but the top-left corner back button has been a staple of browser UI for as long as I can remember.

That, of course, is not the case with the iPhone. Because of its limited screen real estate, the designers opted to place the back button at the bottom of the screen along with some other navigational controls. It’s different, but not unusable. And when using mobile Safari, it’s not even uncomfortable.

This all changes, however, when an app incorporates Safari and it’s controls within the app. Using the standard Safari controls is not the best option, I think, so let me take a moment to explain why.

The reason this sucks

Not only have we been conditioned to seek the top-left corner when browsing back using a desktop web browser, but we’ve been conditioned this way by mobile apps as well to browse back through their many in-app pages. This is especially true within Twitter clients because there are innumerable means to reach any content. After you’re deep within the app, it makes perfect sense to hit the back button in the top-left corner until you’re back to the beginning.

My Proposed Solution (listen up App Devs)

An alternative to the built-in mobile browser UIMove the back/forward buttons to the top bar, replacing the “back to timeline” button.

If someone only browses through to the original link, the back button remains as the “back to timeline” button. But, as soon as they go beyond the first page the button becomes a standard browser back button.

This way, it continues to function exactly as the user would expect. No confusion, no problems. The end.

If you’re concerned that this method will make it too difficult (or take too long) for the user to get back to their timeline, incorporate a touch action where the user can swipe across the back button from left-to-right and be returned to the original tweet/timeline. I’m fairly certain one of the apps incorporated this method for browsing back within the app, because I remember using it.

If you really hate that option…

I would settle for a contextual menu that appeared when the user taps the first link within the linked page they’re viewing. Instead of dutifully opening the link like normal this contextual menu would ask the user whether they want to continue using the in-app browser or open the link separately in mobile safari. It’s not as graceful as my requested option, but it certainly provides a pattern interrupt that would remind me “if you continue browsing in-app, don’t use that top back button”.

So, what do you think?

I can’t possibly be the only one who feels this way. If this bugs you too, take action! Show your solidarity by sounding off in the comments, alerting the makers of your favorite Twitter app and generally helping spread the word. Together we can defeat troubling UI!

Working from Home is Not for the Faint of Heart

When I tell people what I do, and that I work from home, far too often I hear, “I wish I worked from home and could do whatever I want…”

Well, today I’m here to set you straight.

Working from home demands a vast amount of dedication and self-discipline. It isn’t the cakewalk that you’ve made it out to be in your mind. When you work from home, you live where you work. How many of you would like to live at your desk or in your office (literally, not figuratively)?

Aside: I wrote moste of this while in the thick of freelancing and as a form of therapeutic recreation. It really helped me put a handle on how I was working and helped me take control of my life in a way that has had dramatically positive effect for myself and those around me. Here’s hoping it helps you, too.

Work Habits

On many occasions, friends and family have quipped about my habits of working in my PJs or sleeping in til almost noon. What they don’t realize is that it’s usually because I worked until 4am the night before and likely resumed working immediately after waking.

But, there’s no commute.

And therefore, nothing stopping me from being at the office at any hour of the day.

At least you can set your own hours!

True, and I’m very grateful for that when I need to cut out for an hour or a full day for various errands. Most often, though, it just means I’m working all hours of the day every day of the week. Once again, there is nothing to stop me.

But you can work anywhere! You could take a vacation any time!

Except, if I’m on vacation it means I’m not working, which means there is no active income entering our bank account. To counteract that, the simple solution is to work on the way to/from or during the vacation. Does that sound like a vacation to you?

Working from home sounds pretty awful, why do you do it?

Because I can set my own hours, work in my PJs, sleep til noon, work from anywhere AND there’s no commute. Plus, I pretty much get to do whatever I want. Haven’t you been reading the headings?

If I can be serious for a moment, working from home obviously has both benefits and detriments. Setting your own hours is only wise if you have the discipline to stop working and the ability to find value in resting and leisure activities. If you miss that, you miss everything.

(Pro-tip: you might want to read that last bit again.)

It took me four and a half years to realize that taking a break was not only relaxing, but paramount to a successful, healthy work life.

Discipline for the Uninhibited

If you’re like me, discipline is a word that makes you a bit uneasy. It means structure, routines, order, strictness, boring stagnant misery. Well, that’s how I used to feel anyway. Discipline is actually an integral part of complete, unrestricted freedom. No, really… just check out some of these examples.

Finding Freedom in Routines

As boring as it seems, a strong routine is actually the fastest way to a fun, relaxing lifestyle.  Creating a routine for yourself is one of the most important steps you can take towards freedom. Sure it’s foolish to try to schedule “fun” into a weekly calendar, but it’s more foolish to believe you’ll have time for fun if you don’t schedule a definitive end time to your work.

Here’s a brief example of my typical daily routine:

  • Awake
  • Breakfast
  • Shower
  • Personal Reading
  • Field Emails (1hr or less)
  • Get stuff done
  • Lunch
  • Field Emails (round 2, 1hr or less)
  • Get stuff done
  • Quit work, switch to personal projects/relaxation
  • Dinner
  • Personal work/relaxation
  • Bed

Respecting Your Time (Avoid Time Sink)

The biggest destructive force to a good schedule and routine is time sink.

The quality of your free time and your work are intimately connected. If you guard your free time and keep it sacred, totally devoid of any work, you’ll find that you will be more productive and less distracted while you work. Similarly, if you keep your work time entirely focused and free of interruptions you’ll find that you can work fewer hours and commit more time to hobbies and rest.

If you don’t respect the boundaries between work and leisure you’ll quickly find yourself discontent with the work you complete and unsatisfied by the quality of your down-time.

Take it from a guy who knows first-hand: when you refuse to rest you will actively seek, and feel justified in, taking distraction-filled breaks throughout the day. Later, when you feel compelled to rest you won’t be able to because you’ll have this nagging feeling that you didn’t get enough done and you need to accomplish just one more thing. Which leads me to my next point…

Manage Your Expectations (The reason you’re dissatisfied)

The leading cause of unhappiness isn’t poor circumstances or unfortunate events, it’s a mismanagement of expectations.

Consider all the times you’ve felt unfulfilled in your work, or like you had an overwhelming number of items left on your to-do list at the end of the day. Also consider all the times the new (phone|computer|movie|whatever) left you wanting. Is it because your job is overwhelming? Is it because those products/events were overhyped or under-delivered? Or, is it because you set an unrealistic expectation of how much you could do in a day, how long a project would take, or how incredible the shiny new thing truthfully is?

Leading a satisfied and fulfilled life is deeply rooted in managing your expectations properly. When you set realistic expectations for yourself, and others, you’ll soon find that your job is better than you realize, there will always be more days to get work done, and that how you’re living today – right now – is vastly more important than how much better your life can be in some unspecific time in the future.

Do the hokey pokey and turn yourself around…

That’s what it’s all about, folks. Discipline, dedication and healthy expectations. If you have those three things, you can change the world. Or, at the very least, you can work from home in your pajamas and not go horribly wrong.

Somebody That I Used To Know

I recently discovered the band Walk Off The Earth and all their amazing covers (not to mention their awesome original tracks). Definitely worth a thorough review!

Dropbox is the Best

Continuing in the vein of apps that have “drop” in their name, I give you: Dropbox. (Seriously, you haven’t heard of this already?)

Dropbox is a super-slick service that keeps all of your files synced across whatever computers you use, as well as making them accessible via their website, and iPhone app…so long as they’re in the Dropbox folder. Already impressed? Thought so. But wait, there’s still more!

Completely Free (or crazy-inexpensive)

No need to bury the lead on this one, Dropbox costs $0 forever. If you feel extremely limited by your paltry 2GB of online storage (and who wouldn’t, am I right?) you have plenty of options to upgrade your account and increase your capacity. Wait, scratch that, two options. Really though, aren’t you sick of choices? Paid accounts are $10/mo for 50GB or $20/mo for 100GB. Alternatively, you can sell-out your friends at 250mb a piece to get a maximum of 5GB 10GB of free storage. It’s a pretty swank deal.

Automatic Backups and Versioning

Never worry about overwriting or deleting a file again. Dropbox has an excellent memory and remembers every single file you’ve ever introduced, and at every single stage of that file’s life (especially its awkward teen years). Granted, for free accounts the history only goes back 30 days, but if you haven’t noticed a file missing after that long then you apparently weren’t very close.

Public Folder

Need to shoot someone a really big file? Just drop it in the public folder of your Dropbox (Oh, I just got the name. Clever!) and you’re good to go. Share it with as many people as you like, or just one. They’ve even taken the hard parts out of it and given you a contextual menu to grab the public link. Once it’s in place, all you need to do is Right Click > Dropbox > Copy Public Link. The link to the file is placed on your clipboard and ready for sharing with whomever you deem fit.

Shared Folders

Speaking of sharing, are you collaborating with friends? Dropbox has you covered. I mean, if they also have a Dropbox account, that is. Just share the folder with however many users you please and they’ll have full access to whatever files you add, and vise versa. Afraid of them deleting a file or overwriting hours of meticulous work? Don’t be. The automagical backup and versioning mechanism has you covered (you read about that part, right?).

Have a falling out? No problem, just un-share the folder. Dropbox even gives you an option of revoking access to all the files (you know, if it was really serious breakup).

The End.

If you’re still not convinced, send me five bucks and I’ll give you my honest opinion. If you are convinced, go get it, and tell them I sent you!*

 

*Note: You don’t actually have to tell them I sent you. They’ve probably never heard of me, though I am one of their biggest fans. As such, the links contained herein are not affiliate links, so you can trust I’m really giving you my honest opinion. Now, seriously, go download Dropbox already! And, when you’re done, come back and tell me what you think!

We Build Awesome

I must make a point to visit these guys soon. I just learned about The Geek Group, then I saw this video, then I saw they’re only 10mi from my house. Awesome.

Welcome to the world wide web, an interactive medium in which screen resolution statistics are trivial, browser viewports are variable, and scrolling behaviour is a standard.

– There Is No Page Fold

Life Below 600px

No Comments

Not everything has to fit in the top of the page.

Droplr is for Winners

Droplr is a great tool that immediately made it to the top of my all-time favorites list. I’ve struggled for years to find a means to quickly share previews (i.e. screen grabs) of a project with other collaborators, co-workers, clients and friends. Droplr fits the bill perfectly, and does so much more!

Check out these crazy-awesome features it boasts (pulled straight from their site):

File Sharing

Droplr is the fastest way to share files from your Mac on the internet. Period.

Image Sharing (Screenshots!)

Whether you want to link to an image or embed one somewhere, Droplr makes sharing images on the web easy. Grab a screenshot, put it on droplr, share the link with whoever needs to see it.

Notes & Code

Need to share a text note? Or how about a code snippet? They’ll even syntax highlight it for you.

Keyboard support

Don’t like the mouse/trackpad & dragging and dropping? Droplr has full keyboard shortcut support.

Twitter integration.

They love Twitter. And if you do too, you know it’s one of the best ways to share.

Free!

Droplr is completely free to use with ad-supported content. Don’t worry, they’re really pretty ads. Promise.

My Favorite Part…

My personal favorite part of the app is the built-in shortcuts. It’s no secret that I love shortcuts, so it should be no surprise that this feature would appeal to me so much. But, dang, these guys got it right. If I want to share a section of my screen, I only have to press Shift+Alt+4 (which is methodically similar to Apple’s own screen capture shortcut, Shift+Cmd+4) and draw a selection. As soon as I release the mouse, blammo, the screenshot is pushed to Droplr’s server and a shortlink is copied to my clipboard, ready to paste wherever I’d like.

Equally good is Droplr’s ability to share files, notes, code snippets and more.

It’s awesome, light-weight, unobtrusive, and completely free. If you’ve made it this far into the article and haven’t already installed it, what’s wrong with you? Seriously, download it already!

Photoshop GuideGuide

No Comments

Photoshop guides that don’t suck so hard.

Netflix Culture

No Comments

A 2009 presentation on Netflix’s brilliantly scalable staffing plan.

Why I Use Twitter

Not everyone likes twitter, but I do. I love it.

Twitter is an often misunderstood – and therefore an often disliked and under-appreciated – web service. I think the greatest contributing factor to Twitter’s perceived short-comings is that people have pigeonholed it into fulfilling a specific task or view it as a one-way medium, shadowed by the misleading guise of Facebook.

It’s 2012, why is this relevant?

This post was originally drafted in 2010, but I’m still regularly asked, “why do you use twitter?” by people I see in real life. So, if you’re one of those persons, I wrote this for you.

Isn’t Twitter Just Facebook Updates?

In a sense, yes. Except, Twitter actually predates Facebook’s status updates and news feed by several years. Plus, every major feature added to the Facebook’s news feed since it’s release was inspired by, or lifted directly from, Twitter. Fact.

But, regardless of the similarities in their feature set, Twitter and Facebook serve two entirely different purposes in my life, and each one serves it’s purpose better.

Twitter Makes a Great News Source

Every single one of the most important breaking stories from the last year (the past several years now) was first reported via twitter. Oftentimes Twitter broke the news hours before any major media outlet was ready to report and, in many cases, was even cited as a source by the other media outlet.

Content is curated specifically to my interests

Unlike Facebook, where the news I’m seeing is a random assortment of what people are doing, thinking, liking, installing, viewing, etc. my Twitter stream is a highly curated list filled with topics that fuel my creativity and quench my thirst for knowledge. Of course, there are still the rogue tweets about what sandwich someone is eating and the occasional mundane update, but these are certainly the exception and not the standard in my feed.

It’s easy to track specific topics and events on Twitter

This goes hand in hand with my previous two points. It’s incredibly easy to follow all conversations surrounding a specific topic, event or news story given the way twitter is optimized for searching and real-time updates. The standardized adoption of hashtags (e.g. #this) over the past two years has made this task even easier.

Twitter helps me stay current in my field

I follow a number of well-known and established web developers, designers and photographers. I also follow a number of influential readers who share lots of great articles, Thanks to their proclivity for tweeting cool/useful resources I’m able to stay ahead of the curve on many trends and techniques.

Twitter helps me keep up with friends

Alright, so this is an area where I will concede to say Facebook is doing things better, but only if you’re using it right. If your friend list is a simply mass of random people, and you haven’t taken any time to group them in any way that is meaningful to you, you’re back to a useless mess of content.

With Twitter I’m able to catch updates from friends that would never make it to their blog (if they even have a blog) and catch some unique/temporal news that might never make it to Facebook either (I have to be honest, even if it does make it to Facebook, I won’t be there to read it).

Twitter is Focused*

One of my favorite aspects of Twitter is how focused it forces me (and others) to be in my word choice. Updates must be pared down and revised for maximum impact, and tweet volume must be considered as well so as to not dilute the likelihood that someone will actually read my tweets. As many have pointed out already, limiting oneself to 140 characters is a great way to get to the core of a message and determine what’s really important.

*Yes, you can always argue that people are sharing junk via twitter, but you can also make that argument across most other mediums as well… Facebook, texting, phone conversations, chit-chat during lunch. My point here is that twitter, moreso than other mediums, forces the user to focus on what they’re saying.

Twitter is a great promotion tool

Lastly, from a strictly business point of view, I’ve found that Twitter is absolutely indispensable for finding exciting work/hungry employees, or promoting a new business, product or service. As a freelancer I was able to secure a number of projects via Twitter, as an employer I was able to find a number of reliable workers. And, as a producer, I’m able to connect directly with users interested in my products and services.

Enough from me, though. Why do you use twitter? Or, perhaps, why don’t you?

Avoiding Lifestyle Inflation

No Comments

A great article on the impracticality of raising your spending habits to match your income.

Billie Jean

Excerpt from a Hip-Hop Orchestral performance. Word. (via mental_floss)

From Me To You

No Comments

Incredible, breathtaking animated GIFs creating life-like photographic portraits. A must see.

12 Resolutions for Programmers

No Comments

Conan’s Return to TV, circa 2011

Frame of Reference

Frame of Reference

Throughout all of 2011 this site averaged 107 visitors per month. I’ve already seen more than that in the first 20 hours of relaunching. Should be a pretty awesome year :)

Fixing Bugs -or- Why 5 minutes Sometimes Means 2 hours

I’ll try to keep this brief, as I’m sure you all probably realized this already. Even so, it’s always a good reminder and will help keep developers and non-developers on speaking terms.

I’ve got a simple analogy for you as to why some (many) things take longer to develop than developers initially estimate and, more importantly, why we perpetually believe it will only be “just 5 more minutes” as we continue to debug.

The leaky sink.

Now, a leaky faucet is presumably simple fix. You will usually have a good idea where the problem is coming from because you can clearly see where the water is leaking, but not always. Most leaks can be fixed with what you already have around the house, but sometimes you have to go out an get new parts. Many times you’ll already know how to fix it, but now and again you’ll need to do a bit of research. Lastly, once in a great while you’ll need to call in an expert, because the problem either wasn’t what you expected OR it becomes too big for you to quickly do by yourself.

Sometimes it’s a simple problem… (5min or less)

The best scenario. This is when you didn’t close the tap all the way, or something has come just a little loose. In programming, this would be a typo or a simple logic error. No big deal, it’s already fixed.

Sometimes it’s a different problem… (5min, x2)

This one is annoying. You thought it was a problem with the faucet, but later found out it was a problem with the tap. You’ve already spent 5min working on the faucet, and now realize you need to spend another 5min on the tap. This happens a LOT in programming.

Sometimes it’s multiple problems… (5min, x2, x2, x2)

Now you’re really frustrated. You looked at the faucet and saw it wasn’t there, then you spent 5min on the tap and the leak still exists. Now as you look more closely you see there’s actually another (two, three, four) problems happening underneath the sink. Or, worse, because you fixed one problem you’ve actually created a problem elsewhere (without the steady leak, now a pressure buildup has busted a pipe. $#!&).

Sometimes there’s a false positive… (5min, x2 …. wait 30min, try again)

The leak has stopped! …temporarily, until you or someone else tries to use the faucet again. You’ve spent your 5 (10, 15) minutes fixing what you thought was the problem, and now the problem is back again. In programming, this is especially troubling because now you’re not sure if it’s just a caching issue or something else entirely.

Sometimes there is no problem… (30min for nothing, FML)

There wasn’t a leak, you (or someone else) just splashed some water up behind the sink. In programming, you’ve spent the last 30 minutes chasing a bug that doesn’t exist. Do not pass go, do not collect $200.

Hang on, just 5 more minutes…

Next time a developer tells you “Just 5 more minutes” and they’re wrong, remind yourself that they’re not lying and they’re not bad at estimating (and no, they don’t hate you), they’ve just encountered a new or different (or additional) problem than they set out to fix 5 minutes ago.

Lost Type Co-Op

No Comments

An incredibly cool type foundry with a unique pricing structure. Check them out!

Developing for Success

A recording of my presentation at WordCamp Chicago 2011. I’ve got additional resources posted over at wpstartbox.com.

Can You Afford Cheap?

No Comments

Andy Budd, a user experience consultant in England, doesn’t think so. And neither do I.

Regarding Your Logo

It’s no secret that I appreciate a really well-made logo and so, having designed a few myself, I think I am adequately qualified to adress the topic with some authority. Before I get too far, I want to say that I’ve outsourced many of these ideas to other thinkers who are smarter than myself and that you should read their articles entirely if you want to get the full value of this message.

To all of you who think your logo really matters, I want to tell you up front: your logo doesn’t matter. According to Mark Bixby,

“Your logo is only one very small part of building a successful brand. Its design is minimal in making your promise match your customers’ experience (read: branding). Design is an invaluable tool in communicating who you are, what you do, and why it matters. But if you can’t articulate these things yourself, design cannot do it for you.”

Going further on branding, Seth Godin reiterates that your logo is not your brand, concluding

“Take the time and money and effort you’d put into an expensive logo and put them into creating a product and experience and story that people remember instead.”

Now, that isn’t to say that you should go looking for the least expensive logo you can find. Far from it! In fact, that’s exactly how NOT to design a logo. Seeking out services that encourage design competition and crowd sourcing only hurt your business and the design industry. In fact, there have been entire campaigns created around abolishing speculative work like this. Furthermore, if you think “I’ll know it when I see it”, I just want to be the second to let you know, you’re wrong.

If you’re at all serious about your business, at all interested in improving the lives of your clients/customers (as you should be, that’s the only reason to be IN business), then do yourselves both a service and do things right.

Understand what it is that you do (or want to do) and place the interests of others before your own. Only work with a credible designer who is going to work alongside you to understand why your business exists and why anyone else should care. If they’re good at what they do they’ll have a top secret process they follow in order to produce quality work and fulfill your needs.

To summarize: your logo should only speak for you when you’re not there to speak for yourself. The brand that you’re working so hard to build can only be built on fulfilled promises and expectations, not outstanding design. So, let your business speak for itself and only use your logo as a small identifier from whom the message is sent.

Would You Pay for WordPress?

Michael over at WPCandy.com has written an interesting and compelling article questioning what if Automattic began charging for WordPress?

I feel that the short-answer is that the community of users would cease to thrive as many would look to other free alternatives. WordPress.com, their free public blogging site, would lose countless users to services like blogger, livejournal, etc. Beyond that, however, there are lots of other unseen factors.

Others have already sounded off in the comments (myself incuded) pointing out things such as the inherent value of something you have paid for verses something you have gotten for free, a very valid point. The flip side to this, however, is that by gaining the CMS for free the overall cost of developing a website is greatly reduced. As a web designer and developer, I am able to pass these savings directly to my clients and provide them a level of service that they otherwise could never have afford.

So, there you have it. What do the rest of you think?