All his life has he looked away… to the future, to the horizon. Never his mind on where he was. Hmm? What he was doing.

It’s a real problem.

If you’ve started some work in a local git repo and realize you want it on a separate branch from your current, do this on the command line:

git checkout -b <branch name>

Which will create and check out the new branch. Then, commit your changes. When you’re ready to push:

git push -u <remote name, usually "origin"> <local branch name>:<remote branch name>

If you just specify the local branch name, git will create the remote branch using the same name. Note the -u flag, which sets the local branch to track the remote, letting an unqualified git pull behave sensibly.

Core Diving

You can’t be a good craftsperson without understanding your tools. At best, you can noodle around; you can be a noodler. For software developers, the tools themselves are as complicated as how to use them. Indeed, the tools for making software are also software, often bigger and more complex than what we’re using them to make.1 Continue reading

Choose Your Weapon

I spend all day writing software on the Microsoft desktop stack, and my toolbox is small: Visual Studio, Resharper, C#/VB, and the .Net Framework. With those I can build pretty much anything. I’ve been playing at web dev on the side, and the best and worst—the bworst1—thing about it is how many things there are to learn. Leave aside the fact that writing a modern website or web app involves at least one programming language, a markup language, and whatever the hell you classify CSS as: I’m talking about the tools. There are so many, and it’s not at all clear at a glance which will suit you and your project best, and so staying productive is a challenge. What if you choose a tool and pour time into learning and using it only to discover it’s ill-suited to your task, or is abandoned by the larger community in a year in favour of another very similar tool?

I haven’t found a good approach to this, a good balance of research and testing versus flipping a coin and getting to work. Discussing the problem with a colleague the other day, though, I did manage to discover the Best Game Ever:

Start typing nouns followed by “js” into Google and see how many in a row turn up a development tool or library.

After amusing ourselves with this for a while we concluded that, as frustrating a problem as this is, we should count ourselves fortunate that it’s our job to play with computers; we could be laying bricks all day.

But that got me thinking, and I found:

Seriously. What is this madness?2

  1. Copyright, me. 
  2. Madness?! THIS IS SPARTAAAAAAA.js!!! 

www. is not deprecated

Tricky: I vastly prefer the look of the “naked domain” to, for example, But maybe caring what your URL looks like is ridiculous in this day and age.

Anyrate, I’ve been a proponent of using the naked domain but making sure you redirect www for a while. It’s interesting to know there are actual, technical reasons to prefer the subdomain.

You should use www because today you have a small web site, and tomorrow you want a big web site. Really big.

The technical reasons to use www primarily apply to the largest web sites which receive millions (or more) of page views per day, web sites with a large number of services across several subdomains, and virtually any web site hosted in “the cloud” by an application service provider.

But I’m not switching yet.

(via Zack Tollman's retweet)

Fighting to Stay Creative

Great post by Shawn Blanc:

These are things that will whisper in our ear that our idea is pathetic and our implementation of it even worse. They urge us to give up, to move on, to quit, and to pacify our minds. They tell us that we have nothing unique to offer, that we have no value, and that everything will come crashing down any minute, so why even bother.


You have to trust your skills, trust your gut, and trust your value as a contributor. You’re not an impostor. And the more you learn and the more experience you gain, the more your skills will grow. But if you wait until you’ve “arrived” to begin your journey, it’s a logical impossibility that you will ever actually arrive. You have to step out the front door and start walking.

I could stand to spend less time, I’m sure, reading things on the internet. But I won’t feel too bad about reading something like this, something that makes me want to rush home and make things.

Exponent Postcast 002: The Missing Episode

Ben Thompson became one of my internet heroes pretty much as soon as I found him (linked from Daring Fireball, probably, I can’t even remember now). I was sad when he vanished from the Cubed podcast, and pleased when he started his own as part of a push to turn his website into more of a career. He’s now switched it up again, but who cares: Ben is brilliant, and in this episode he and co-host James Allworth eloquently describe where Silicon Valley’s often-frustrating attitude comes from, and what that means for the future.

They focus more on what effect privilege has on the problems tech aims to solve, rather than on the plight of the many groups it fails to serve—women, people of colour, etc.—but their insight is nonetheless valuable in deconstructing the Problem With Tech. Have a listen.

What Would Make a Success?

There’s an argument to be made that’s core mistake was building the Alpha web interface only far enough to match Twitter’s features and then moving on to other things. Instead, they could have kept improving Alpha until it was significantly better than Twitter, so good that it couldn’t be ignored. By doing so, maybe they would have also more effectively demonstrated the power of the API underneath.

That so good it couldn’t be ignored is interesting. Why does Twitter have millions and millions of users? I hear lots of people, especially in tech, talking about how Twitter’s value proposition to new users is precarious1. So what would have made Alpha (’s original service) substantially better than Twitter, and better to whom? Developers? Manton would know better than I, but it seems like lack of users and the opportunity they represent would keep devs off the API more than anything else.

I’m not deleting my account, by any means. But it will be interesting to see what it turns into, now. As “plumbing” for interesting cloud-backed apps like Manton’s Sunlit, has always had potential, but does the service need user growth for that potential to be realized? Or is building good enough software on top of it enough? I have no idea.

  1. I heard Ben and Jon talking about it on just today, in fact. 
(via Marco Arment)

Alas, A Lack

Since never became the new primary place where our friends all hung out, most of us never left Twitter — we all just accept that they’re dicks now, and we forgot about

I always wanted to succeed as an awesome basis for apps with social features, even if it never displaced Twitter. But lately services that provide what seems like the ideal consumer-friendly model are winking out left and right (Everpix shuts down, Loom sells to Dropbox, this). This isn’t a solution for most, but self-hosting all the things is becoming increasingly appealing to me… Wonder how is doing. :P