Sunday, March 1st, 2015

In a recent episode of his podcast, Clay Jenkinson was discussing Thoreau and Walden. He focused in on the idea of “living deliberately”, a concept I could not help but conflate with some form of minimalism. It’s an idea that has been resonating with me lately as I have found myself increasingly discomforted by all the stuff I have dragged into my tiny house through the years. It’s almost overwhelming.

And I think, “How did it come to this?” and I have to admit that it is because I have not been living deliberately. When I see a new and shiny toy, I grab it to satisfy that immediate want — but I give no thought to where that thing will fit into my life in one or two or ten years.

The move towards replacing physical artifacts with bytes has helped tremendously. My Kindle has so many more books on it than I would be able to store as physical copies. Our iTunes library is expanding while our groaning DVD shelves are happy to not be called to further service. But these still come with an economic cost that I don’t always fully consider in the sense of living deliberately. And that doesn’t even begin to factor in the psychic costs of my nagging worry that Amazon or Apple will flip a switch one day and all my “investment” in those books and songs and movies will vanish in less than a puff of smoke.

So this deliberate living (in a minimalist possession style anyway — I will save thoughts of things like food for another day) starts to sound pretty good when I take a hard look at where my time and energy and money goes.

But how to start? There are two clear points: there is the commerce side where I bring possessions into my life and there is the other side where I have to live with them. The commerce side is more of a regular habit that must be handled with a new commitment each day. But the housing-life-possessions side — Ah! Now that presents and immediate and severe challenge.

SO I star taking stock: what do I need to be happy? I need a good chair to read in. And a good sofa for when I need a good lie-down. And a good TV. And a couple of good boxes to plug into that TV.

I need a good computer. And a good phone — these are how I make my living. I don’t need a good tablet (finally! A concession!) But I do need my Kindle.

I need a good pen and some bottles of ink and good paper and a good notebook, but I have at least convinced myself to stop buying more of these things for now. Even though I really want some.

And the list goes on (I haven’t even gotten to my small whisk[e]y collection…). I believe my definition of “minimal” may need to be calibrated. And that can no doubt turn into a life-long pursuit of contemplating and refining that definition. But one thing is decided not on the list of things I need and it breaks my heart.

I don’t think I really need all these books.

Our house is basically a library. We have filled it with shelves. We have filled those shelves with books. We have stacks of books. We have piles of books. We have bags of books. Our storage closet is filled with boxes filled with books. When we buy books now (and we buy books!), we can give only small thought about an organizational system as the pressures of reality force us to put them wherever there is an empty space or (in some cases) where we can convince gravity to look the other way.

I married someone who loves books as much as I do and it is glorious. And I love books a lot. I love reading them. I love holding them and smelling them. I love running my eyes along their colorful spines and reading their titles — each one an invitation. I love being surrounded by them and just existing in their presence. But I have to wonder: how much of that could be satisfied by a trip to the library? How much space at home am I sacrificing and is it worth it?


I don’t know if I can get rid of them. Each fiction book is a miniature universe, filled with possibility. I can’t throw away an entire world so callously! My non-fiction books are even more valuable for they are filled with knowledge and the potential for self-betterment!

I find myself paralyzed by sentimentality and I do not know if I can overcome it. Even for books I have not opened in decades or technical books that are staggeringly outdated, I don’t know if I can stand to part with them.

I may have failed at deliberate living before even starting — and that is before discussing any of this with my spouse (a vital piece of any lifestyle experiment!). Perhaps I am doomed to live more like Jefferson (but without the astounding intellectual gifts that allowed him to gain enough status to mostly get away with it in his lifetime).

But I have a secret. None of those books on our shelves is Walden. I’ve never read it. I think I shall and maybe Thoreau will speak to me and help me overcome my own worst instincts.

But when I read Walden, I think I shall get a copy from the library.

Friday, November 21st, 2014
Link: LWN: High-DPI displays and Linux
Hat Tip: Hacker News
Friday, October 10th, 2014
Link: An interview with Håkon Wium Lie
Hat Tip: Hacker news
Tuesday, February 25th, 2014

I was recently asked: “What does it mean to be a developer? What are some traits that you think successful developers should have?”.

I certainly don’t have the answers for a question like that. But I do have opinions. I shared them with my friend, but I think it may also be worthwhile to share them with you as well.

Ultimately, “being a developer” comes down to one thing: a developer writes code. This, of course, is a pretty broad definition.

