I wish that it went into more detail on the hardware choices that he used. I'm constantly toying with the idea of building a Linux box for dev work, but then get lost in the morass of hardware options. The high level description of his system sounds perfect (tons of RAM, fast drives, and triple monitors), but I'm not sure how to get there.
== My own dilemma
Every line of production code that I write is done in Linux - in a VM running on OS X. The killer app that keeps me on OS X is 1Password. It's too useful, and I haven't found a suitable Linux replacement. Any suggestions?
The other "killer" is that it's extremely simple to get a great computer by pulling up the Apple Store site and clicking "buy this thing." Building my own is something I would have done a decade ago, but I've since lost track of what all of the hardware lingo means, or which companies are making decent components.
I use KeepassX on Linux. I'm not sure if it's missing features that 1Password has, but it works great for me.
For hardware, the Apple Store sells great laptops, but for desktops, it sucks. You can either get an underpowered mini for the price of a powerful Linux desktop or you can get an overpowered but out of date Mac Pro for the price of a small car. (OK, slight exaggeration).
Also, don't be afraid of overclocking. You can get a LOT of extra performance for little effort on an i5-2500k or i7-2600k. My box has been stable at 4.7GHz for months, and it's speeded up my compile times immensely. It'd probably also be stable at 4.8GHz, but I bumped it down one notch just to give myself some headroom.
I love my MBP, as it seems clearly designed to get some work done with minimal hassle.
Apple's desktop choices are very frustrating. I only buy Mini's as a computer to attach to the TV. It's great for a little, quiet computer that I don't have to pay any attention to. I couldn't do much work on it though. The Mac Pro's always seem way overpriced for what you get.
Apple's desktop choices are very frustrating. I only buy Mini's as a computer to attach to the TV. It's great for a little, quiet computer that I don't have to pay any attention to. I couldn't do much work on it though.
>You can either get an underpowered mini for the price of a powerful Linux desktop
Have you considered the cost of electricity? Power consumption at idle on the average desktop is like 4 or 5 times that of the mini. Also the mini sleeps and wakes quickly and reliably, and probably draws less power sleeping that a normal desktop draws when powered off. (You have to either unplug the normal desktop or flip the switch on the back of the power supply to get zero power consumption.)
There's also the noise issue: an idling 2011 mini can be heard in a quiet room if you are very close to it, but you would not notice unless you are listening for it.
P.S. I am curious whether Linux on modern hardware sleeps and wakes quickly and reliably. When I ran Linux (on hardware made in the 1990s) I kept it powered on and "awake" (not sleeping) continuously because that was the only way I could always sit down and start typing. In contrast, I usually sleep my 2011 mini when I walk away from it.
Have you considered the cost of my time? My 4.7 GHz i5 desktop with a good SSD is probably at least 3 times faster to compile my project than a Mac Mini would be (even with an SSD). It's now fast enough that I don't get the urge to switch to Hacker News while waiting. If I had to pay $100 per month for electricity for it, I wouldn't care.
And I doubt that the electricity difference is major. My i5 spends most of it's time at 1.2 GHz, and I'm using an efficient power supply. So when running at full-tilt it uses a lot more power, but when just running Emacs it's basically idle.
And yes, a modern Linux desktop does hibernate properly, although sleep is a little more problematic. It also boots in about 5 seconds (although most modern PCs have horrible BIOSes that add about 15 seconds).
The current Mac Mini is supposed to pull between 10W (at idle) and 85W (at load---this is the limit of what the PSU can take from the wall.[0]
Let's be generous and say that the Mac Mini, if left on continuously without sleeping, pulls on average 20W.
Let's be pessimistic and assume that power costs you $0.20 per kWh.
# The time in which the Mini will use 1 kWh
1000 Wh / 20 W = 50 hr
# The number of hours in one year
365 days * 24 hrs = 8760 hrs
# The number of kWh the Mini will use in one year
8760 hrs / 50 hrs = 175.2
# Cost of running the Mini continuously for one year
175.2 kWh * $0.20 per kWh = $35.04
That's amazing, no? Let's say, then, that you bought a mini for $599 dollars; your cost of ownership would be 599 + 35.04n, where n is the number of years you've owned it.
No doubt impressive.
A desktop I built relatively recently, which a Core i5 and an unnecessary graphics card, along with a few hard drives, pulls roughly 60W at idle and 150W at load (measured at the outlet by a Kill-a-Watt).
Let's be not-so-generous and say my machine pulls 100W on average, is left on continuously, and my electricity costs $0.20 / kWh.
My computer will use a kWh in 10 hours (1000 / 100); and will cost $175.20 per year to operate ((8760 / 10) * 0.2).
My initial cost for this machine (excluding monitor, keyboard, etc.) was $450. SO my cost of ownership is 450 + 175.2n.
The cost of ownership for east will equal in :
599 + 35.04n = 450 + 175.2n
149 = (175.2 - 35.04)n
149 / 140.16 = n
n = 1.06 years
So after a year of ownership the Mini becomes "worth it," if power consumption if your first requirement.
Note however, that I've given the Mini every benefit of the doubt possible, did not take significant steps to minimize the power consumption of my machine, am able to upgrade my machine piecemeal instead of discretely (and thus have significantly lowered future costs of ownership), and have assumed we've been leaving the machines on continuously.
The Mac Mini, let's say, pulls 0W when in S3 sleep.
My machine pulls 1W in S3 sleep, and about 0.2W when off (to answer your query, it wakes reliably and quickly).
If we assume my machine is asleep half of the time:
Half the time (8760 / 2 = 4380 hrs), my machine pulls 1W.
While asleep, it will take 1000 hrs to use 1 kWh.
Therefore, it uses 4.38 kWh in the time it is asleep.
Which means the new yearly cost is:
(175.2 / 2) + (4.38 * .2) = 87.6 + 8.76 = 96.36
The Mini ends up costing $17.50 yearly.
So:
599 + 17.5n = 450 + 96.36n
149 = 78.86n
n = 1.889 years
Once you factor in the cost of replacing the Mini versus upgrading a small bit of my machine, I think the answer is much less clear cut.
P.S. I don't mean to pick on you, but excitement about power consumption that doesn't factor in the numbers is a pet peeve. The Mac Mini is only "worth" it if having the computer you actually want is worth less that $80 or so per year to you.
The mini can take 2 2.5-inch hard drives and (unofficially) 16 gigs of RAM. Like I said elsewhere, I do not consider the mini suitable for software development or other demanding tasks. The popularity of smartphones and tablets as ways to access the web will probably prevent web sites operators from increasing the computational demands of accessing the web so much that I will need to replace the mini in 4 years -- online selling and buying and iPhoto being the most demanding things I do with the mini.
The mini weighs 2.7 pounds. When I want to spend a couple of days at the girlfriend's place, I bring it along and plug it into her TV set. (Unlike laptops and netbooks, however, the manual instructs me to power the mini down before moving it, and I do worry a little that it is not designed to survive this weekly commute.)
The girlfriend would have aesthetic objections to my plopping most computers on her living-room floor, but the mini is stylish enough and small enough not to raise any objections.
I guess my overall point is that when you use mobile-class components, like the mini does, you can get away with having just one fan, like the mini does, which saves further electricity, since fans consume electricity, and makes it easy to avoid making noise, and make the whole device potentially very compact and light, which has its uses even in a desktop machine.
The mini can take 2 2.5-inch hard drives and (unofficially) 16 gigs of RAM. Like I said elsewhere, I do not consider the mini suitable for software development or other demanding tasks.
Software development is not a CPU demanding task by any stretch of the imagination.
Professional programmers get just fine on an Air, much more so for a Mini --not to mention with 5 times slower machines just 3-4 years ago.
Linux. S3 sleep doesn't work in Windows, for reasons I haven't bothered to figure out. I only use Windows to play games, so I never had reason to care that it didn't go to sleep.
S3 is a firmware-managed power state. The OS (modulo bugs: for example not being able to reliably enter a sleep state) doesn't have anything to do with its power consumption.
You get to choose, and can go for something between. Eg when I built my Linux box a year ago I used the lowest power Core i5, SSD, 8GB ram which is nearly silent, and uses 50W from memory at peak. Linux sleeps fine now.
I've got it configured so that when I press meta-alt-x it sends the username, a tab, the password and enter to the keyboard. This is functionally equivalent in the vast majority of cases.
I use lastpass and 1password, with Chrome in OS X as an intermediary. I definitely prefer the 1password mobile apps, even on an Android tablet. But LastPass is a big win at work where I can't run 1password (looking at you, NMCI).
I'm sure you know that building your own desktop would let you get a vastly superior machine (in terms of raw performance) than buying an Apple. What you may not know, being out of the game for so long, is how much EASIER it is now. I don't build machines that often (maybe 4 in the last 5 years?), but when I do, I do some research, buy the parts, and then put them together. Then it works! In the 90's and early 2000 years, this process was a real hassle.
Sometimes you run into weird issues (especially with weird on-board video configurations), but I've never had them bad enough to make the process longer than a weekend day. (In the 90's it could take a week or more).
Is it easier than buying a Mac off the internet? No. You may easily make up your cost in time with your newfound productivity, though.
(Or you can just install Linux on your Mac directly, instead of a VM).
It's mainly the inertia of not knowing where to begin. It's good to know that the process is easier now though.
At the risk of descending into total newbie-land, when you say "do some research" where do you start with that? Has the state of things really moved to the point where I can find a highly rated ATX motherboard, a power supply that won't catch fire, and start plugging in components? My general approach would be to read reviews to find potential compatibility issues, stick with good performance but not bleeding edge, and to stay away from anything in the bargain basement.
(To everyone else who is replying about the 1Password replacement, +1 to all. Thanks. I'll check out those suggestions.)
Ars Technica runs a guide every few months with their recommended components to build a desktop PC at a few different price/power levels. Here's their most recent one, from last December:
Their advice is generally really good, so even if you don't end up buying the exact components they recommend, it's useful for establishing a baseline of what a good custom PC at a given point in time for a given amount of money looks like.
As to compatibility issues, if you mean "compatibility with Linux," those sorts of problems are much less common today than they used to be, at least for desktop PCs. Laptops still require some picky shopping if you're planning to run Linux on them (thanks to things like proprietary drivers for wireless radios, grumble grumble), but compatibility with desktop parts is pretty robust.
Tom's Hardware does regular roundup articles for building gaming PCs in a certain price bracket. I use those as a starting point. I've always built my own systems and in the past couple of years it really has become just plug and play. If you are looking to build a linux box the only caveat is that nvidia and intel video cards are generally better supported.
Personally, I have my list of trusted brands for each component (which are likely out of date, but whatever). I also poke around Newegg's reviews.
As a general rule, I tend to prefer older high-end components over newer mid-range components. That usually gives you better bang for your buck (since "older" in computer hardware is often a single year).
I never skimp on my power supply. A bad power supply can ruin your whole computer, and a flaky power supply can make it LOOK like another component is bad. Also, I buy the CPU/fan retail box combos, since custom fans invalidate your CPU warranty, and the boxed version has the thermal grease already done for you. This means you throw out overclocking, but you probably didn't want that anyway.
I think the other guides angrycoder and kylek are likely to be more help than I am, though.
Not necessarily. You can get surprisingly good overclocking results on most Intel chips even using the stock heat-sink/fan these days (and it has been this way for a while, at least since the Core 2 Duo days and even the generation prior to those).
But yeah, for someone who isn't even sure he wants to build his own rig and who won't be using the machine primarily for gaming the overclocking can be skipped without much real world loss.
In addition to the [buildapc subreddit](http://www.reddit.com/r/buildapc) you should also check out PC Part picker which will let you choose parts for your system, automatically choosing the lowest price and checking compatability.
I highly, highly recommend http://hardforum.com/forumdisplay.php?f=40 for build your own pc advice. There are some very knowledgeable and helpful people that frequent that forum (in my experience, more technical than tomshardware and reddit).
If by chance you don't find a thread by someone with similar needs and budget(seriously, thousands of these threads), then just start your own and it will be answered promptly.
I have a ridiculous system at home, and after years of building everything myself I now opt for base boxes that give me 90% of what I want.
What I'm using is a HP Z800.
It can take 192GB RAM in 12 slots (and mine does, I started on 24GB made up of very cheap 2GB sticks and upgraded later), and I also put in 2 Intel X5560 Xeon CPUs (they were new at the time and 4-core, if I did it again I'd be tempted by the X7550 which are 8-core).
The Z800 chassis is one of those zero tools systems, and best of all it is virtually silent (quiet enough that you don't hear it even when the work environment is silent).
Note: This stuff costs a bomb.
Topping out the RAM is expensive, but if you go for the smaller sticks in many slots you really get a lot of value for money.
The CPUs can cost a bomb too. But... if you're running many virtual machines (VirtualBox and Vagrant) then you shouldn't max out RAM and neglect CPU.
On motherboards, unless you're going for a server or workstation motherboard you won't get the best out of the rest of the components. You want tons of bandwidth to and from the RAM and CPU.
What else? Just use it. This type of hardware is incredible, but if it's just running Facebook then buy an iPad instead. I have nothing against people spending lots and not using it, but there's something really nice about great hardware being pushed at times.
It sounds like I've a very similar setup to the one in the article, the only differences would be that I haven't yet put an SSD in (though I do have a 3 HDD RAID for data), and I prefer 1 very high quality large monitor over several large monitors (I like a desk that isn't dominated by the computer).
For Linux buying options, I would recommend System76: a variety of systems (desktops, laptops, servers) with Ubuntu preloaded. They are a Linux-only vendor and so are serious about making sure their hardware choices are Linux compatible. Thus, you don't have to worry about compatibility issues or driver hunting etc. https://www.system76.com/
Building my own is something I would have done a decade ago, but I've since lost track of what all of the hardware lingo means, or which companies are making decent components.
Desktop hardware hasn't changed much, so if you built a system ten years ago, you'll come up to speed pretty quickly. The main pieces are the same; they just have different features, performance characteristics, and different rules for figuring out which components interoperate. If you want a complete list of parts that will work together, Ars Technica still publishes their system guides regularly.
Compatibility between different parts can seem complicated, but it's simple once you figure out the rules. To be extra safe and avoid accidental incompatibilities between components that should, by spec, be compatible, I always pick components that are popular with builders (measured by the number of reviews on NewEgg) and search the web for mentions of incompatibility between them.
Honest question regarding the password managers: what would you do if you had to log into one of your accounts from a machine not owned by you?
Say, you are traveling. You know there's a map, or something like that in your secondary email box. Only internet connection - the hotel PC. Would you risk accessing the master keychain from there just to look up that password?
I simply can not phantom not keeping all my passwords in the only 24/7 available storage - my brain. Also, don't I find myself logging into that many services on daily basis, as I often use Google/Facebook/LDAP as the access manager.
Yeah, you could buy a Mac and be happy. I just bought a System76, and while the jury is still out they came highly reviewed and first impressions with the machine are positive. You do have options other than "build" and "buy a Mac."
The segmentation of platforms makes the search space a bit complicated, but you can start from a list of prebuilt configurations (anandtech was mentioned), pick the one closest to your requirements, and swap/add/remove/adjust components a bit according to current functionality and price.
I use a key file and a long passphrase to encrypt the database and store the encrypted password db on dropbox which handles the syncing across all my machines and phone.
As an alternative to 1Password you can try Keeper (https://keepersecurity.com/). It has Linux, Windows, OSX, iPhone/iPad, Android, Windows Phone and Blackberry clients. With sync between all of them.
Time Machine is very poorly implemented, and is quite fragile as a result. Keep rsync backups in parallel (not of your time machine volume, those actually depend on inode numbers(!)).
On the keyboard front - wasn't realy aware of the differences between mechanical and non-mechanical, although I've been using a Kinesis Advantage Pro for several years now and love it. It appears to use the Cherry MX brown switches (http://www.elitekeyboards.com/support.php) also used by the Filco keyboard mentioned in the article. Does anybody else have experience w/ Filco keyboards? I switched to the Kinesis primarily for the form factor.
At home I use a Filco Majestouch (Tenkeyless) with Blue Cherry MX's. I LOVE it. Works with USB and PS/2 (N key rollover with PS/2, but it's rare you'll actually care about it). Built like a rock, I'm pretty sure I could hit a punching bag with it and it'd be okay.
On the downside like many say they can be quite loud, but most of the noise actually comes from people 'bottoming out' the keys. That need not be the case with mechanicals. Once you hear the click, your keypress is registered. So after a time with some practice, even blues can be fine around spouses.
A GREAT resource for all things related to mechanical keyboards (and a cool community in general, yes I am a member there) is http://geekhack.org.
I have a Filco Majestouch with browns at work, and one with blues at home. I mostly prefer the blues, but they are obscenely loud so just aren't that practical for an office environment. The browns are not much louder than a normal keyboard unless you are really pounding away on them.
If you are already using a Kinesis, you won't get much out of a Majestouch - They're as straight as an arrow.
I have a keyboard with brown switches and while they are quieter than blue ones, saying they produce "no sound" is quite an exaggeration. They still have a nice clicky sound and are much louder than normal keys. I actually like this, but it is something to keep in mind.
I use a filco majestouch tenkeyless with brown switches. I love it but it is pretty clicky. drives my girlfriend nuts. I have a bt apple chiclet keyboard hanging around for when she gets extra annoyed.
The Kinesis I have with brown switches is fairly loud - people always know when I'm typing on a conference call! I need a stealth keyboard for when I'm on the phone.
The fact he rarely uses a notebook fits my own experience. How many developers actually develop out in cafes, or do so many presentations that you'd need a mobile computer? Probably better to customize a workstation like this then sweat about mobility. (For that, we have phones.)
My main development machine is a 13" Air. Before that, it was 15" MBP. Have developed from university. Done great work in a bus. Fixed production quirks from a conference.
When I'm at my desk, the laptop is closed and connected to a beast of a monitor, external keyboard and mouse. It becomes a workstation. But when I want the mobility, it's there. Even if only to scurry off to a unoccupied conference room for bit of silence, it's very valuable for me. It's easily worth the ~700$ above the cost of a immobile box every two years.
As for performance, I've yet to feel constrained by the Air. But then again, I code mainly web apps in ruby, so no fiddling of thumbs while things compile - the most of time is lost waiting on database server. And my brain to come up with a solution.
I simply can't work to the same productivity on a laptop as I can with my desktop. I would absolutely love to, and I am envious of those that are (or believe they are) just as productive on a macbook air as they would be on say a 27" iMac with another monitor.
I really hope to attain that level of productivity and mobility, and I understand that some output is better than no output--When I am working I want to be using the best tools I can reasonably afford, and that for me is a desktop with a few monitors and plenty of space to spread things out.
Now when they release a high-res macbook pro I might get one, but for now I am sticking to a desktop.
Thunderbolt pretty much gives you the best possible compromise these days. Granted, no laptop will give you the power of a desktop, but if you can get by with less power, Thunderbolt lets turn your MBP or Air into a high screen real-estate workstation with mouse/keyboard/speakers/fast storage by plugging a single cable.
To me the ability to pull up my laptop and go work somewhere else for a few hours, or have my main workstation with me at conferences, etc is well worth sacrificing some power. Sure I can make use of multiple large displays, but I can do a lot of work without them without losing much efficiency. For stuff like design where I really need it, I can wait til I get home.
Sounds too good to be true, and it is. I tried this exact same setup and the noise the new MBP (was a 15" model) make when not even under full load is nothing i wanted to experience all day. It also got really hot in the upper keyboard area.. I those issues werent there, it would indeed be perfect.
It's ironic that because Linux is still harder to install on laptops than on desktops, people often end up using an OS X laptop and a Linux desktop. The drastically smaller screen space of a laptop makes it so much more important to be able to choose the perfect window manager for your tastes and configure it for maximum productivity. Also, the inferiority of laptop pointing devices compared to using a mouse shifts the balance towards using the keyboard for many common tasks, which once again favors a highly configurable window manager. OS X is trying to make up for it with multitouch swipes and Mission Control, but it isn't configurable enough, and probably never will be. As a result, working inside a small screen is a bigger tax on my productivity under OS X than it was under Linux.
Granted, I only ever used my Linux laptop for programming and light web usage. I never tried to set it up for anything else, but it was perfect for that one purpose.
Same deal, but I left my iMac 2 years ago for a Linux laptop. In the same way that I had that warm glow of the post-Windoze-to-Mac conversion experience 5 years ago, I had the same feeling when I left OSX for Fedora, like coming home again ;-)
Sony Vaio F12: quad core, 8GB, SSD, 23" LG travel monitor (5.5 lbs, nice!), iRizer laptop stand. Cost: 1/2 MBP. Code warrior: I be
The only thing I miss from OSX is Finder; well, the window manager as well; let's not forget the spinning beach ball either ;-) People, Linux is a gift from above. OSX is great for consumers, and is de facto the best OS on the planet, but Linux is the best OS in the universe -- big difference...
I've had it both ways, hopping over the Atlantic a few times, working from both office, hotel, apartments and actual home plus the occasional conference or weekend at friends. Eternally grateful for my laptop back then, actually bought one a bit bigger than what the company had me use (and, well, a Mac instead of a Vaio).
Now, I'm a sessile work-at-home startup guy who's really happy with a Linux tower and several displays connected. I've gone so far as to miss the ubiquitous color beige of ages past.
I too miss the ubiquitous beige--frankly, I think today's glossy black plastic and brushed metal (real or simulated) looks like crap compared to the good old beige of an early 90's PC (or Mac!)
I do the opposite: I should be able to take my main computer everywhere and never have to copy stuff from pc->laptop. So i use a lenovo X220 in 2 workplaces, both with a docking station (it has a terrible screen). Ideally i d like to live in a world where desktops are replaced by universal docking stations ready to serve any employee and her laptop.
I was looking for a netbook or laptop, and i ought to dig more, but I gave up that afternoon because the M$ tax started to piss me off. Anyone have much luck not having to pay for windows outside of a pieced-together system?
It bothers me that s76 decided to stick nvidia in there, like to make sure that if you drop Ubuntu in favor of Debian or some other distro, you'll get annoyed with all the driver mess.
I am in the same boat as I do not want to use Mac equipment.
Laptops: I have good experience with Toshiba both AMd and Intel cpus..my next laptop will be an i7 Toshiba.
As far as build desktop I might not have to as there are some basic HP desktop PCs on sale that with 1 gig dedicated graphics that you could install SSD into and than supply two LCDs and a network NAS for under $2500.
That is of course you have choice between 2nd generation i7 and the AMD FX series cpus
And of course if you need to add a graphics tablet it will bring it up to $3000..but still not bad..
I wish that it went into more detail on the hardware choices that he used. I'm constantly toying with the idea of building a Linux box for dev work, but then get lost in the morass of hardware options. The high level description of his system sounds perfect (tons of RAM, fast drives, and triple monitors), but I'm not sure how to get there.
== My own dilemma
Every line of production code that I write is done in Linux - in a VM running on OS X. The killer app that keeps me on OS X is 1Password. It's too useful, and I haven't found a suitable Linux replacement. Any suggestions?
The other "killer" is that it's extremely simple to get a great computer by pulling up the Apple Store site and clicking "buy this thing." Building my own is something I would have done a decade ago, but I've since lost track of what all of the hardware lingo means, or which companies are making decent components.