Recycle your machines.

Upgrade and resell every two years.

I’ve been asked a few times by folks about what Apple laptop or other device to get, how much ram, when to buy and the like. I’ve answered these questions over time with whatever seemed appropriate.

After engaging in a twitter conversation with @malaclypse, I thought, why not publish this? It relates to my when i start a company post, but it’s also how folks could operate individually as well.

There are many people more qualified to talk about such things than myself.

You will always own a computer.

With this agreement, all else seems to follow. I suppose there is another market assumption that is slowly becoming less true, but I think still holds, which is: Apple products have a high resale value. As Apple continues to make mountains of profit, our potential resale market gets smaller. But, I think we’re safe for a while.

The typical model of computer ownership by generally less technology friendly is “Buy it and hold it for as long as possible.” This emotional response makes perfect sense, you just spent this large chunk of money on a shiny new thing, it should last. The flaw in this approach is that these items have a built in shelf life of 20-30 months. Not that they are worthless after that, but they are certainly well into middle-age.

Let’s just say the computer you want is $2,500, and that as long as possible is 5 years. Over 10 years, you will have spent $5,000. Contrast this with buying brand new, every 2.5 years. Now you’ve spent $10,000 over the same ten years.

Recycle is superior. No, srsly. Wat?

Resale Value & Experience

The resale value of a 5 year old Apple machine is not likely to be more than 10% of the original purchase price. And frankly, I start to feel guilty charging even that much. The resale value of a 24-ish month old Apple machine however, is likely to be 50%-70% of the original purchase price. And a good low-cost entry into the Apple world for many folks. My first Apple product was a refurbished white plastic MacBook.

Buy & Hold will return you $500 over the ten years (if you can go through with the two sales), bringing the total cost from $5,000 down to $4,500. Recycle, however, will return you $6,000 (selling each original $2,500 machine at 60%, or $1,500), bringing the total cost from $10,000 down to $4,000.

The inversion in thinking is this: you’re not paying for the new machine, you’re paying for the depreciation of value of the machine you already own. And Apple products are like Volvos, they hold their value well.

Have you ever worked on a 5 year old MacBook Pro?

This is the other thing that’s not often recognized. What is the experience of working on a 5 year old machine like? Spoiler Alert: It sucks. Contrast that with buying a new machine every 2ish years. What a much better owner and usage experience that is. And it costs you the same, or a little less.

Huge Win

There’s a further benefit to Recycle. What about all your files? Software. Licenses. Cute hard drive icons. Srlsy, what about the icons? The thing is, dealing with this stuff every two years is a pain. But it’s a way bigger pain after five years. In fact, this idea that you’re really just renting the machine, causes you to look at al your data as separate from the machine you’re using to create it. This is a good thing.

You start to deal with data backups as a part of using a computer. Lucky for us the Internet is really good at this, and we tend to use it for redundancy for lots of stuff. All of Instagram isn’t on one hard drive somewhere. It’s on many. And as long as Amazon East stays up, we’re good. Srsly, everything runs on Amazon. Netflix, Flickr, it’s scary. OMG, so scurry.

But anyway.

Paying for computer depreciation frequently gets you a better computing experience and you have a more mature understanding of your relationship to the hardware (you don’t own it, you rent it).

HTML5 Developer Conference, San Fran 2012

My notes from the #html5devconf in San Francisco, CA on Monday, October 15 & Tuesday, October 16 – 2012.

Cache is King

9:00am : Keynote
Steve Souders from Google

My Ramblings

  • mobile connections are high latency, duh
  • last modified & etag
  • conditional get requests suffer to latency, it’s still a request
  • cache-control/max-age: max seconds before checking
  • if you change the file: change the name (a la cdn)
  • cache-control: max-age=0, must-revalidate, no-cache – always new file, ALWAYS
  • cache deliberately!
  • heuristic cacheing: a “freshness lifetime” some fraction (10%), fraction of time since last modified
  • bringing it home (w/love): mostly good, but some that demonstrate ambigious caching (by doing nothing)
  • oooh app cache:
    • if anything is 404’d – nothing is cached
    • ~5mb
    • must update manifest AND resources (right)
    • takes two reloads – yes. app cache isn’t the shit it’s cracked to be
    • the point of apcache: touch the network as little as possible
    • updateReady work around for load twice issue
  • stick code in localStorage? WAT?
  • browsers will get smarter with local preferred caching. that won’t help us though.

My Summary

The cache IS in fact king, and while many many things matter payload size, number of requests, execution time, etc – not having to fetch something is faster than having to.


Browserify – Use Node Modules in the Browser

10:30am
James Halliday from Browserling

My Ramblings

  • npm is amazing – don’t forget! 16k packages
  • “make crazy mad science happen”
  • node modules return values, don’t modify context
  • require is the other side of the commonjs
  • browserify will recursively traverse the entire dependency graph
  • can also use node core api –watch and save as you will
  • huh: you can require a json file with node and it returns the object back to you.
  • jsonSTREAM would allow us to only parse what we want from bloated json responses from the server.

My Summary

It sounds super awesome to do this. If we could get our backend to node, we might totally do this. Also, James/Substack totally comes across as a super genius; In the good way.


HTML5: Postcards from the Bleeding Edge

11:30am
Peter Lubbers from Google

My Ramblings

  • wifi dead – couldn’t note take, but this was more about building websites than games. in fact, most of the new apis and such discussed aren’t supported on mobile yet anyway.

My Summary

As noted above, this is more relevant to desktop, mobile is out for now.


What You Could Have Built With HTML This Whole Time

1:20pm
Stephen Blum from PubNub

My Ramblings

  • html has perceived limitation.
  • this talk has an actual limitation

My Summary

Maybe it was an off talk/day or something, but this presentation came across as more about promoting the company than sharing.


Single Page Web Applications: JavaScript End to End

2:20pm
Josh Powell from Rocket Fuel

My Ramblings

  • this talk is packed
  • general info about what a SPA is (single page application), perks:
  • distributed load, one language, one data format
  • “all javascript, all the time”
  • cons: back button, search, messy, analytics, sense of errors on client side, approach:
  • back: use history api & hash (onhaschange)
  • search: use #! & ?_escape_fragment_=key=value
  • messy: use patterns “do the work”
  • analytics: do the work to GA api
  • exceptions: throw errors somewhere (airbrake, bugsense)

My Summary

It was srsly hot in this upper room. The talk was solid, tech focused, and relevant. It was short though, only 30 minutes. Might be worth buying the book.

When I start a company.

  • Do not get an office.

    Use communal spaces for times we must meet and work in-person. Use the internet and computers for everything else.

  • Do not get phones for people.

    If people don’t have phones, they don’t need one. Use their personal numbers.

  • Do not buy “company” computers.

    Give them a stipend to buy their own machine or they can use one they have. You wouldn’t be hiring them if they didn’t have their own machine.

  • Do not get business cards.

    Use peoples individual cards. If you’re the founder, then your personal card probably has the business logo on it.

  • Use google apps.

    To get your names at your domain. but just forward that to individual email addresses.

  • When we need to meet with clients.

    Take all the rent for an office and shelves and such we’ve saved, and go to a swanky place. or a dive bar.

I think the point is that the individual brand is here. When you hire someone, you are hiring them. The people they know. The brand they have and are. Don’t spend all this time building up a facade brand of the your company version of said person.