Because it’s so broad, there are a lot of paths to being a developer. Traditionally, you might think of analytic “mathy” people being developers. And that’s certainly true, and it’s where the roots of the industry lie. But creative “artsy” people can also be great developers. And, because the world is not easily broken up into two sets of people, there are all sorts of other kinds of people who can excel at software development.

But different people can approach the field different ways and look for different goals. It takes a hard-core mathematician to work up solid and correct encryption software, but that person may not be the most suited for building something like Facebook’s recent Paper app. Some people will like to work out their software on paper before ever opening a text editor so they know exactly what they’re building. Others like to explore and make mistakes and figure it out as they go.

Because I’m only one person, I can really only talk about what it means for me to be a developer. I’m not a representative sample by any means and your mileage may vary.

And I, without question, fall on the side of building things as I go and learning and exploring. When I was in school, I noticed that there tended to be two sorts of students in lectures (and here I will pretend that the world is, in fact, easily broken up into two sets of people): those who would raise their hand and ask “What about when you do {X}+{Y}+{Z}?” and those who would just type “{X}+{Y}+{Z}” into their laptops to see what would happen.

I was definitely in the latter set. One of the things that I love about computers so much is the way they make it so easy to just try and see. They make it so easy to just try and fail. And when you try and see and try and fail enough times, eventually you learn something. And then it’s on to the next thing. And then the next.

And sure, there’s a ton of advantage to reading and taking classes and what have you. The good part of a CS education isn’t so much that it teaches you to program (which schools do poorly and only because it’s necessary), but because it gives you a good idea for the shape of problems: so when you find a new problem that sort of looks like problem {A} but also looks a little like problem {B} when you squint, you know what to Google for.

I find that programming, at its best, is a creative endeavor: it’s taking a problem and figuring out how to solve it within a set of constraints. And a lot of that can be taking different solutions for similar problems and squishing them together. Sometimes it works, sometimes it doesn’t: but it’s almost always fun.

So when I try to come up with the things that I think make me a good developer (and again, there are so many different kinds of developers that this cannot possibly be representative), the list starts to look like:

  • Experiment. Try things. Fail. Learn. Repeat.
  • Tinker. Try new technologies, languages, techniques. It’s not about developing mastery: it’s about seeing the shape of the industry so when a new problem appears, you have a wide body of experience to be able to say “Hmm. I think if we combine technology {A} with service {B}, it might get us close to a solution.”
  • Read. Read about all the things there are to tinker with. Read about directions and new ideas and exciting people. Read all the things that the best developers are writing about their craft. Sometimes they’ll be right. Sometimes they’ll be wrong. But they’re always full of exciting ideas about the industry’s history, future, practices, failures, and so much more. There’s no substitute for experimentation and tinkering, but there’s just so much to learn and so little time that we have no choice but to follow in the footsteps of giants.
  • Always Be Coding. Developers love programming. It’s in the blood. It’s one of the most fun things you can do. Create things. Throw them away or ship them, it doesn’t matter. Then create some more.

There’s so much about programming, so many areas to focus on. And I don’t have advice about any of that, because all I know to do is to chase all of it. Like a dog chasing a car, you’ll never catch it: but that’s just not the point.

Good luck.

Tuesday, September 17th, 2013

Today (Wednesday, September 18, 2013) is a big day for Apple fans: the software that powers the iPhone, iPad, and iPod Touch is getting its major yearly update. That’s right: today is release day for iOS 7.

iOS 7 represents the first truly significant design change to iOS since the iPhone was first announced back in 2007. iOS now has an intense focus on typography, color, and depth. I’ve been running it on my two-year-old phone for a week now and it really does make it feel like a new device.

But while I think it’s a great update, there are some changes that may throw a more casual user for a loop. The web is full of in-depth previews and reviews of the differences and new features of iOS 7 and I don’t want to re-tread that same old ground. Instead, I want to take a look at how iOS 7 might look to the most casual of users who might be taken aback by some of the more sweeping changes.

First Impressions

After your device reboots, you will be greeted by the new lock screen. The new lock-screen is a showcase for the new design sensibilities in iOS 7: its edge-to-edge wallpaper, complete lack of OS-chrome, and emphasis on typography are all themes that you will now find throughout the new operating system.

iOS 7 Lock Screen

The old “slide to unlock” slider is gone now. Instead, you can slide anywhere on the screen to move the entire screen out of the way and unlock your device. It’s elegant and natural and it feels like the way it should have worked from the beginning.

There are a few things to call out on the lock screen. At the top and bottom of the screen are two rectangular indicators. On the right-hand bottom corner, there’s a little camera icon.

Callouts of special areas of the lock screen

