← Home Subscribe Replies Archive Reading Also on Micro.blog
  • Brewing Coffee With Zero Electricity

    Marco Arment had a post earlier about making coffee when your house’s electricity is out. I wholeheartedly agree with his instructions for what a normal person should do in this situation (drive to to the nearest Starbucks and enjoy).

    The other set of instructions were for what an “impatient, geeky, coffee snob” should do:

    1. Light the gas stove with a match.
    2. Boil water in the Helvetica Kettle.
    3. Plug the coffee grinder into the APC UPS that still has some power left, turn it on, grind the coffee, then turn it off to conserve its power.
    4. Realize you had the wrong grind size, dump those grounds, fix the grind setting, turn the UPS on again, and grind the coffee properly.
    5. Brew with AeroPress.

    That’s fine for a normal coffee snob, but what if you’re a real asshole with more coffee equipment than sense? I’ve added my own instructions for just this use case:

    1. See Marco’s instructions.
    2. Boil water in your Hario Coffee Drip Kettle
    3. Get a work out while grinding coffee using your hand grinder. This implies you’ve considered the possibility of needing to grind coffee if the power goes out, and bought one of these for emergencies. But that’s just common sense.
    4. Brew coffee with Chemex.

    → 1:39 AM, Dec 29
  • GTD Wagons and Dirty Dishes

    Part of using GTD is falling off the wagon. Everyone gets overwhelmed and lets their system linger a bit sometimes. If you keep up on some of the regular maintenance though, it’ll happen less often and when it does getting back on won’t be so hard. Just like a sink of dirty dishes tends to stay full, too many inbox items, or stalled projects, and you don’t even want to look at it. Unfortunately, just like the dishes it only gets worse if you ignore it.

    As soon as you start letting items sit for days or weeks in your inbox, you’re doing more harm than good. By capturing items into a system you’re letting rot, you might trick yourself into thinking you’re staying on top of things when you’re really just letting them fester in inbox purgatory. It’s like if you let the dishes sit until they molded. You already know the solution, and you’ve probably even made attempts to do in the past: process everyday.

    I have a potentially unnatural love of coffee, and I never forget to make it, regardless of what’s going on. Processing my inbox, however, happens all the time. Force yourself to turn processing your inbox is as much a habit as morning coffee, and there’s no way for it to get out of hand so much you’re scared to look at it. That doesn’t mean it’s easy, but I think with work it can become easy.

    The other time I get panic attacks when opening OmniFocus is when I’ve got stalled projects. Your GTD system is an evolving one, and it needs constant care and feeding. Letting projects sit with no path or intention for completion adds a lot of friction when looking for something to do. Reviewing your projects often (OmniFocus for iPad is great for this), getting rid of dead projects and redefining ones that are important to you is important for friction-free productivity, and I think one of the things people neglect doing the most.

    Sometimes figuring out why a project has stalled can be pretty hard. There’s probably a lot of things I think I’d like to do that realistically I either don’t care enough about, or don’t have the time for. I think it takes honesty with yourself, practice to recognize what you will and won’t do, and ruthlessness to kill anything that’s just cluttering things up. I think deconstructing projects with no action steps to the point where you can work on it also takes a lot of progress. And – like most things worth doing – I think it takes doing it a lot to master.

    The one thing your system needs to be is trustworthy. It’s okay to fall off the wagon, but you need to do your part to try and hold on if you’re going to build trust.

    → 7:23 PM, Dec 28
  • Hope You Got a Good One

    The Verge:

    Samsung has just distributed the worst news of this Ice Cream Sandwich upgrade cycle: the popular Galaxy S smartphone that sold 10 million units last year and the 7-inch Galaxy Tab tablet won't be upgraded to Android 4.0.

    The Galaxy S is a premier Android device that was released less than a year and a half ago, is still on sale and won’t even get an upgrade to the next major OS release because of the “experience enhancing” crapware that Samsung installs on their devices. This reminds me of the post that went around that detailed the terrible track record of Android upgrades.

    One of the reasons I prefer iOS – and Apple products in general – is because Apple is the only device maker who doesn’t consider their relationship with you to be over once they have your money. I see no evidence from carriers, or from Android device makers to contradict that, and plenty that supports it.

    I tell people who ask me about buying an Android device that if they do, they better hope the OS version they got was a good one because they’re probably never going to see another. I don’t know if Android is winning, but I’m certain that the people who buy these things are not.

    → 6:28 PM, Dec 24
  • Kindle Fire First Impressions

    I finally got to put my hands on a Kindle Fire today. I only used it in a store for a few minutes, but my immediate impression was that it wasn’t as awful as I’d expected, but that I couldn’t imagine buying one to use.

    Immediate takeaways:

    • I’ve seen 7” tablets before, but it still seems crazy small. Why is the tendency in the non-iOS world towards huge phones and tiny tablets? Is this something consumers want or is it something they’re being given?
    • It took 2-4 touches for most things on the home screen to register correctly.
    • The carousel is a terrible UI metaphor for finding anything. I can’t imagine it being the main way I interact with the device and not being frustrated.
    • It would be better to have not shipped magazine reading as a feature than to have it the way it is.
    • Miscellaneous visual glitches were frequent.

    I also noticed some positive things:

    • It seemed totally acceptable for playing the preloaded games. Cut The Rope seemed about the same as on iOS.
    • Although tapping on the home screen was pretty non-responsive, swiping around the carousel was OK lagginess-wise. Better than I expected for sure.
    • From a purely visual standpoint, the software and the device both weren’t as ugly as other Android based things I’ve tried. That has nothing, however, to do with actually using it.

    → 2:34 AM, Dec 23
  • Justin William's Developer and Power User Tool List

    Justin Williams:

    This is the third installment of my must have must have list of tools and utilities as a Mac and iOS developer. A lot can change in twelve months when you work in the technology space. The biggest change for developers in the past twelve months is the completed transition from Xcode 3 to 4 and from iOS 4 to 5. Oh, there may have been a new version of Mac OS X thrown in there for good measure too.

    Great list. I own and use almost all of the apps that Justin mentions.

    → 3:37 PM, Dec 20
  • RSS Folders Followup

    I posted a couple of weeks ago about getting rid of my somewhat arbitrary RSS folder setup in favor of using no folders at all. As it turns out – for my needs – using no folders vs. organizing everything has made no difference all. I'm not missing anything I was getting to before, or annoyed by any difference in the order I read things in.

    It makes me wonder what other systems I may have built up for myself that are really just me creating arbitrary labels instead of providing value. GTD contexts seem like low hanging fruit to look at next. For example, I'm starting to doubt the wisdom of dividing to-do items into categories like what app I'd be using, and tying them a bit more closely to physical opportunities and limitations.

    → 4:09 PM, Dec 15
  • Microsoft's iOS Apps

    Microsoft releasing what looks like a pretty cool game, as well as the other stuff they've been releasing for iOS makes me wonder what they could do if they put a really great product person in charge.

    → 4:12 PM, Dec 14
  • CocoaConf Address Book Slides

    Here's the slides from my address book talk at CocoaConf two weeks ago. Hopefully you'll find something helpful if you're working with this.

    → 3:55 PM, Dec 14
  • Goodbye, RSS Folders

    Although I'd add or subtract every once in a while, I've had my folders in Google Reader pretty much the same for the last couple of years (Tech, Developer Blogs, News, etc). It's worked pretty well on the whole. I've often had the problem when adding new feeds, however, that if they don't easily fit into one of my existing folders I don't usually really want to further complicate the existing taxonomy with more folders.

    I started wondering if it was improving anything at all. As an experiment I went into NetNewsWire and blew them all away, moving all of my existing feeds into the same place. Turns out it doesn't make anything any slower and now I don't worry about where to put things. The lesson for me is that, once again: less is more and simple usually wins.

    I may end up experimenting with something based more on how I read than content categories in the future (e.g. Favorites), but I want to live with this for a while first.

    → 12:00 PM, Nov 23
  • Simple Is the Greatest Kind of Empowerment

    My mom is not technical. When someone makes reference to normal people not understanding things like the filesystem, they’re talking about my mom. She also loves the iPad I bought her last year and uses it constantly. It’s the first time I’ve seen her excited about technology at all. It’s even empowered her to speak intelligently about things like Apple, Steve Jobs and the significance of what they’ve done with technology, which I never would have expected.

    Richard Stallman considers the iPad a jail and the people who would use such a product fools:

    Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom, has died.

    This statement is a bit old, but since I read it a few weeks ago I’ve been thinking about it a lot. Besides being callous, insensitive and demonstrating Stallman’s clear lack of social graces, it’s just flat wrong. My mom doesn’t consider the iPad a jail, she considers it empowering. So do a lot of other people.

    Not having to be a computer expert to derive value has always been the spirit of the Macintosh, and the iPad is the culmination of the philosophy of a volks-computer. Simple is the greatest kind of empowerment.

    → 7:40 PM, Nov 16
  • Stumptown Brewing Guide

    <

    p>

    <

    p>If you’re interested in making better coffee at home, the Stumptown Brewing Guide is a great place to start. My two most used brewing methods – Chemex and Beehouse – are both there.

    → 11:38 PM, Nov 13
  • Five Thousand Things

    Fortune quoting Steve Jobs from the lost Cringely interview:

    Designing a product is keeping five thousand things in your brain and fitting them all together in new and different ways to get what you want. And every day you discover something new that is a new problem or a new opportunity to fit these things together a little differently.

    Anyone looking to contract out software development should read this article. Not having a clear vision of what done will look like, and thinking that having the kernel of an idea is enough is delusional. Smart people know that implementation is 99% of what makes anything great.

    → 9:19 PM, Nov 13
  • 360|MacDev 2012

    I’m very excited to be speaking at 360|MacDev this year Feb 3rd & 4th. This is going to be my first 360|MacDev, but I’ve spoken at 360|iDev every time and it’s become my favorite conference.

    I’m right after Brent’s keynote, so no pressure or anything.

    → 3:19 PM, Nov 8
  • Delayed Execution of Blocks

    If you want to delay execution of block for a set number of seconds, you can use dispatch_after() in the following way to perform delayed actions in any queue you like. In the example below 3 is the number of seconds we want to delay by.

    dispatch_after( dispatch_time( DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC ),
    dispatch_get_current_queue(),^{ /* Your code goes here. */ } );
    

    The dispatch_time() function takes dispatch_time_t as it's first argument (typedef of uint64_t) which represents from when the delay is, and the number of nanoseconds past then until the block should be executed as it's second argument.

    You can use this a more flexible version of -[NSObject performSelector:withObject:afterDelay:] by passing dispatch_get_current_queue(), or if you want to use it across threads, by passing a different queue such as the main (dispatch_get_main_queue()) or a global queue( dispatch_get_global_queue()).

    → 4:32 PM, Oct 18
  • Procrastination Contexts

    If you’re using GTD, you know what a context is; and if you’re a human being you probably know about procrastination. One of the goals of GTD is to develop a system in which if we don’t let ourselves procrastinate, or if we do we’re honest with ourselves about why. Whenver you’re staring at a todo item with no clue where to start, GTD can give you you the tools to analyze why you’re not doing it. If a task isn’t actionable it’s usually going to fall into one of three categories: needs to be broken down further, there’s not enough time or attention available right now, or the context you need to complete it isn’t available.

    Of these three, context is the slipperiest and gives the most opportunity to trick ourselves into thinking we can’t do something when just don’t want to. If you’re someone who works on a computer and maybe fills a lot of roles (like a developer or designer), the context you need to get a lot of your work done might at first glance be “Computer.” Shit. This is a problem. Everything is in one context now and you’re trying to force yourself to hop between multiple mental states as you work through your todo items. I mean – you’re still @computer, right?. But you live in the digital age and your work has as much to do with mental state as any external factors – so obviously the solution is to create contexts based mental states instead of ones based on a person, place, or thing. Now you’re ready to start working.

    Instead of unlocking the power of stress free productivity, however, you find yourself still not getting as much done as you’d like and falling behind on important tasks. You’re still procrastinating. What the fuck?

    To understand why this happens, there are two things to consider. The first one is, “What about basing contexts on mental state creates opportunity for procrastination?” The second is how else we can solve the problem of the catch all context.

    Why and How We Procrastinate

    If I’ve narrowed down a project into atomic actionable tasks, defined realistic time barriers to complete that project, and I’m still not doing much, what’s the holdup? For me the holdup is that I rarely procrastinate on something based on physical restrictions, and I never procrastinate on doing something I want to do. I procrastinate because I don’t want to work on a specific thing, and I am inherently lazy.

    This isn’t anything to be ashamed of, humans are all lazy. We’d all rather be playing than working, and most of us work so that we can play. But everyone still has things they need to get done, and some of them aren’t going to feel like play. So if one reason why we procrastinate is that we don’t want to do something, basing GTD conxexts on mental state gives us opportunity to fuel how we procrastinate – with excuses. I’m never going to feel like doing something I hate, and if I leave everything up to my current state of mind I’ll always have the excuse of not being in the right one. If you hate doing bookkeeping, you’re never going to be in that state of mind. You have to force yourself.

    The primitive part of our brain is great at tricking us into avoiding work and doing things that are bad for us. If it were up to that part of our brain we’d eat nothing but candy and pizza for every meal. But not all tasks are junk food, and finding time for the ones that aren’t is important. We’ve got need to eliminate the opportunity for that part of our brain to do our thinking. A context needs to be a person, place, or thing. Almost anything else is a procrastination context.

    The problem we have now is the same one we started with: having one context which holds most of what we need to get done. The reason something like @computer is a procrastination context to begin with is that it’s not really a context, it’s a super context. Nothing should be added to it directly, and it should have a lot of children to choose from. Switching between one kind task and another on a computer are really different things. Rather than mental state a better way to solve the problem is to break down the same way you’d break down a project. Break down until it make senses sense and you’re left with no reason not start doing things.

    For someone who’s a software developer like me, it might be something like this:

    • Computer
      • Apps
        • OmniFocus
        • OmniGraffle
        • Xcode
        • Keynote
      • Online
        • Email
        • Basecamp
        • Freshbooks

    I try to break down this list as much as possible whenever I can. Mines actually a lot more extensive than this. the point is to assign tasks to the atomic context which contains the bare minimum to make it happen. There may be some Xcode tasks that I want to do and some I don’t, but the tool to do them is the same. Once I’ve started one Xcode task I can do all of them while at that context before moving on. Even the ones I don’t want to. The point of this for me is that most of my mental states are still mappable to a person, place, or thing. By breaking down contexts to this level I’m able to help the procrastination problem by eliminating any context which can potentially become an excuse.

    At least until I come up with more creative excuses.

    → 6:32 PM, Oct 12
  • Steve Jobs, Fear, and Trying

    I’m scared to write. I’m often scared to write, anyway, but about Steve Jobs dying I’m terrified. I’ve had this feeling since it happened that there was no way anything I could say will not be good enough to capture the weight of things, or even just my feelings about it. I also knew as I found out that if I let that fear control me and said nothing, I’d be upset with myself. So I’ve waited. I’ve waited now to the point where everyone else who had something to say about it probably has. And now I’m going to say the same things that a lot of other people who feel the same way as me have, because I need to say something before I’ve waited entirely too long and let a new fear take over.

    Steve is someone who directly changed my life by deciding to change the world and following through with it. No one was counting on me to do much, and by the time I decided to teach myself to write Mac software I hadn’t done a lot to prove anyone wrong. I can’t even really give a specific reason why it stuck and I kept trying, but it did. I put as much of myself into learning this one thing as I could, and eventually turned it into a job. I’ve been doing it as my only job since 2008 and have been a part of making things that I’m insanely proud of. As of a month ago I’m running my own business, and proud of that. This is really a long winded way to say that Steve’s contributions the world gave me a platform to – and I hope continue to – make my own contributions that I can be proud of.

    I don’t know what I’d be doing right now if there had been no Steve, but I don’t think it would be this, and I can’t imagine it being something that’s allowed to meet people who I feel like I belong with and who are equally passionate about something I’m obsessed with. Steve was right when he talked about understanding mortality in the Stanford address everyone quoted last week. It’s something I think a lot about, although I’d forgotten that he had said it until people started quoting him.

    My own crude version of the same idea – which I’ve repeated several times before – is this: We’re all going to be dead someday soon, and we have a very limited timeframe before to do something amazing – so you need to kick as much ass as possible while you can.

    My friend Mike had the perfect addition:

    "And once you're gone the only thing left behind will be the asses you kicked."
    

    Steve Jobs kicked a lot of asses, and was a personal hero to me. I worry a lot about not being good enough, smart enough, talented enough – even to write on my own blog. Steve is one of the people who inspired me to stop being scared and to try my best by doing amazing things and never accepting good enough as that. It’s that inspiration that has made me think – sometimes – that I might actually be good enough.

    I’m sad I’ll never get to tell that him in person.

    → 1:04 AM, Oct 10
  • RSS
  • JSON Feed
  • Micro.blog