These are there to let you know that you can slide in from the top or the bottom of the screen to some special features. If you put your finger on top of your device above the screen (say, on the earpiece) and swipe down, you’ll access the Notification Center. If you put your finger at the bottom of your device below the screen (say, on the home button) and swipe up, you’ll access the new Control Center. And if you swipe up on the camera icon, you’ll be granted quick access to the camera app without ever needing to unlock your device (or entering a passcode).

The Notification Center is an update to an existing feature. Now, there are three tabs at the top: “Today”, “All”, and “Missed”.

Notification Center - Today

The Today screen becomes more useful the more information you put into your device. It can give you a short weather forecast along with the current conditions. It can give you an at-a-glimpse view of your financial holdings. If you use your device’s calendar, it can tell you when and where your next appointment is and give you a quick snapshot of your calendar. It can even give you a preview of what your schedule looks like tomorrow.

The “All” tab is roughly the same as the entire Notification Center in iOS 6. It will list any notifications that apps have given. Tapping a notification will open the appropriate app and tapping the x icon will remove those notifications from the list.

Notification Center - All

Dragging up from the bottom of the screen will instead open an entirely new feature: Control Center. Control Center is a fantastic reason to upgrade. With just a swipe, you can control your device’s radios (by turning on or off WiFi or Bluetooth — or enabling/disabling Airplane Mode). You can activate Do Not Disturb to keep your device from intruding in your life and you can activate the portrait lock to keep your device from rotating.

There’s now a slider to easily adjust your screen’s brightness and you have full access to music playback controls. There’s even a feature to turn on your devices camera flash so you can use it as a flashlight.

Control Center

Both Control Center and Notification Center are accessible from anywhere in the system. Even if you’re in an app, you can just swipe up or down and they’ll be there.

Once you unlock your device, you’ll see the new Home Screen.

Home Screen

The biggest change to the home screen is probably the new icons for the built-in apps. Instead of showing those changes here, I’ll link to this Mashable post which does a really good job of showing the new vs. the old. Overall, I think the new icons are recognizable updates of their now-classic ancestors.

The Apps

Apple’s built-in apps have also been redesigned to match the new look of their OS. In addition, you can expect 3rd party app developers to work to update their own apps to avoid looking dated.

I won’t run down the full list of changes: other sites have done that far more thoroughly than seems warranted here. Instead, I want to look at a few of the highlights that might be most likely to throw someone for a loop.

The Calendar app is a showcase for some of the dynamic animations that Apple wants to encourage throughout the system. It’s a clean design that’s nice to use.


The biggest negative is that Apple has kind of “hidden” the extremely handy “list view”. This view is now found along with the search interface.

Calendar Search

Once there, you can easily see your agenda in a handy list view. (Note: Additional blurring added by me)

Calendar List

Safari, the web browser, has fully embraced the chromeless look. When you first load a page, it feels a lot like the iOS 6 version.

Safari With Chrome

But, as you scroll down the page, the toolbar at the bottom of the screen disappears and the address bar display shrinks.

Safari With No Chrome

By removing its interface elements, Safari really lets the web page’s content shine. But, some of those buttons (like “back”) are really useful. To summon them back, you just need to tap on the now-miniaturized address bar.

Safari Address Bar

The Photos app has been given a new focus on “moments”. It starts by organizing your photos by year and then guesses which photos belong together based on the time and location they were taken.

Photos - Years

I find this view to be completely useless. Fortunately, Apple left an escape hatch. The “Albums” button in the bottom right hand corner takes you to a familiar album list. From there, you can access your camera roll just like always.

Photos - Albums

Photos - Camera Roll

The Camera app has become a bit more functional. The major new feature is some built-in effects. These can let you spice up your pictures without needing a separate app.


Camera - Effects

Diving Deeper

iOS 7 also offers some deeper features that can help you get the most out of your device.

Home Screen folders now have a new look (and a fantastic new animation) and, most importantly, support paging.


If you double-press the home button on your device, you’ll be presented with the snazzy new multitasking interface.


This lets you easily scroll through your apps (in the order that you’ve most recently used them) and shows a gorgeous visual of just what you were doing the last time you were in that app.

If you need to close an app for some reason, you can just throw the screenshot up towards the top of the screen. This gesture will be particularly familiar if you ever used a Palm Pre.


The just scratches the surface of all of the changes between iOS 6 and 7. I think it’s an incredibly worthwhile update and would encourage everyone to upgrade. But it’s possible I haven’t touched on the best feature yet.

New Ringtones.


Mic Drop