Apple (Pro) Mouse (2014) - <AUTHOR> http://www.minimallyminimal.com/blog/apple-pro-mouse <comment><USER2> This article was written by someone who clearly values the aesthetic of Apple's mouse over function.

As a professional Mac user, each time I've purchased a new Mac that came with a mouse, I've always replaced it with one that fits professional use (currently, that is the Logitech MX Master series for me).

While the Apple mouse looks nice, it's clearly targeted towards users who don't use their mouse for long periods of time or for graphical work. Many non-professional users I know and work with have replaced their Mac mice (of all generations) with a different one because of hand cramping.

That being said, the black Apple Pro mouse was the nicest looking Mac mouse I promptly left in the box and never used.

<comment><USER3> > it's clearly targeted towards users who don't use their mouse for long > periods of time or for graphical work.

Speak for yourself. The Magic Mouse fits my hand exactly the way I use it, which means it doesn't "fit" it.

Before it, I had a thick Logitech that was perfectly molded to be held; Too bad that my hand never actually fully touched it because I move the mouse with my fingers alone while the wrist mostly stays still.

I don't know any professionals who consciously slide the wrist across the table, moving anything more than the fingers.

—

Apple mice seem universally hated, and I'm not trying to change anybody's mind, but I've held the same exact mouse since 2009 for daily work and I wouldn't replace it (except for gaming, which I no longer do)

<comment><USER4> I know a couple of people who suffer from carpal tunnel syndrome - and from what I understand moving your wrist is one of the things you're supposed to do to avoid injuring your tendons - anchoring your wrist and moving your mouse solely with your fingers should be avoided.

In fact, the Magic Mouse seems to be almost antithetical to everything I've been taught about mouse ergnomics

<comment><USER5> I think you have it backwards. Ergonomic mouse-pads have a big silicone pillow to rest your wrist on while you move your mouse with fingers only. Switching to such a mouse-pad is how my wife got rid of CTS.

<comment><USER6> For another point of comparison, what works for me is what the OP said is the worst, just moving the mouse with my finger tips. I also tried the mouse pads you mentioned, and they caused the most issues as they put pressure directly on my wrist. What I do is...

I line up the armrest of my chair with the top of the desk so they're a level surface. I adjust the height of my chair so my arm is at a 90 degree angle. My arm runs flat across the arm rest and the desk, and my palm sits on the flat mouse pad. Then, I just move my finger tips to flick the mouse 1cm in any direction for getting to different sides of the screen.

For keyboards it's similar. I use a thin and flat keyboard. This way my elbow (on the armrest), forearm, palm, and finger tips are all in a straight line. If I add any type of wrist rest, then the weight all goes to the wrist instead of being distributed.

Lastly, I dislike keyboards and laptops that raise the backside because they raise my finger tips and put pressure on my wrist. It feels much more natural for the fingers to be lower or equal to the wrist and palm.

Anyway, just my experience. I had some discomfort for a few years, and then nothing for the past decade.

<comment><USER4> I agree on the topic of mouse pads - What they're supposed to do is stop you from bending your wrist, but like you said, you end up with pressure on the very part you're trying to avoid.

Did you ever get a chance to try a vertical ergonomic mouse? They take a while to get used to, but the idea is that you don't rotate your wrist (i.e your ulna and radius remain parallel) and keep it in a more neutral orientation.

<comment><USER6> Oh, I never did try a vertical mouse. I remember seeing them for years but I never had a chance to spend time with one. It does seem like a much more natural hand position though.

<comment><USER7> Fire me, it's a bit of a chore to mostly grip (apply forces in two ways with one hand) a vertical mouse for full fine control (rather than a regular mostly "push down"/hand rest grip).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I used one of those mice. It was horrid in almost every way. The worst part is that the click had such a low activation force that if you rested the weight of your palm on the mouse it would click, and the side grips were poorly placed. Classic Bay-area "you're holding it wrong" arrogance in design.

However, I have to say that despite that first extremely unpleasant experience with Apple peripherals I actually quite enjoy using my Magic Mouse, and the touch-sensitive surface is one of the more interesting innovations in a field that's largely been stagnant and where most "innovation" seems to be high-DPI lasers and RGB LEDs.

The ability to use touch gestures on the mouse itself (i.e. 3-finger swipe on the mouse's surface to switch workspaces, 2-finger swipes for browser back/fwd navigation, scrolling, etc.) is pretty awesome and not something I've seen anywhere else. I'd never depend on it for getting headshots in counterstrike but for desktop mousing it tracks okay and the battery is quite good.

<comment><USER9> Sometimes, the multi-touch swipe functionality can be quite annoying due to the sensitivity of the mouse. For example, I could be trying to swipe left to exit a webpage but instead it is controlling a slider somewhere on the page. When I am editing text, I can't save the document because the swipe gesture on the mouse is unintentionally controlling another active window. I can somewhat live with this, but its annoying.

As for Apple's standard keyboards for Desktop Mac or PCs, I hope you have a lamp somewhere as they still don't have any keyboard backlight functionality. Even some third-party USB-C wireless mechanical keyboards have this and are much cheaper than Apple's keyboards.

Given Apple's typical expensive pricing with their keyboards, and the lack of a keyboard backlight, you might as well say you're left in the dark.

<comment><USER8> >As for Apple's standard keyboards for Desktop Mac or PCs, I hope you have a lamp somewhere as they still don't have any keyboard backlight functionality. Even some third-party USB-C wireless mechanical keyboards have this and are much cheaper than Apple's keyboards.

I learned how to touch-type about 25 years ago. Backlit keyboards are superfluous if you know where the buttons are.

</comment></comment></comment><comment><USER10> They look nice, but OH GODNESS they are awful to use! And I'm not talking about the buttons, but the general ergonomics. My main issue is that the shape doesn't embrace the hand at all which becomes painful quickly if used every day.

<comment><USER11> Exactly. The height of the mouse is less than typical ones and I had a hard time gripping the sides.

Regular ones have sides that are curved inwards as they go down to the desk, this allows you to tilt your hand without actually losing grip.

I just dont get how people like the magic mouse.

<comment><USER12> The magic mouse is exactly the right height for my (big) hands. I rest my forearm and part of my wrist on the desk, rest my index and middle fingers on the mouse surface, grip very lightly with the other fingers, and it's almost a perfect fit.

If I turn up the movement sensitivity I can move the pointer anywhere with almost no hand movement at all. Most of the weight is levered behind the wrist rather than on it so I'm using forearm muscles more than wrist tendons. The fingertip touch scrolling is super-intuitive and equally effortless.

I've used all sorts of mice from industrial Logitech blobs to gaming mice to tiny laptop mice to "ergonomic" designs, and the current magic mouse is far and away my favourite.

</comment></comment></comment><comment><USER13> > Regardless of what you may think of the Apple Pro Mouse, I believe that > there's something admirable about its stubbornness.

This reminds me of Porsche 911 engine placement.

Famously the 911 engine is at the back of the car which is about the worst location for it, except that Porsche are good at engineering and have persisted in making that location work very well for them.

The no button mouse might not be great on its own but it leads to the no button track pad, which I'd argue is.

<comment><USER14> Except there's not much your Porsche engineers can do about fundamental physics.

The possibility to kill yourself in a Porsche still exists, the only thing stopping you are the ESC/DSC systems which are, in all likelyhood, not made by Porsche anyway but OEM from someone like Bosch.

Turn off the ESC and given the opportunity physics will still remind you who's boss in the Porsche.

<comment><USER15> Why were Porsche so stubborn about putting the engine at the back anyway, if it's such a bad idea?

I at least understand why Apple want a no-button mouse.

<comment><USER16> It's only a bad idea for street cars because it makes them harder to drive. For performance, it's an excellent idea. It gives you better rear wheel traction, and allows you to connect the engine directly to the rear differential. It also allows you to have a flat floor, which makes the cabin nicer, which I'm sure is something they care about.

They fact that they go very fast, and require more skill to drive at fast speeds means they end up killing more people. Porsche used to make incredible, no-compromise, road-legal track cars, with manual gearboxes and very little driver assist. But they've toned that down recently, and you'll never see it from them again. The Porsche Carrera GT was probably the absolute pinnacle of supercar design. But it was very hard to drive, and got a reputation as one of the most dangerous production cars ever made. Killing quite a few people, including Paul Walker. Nobody will ever make anything like that ever again. A novice could take a Veyron around a track, but they'd probably struggle to drive a Carrera GT out of a car park.

<comment><USER17> The benefits are primarily from the better weight distribution and engine location in relation to the rear diff. The myth of fwd having superior driveability due to better traction is only real when comparing front engine to front engine, like a civic vs a mustang. With the weight in the rear, it's the same thing in reverse. Oversteer is far more easy to correct but rwd is uncommon so the average joe may be unfamiliar.

WRT Porsche toning things down, a modern 911 turbo S is WAY faster than the Carrera GT was, and the GT3 / GT3-RS models are literally street legal road cars with minimal assists.

<comment><USER16> It's not about how fast they are, it's about how easy the car is to drive. A GT3 is a road car made with road car parts and road car features (even if you buy the 'track' add ons, or whatever they call them). It has 'Porsche Stability Management', a powerful driver assist, which among other things, is especially good at controlling oversteer. The Carrera GT doesn't have that, so controlling oversteer is completely up to the driver. It also had the first production ceramic clutch, which was notoriously difficult to use. The tires and breaks of a Carrera GT also really needed to be at proper temperature to work properly.

I've driven both, on the street and around a track. I'm not exaggerating to say the average stick driver would struggle to start a Carrera GT and driver it a hundred feet without making the clutch scream. If you try drive fast in one, whether you drive into a tree or not is completely up to you. In a GR3 however, it's gonna do a significant amount of that work for you.

</comment></comment></comment></comment></comment></comment><comment><USER18> The article omitted one of the best "easter eggs" I've seen on a mouse ever: the Apple Mouse's red laser formed the pattern of a cute mouse head when held at about a 45 degree angle about 10 inches from the desk surface. And it wasn't a "oh, I kind of see it" sort of thing - it was clearly designed to have a cartoon look and was incredible attention to detail for anyone who found it.

<comment><USER19> Photo [https://arstechnica.com/gadgets/2006/03/3272/](https://arstechnica.com/gadgets/2006/03/3272/)

</comment></comment><comment><USER20> Fun fact: the author of this article now works at Apple in the Design team [https://www.instagram.com/mnmllymnml/](https://www.instagram.com/mnmllymnml/)

<comment><USER21> He's had a really interesting career, working for Microsoft on Hololens, XBox One S and Windows and worked at Tesla.

</comment></comment><comment><USER22> I've been an Apple user since the late 80s and from a usability point of view, I hate these mice with a passion, when I buy a new Mac, they always go in to a draw and my cheap old Logitech replaces them.

Apart from the ergonomics of how they feel in the hand, it's literally impossible for the mouse to register both left and right click simultaneously, which means if I feel like playing the occasional game, I'm stuffed.

<comment><USER23> This mouse was discontinued 15 years ago.

<comment><USER24> The mouse that came with my new 27" also can only either click left or right at any one time, and not both.

-> bin.

</comment></comment></comment><comment><USER25> I find every modern Apple mouse super uncomfortable, and I don't think I'm alone. They are too small/flat and create hand strain.

My favorite mouse to use with a Mac these days is the Logitech G305.

[https://amzn.to/3h0bqiU](https://amzn.to/3h0bqiU)

Also, here's my review: [https://www.amazon.com/gp/aw/review/B07CMS5Q6P/R1KU320KW6ZI3...](https://www.amazon.com/gp/aw/review/B07CMS5Q6P/R1KU320KW6ZI35))

I also personally like having the Magic Touchpad around as a second input device, for silent mouse motions (for calls) and for gesture support. You can have both connected nicely and if you use the paid app BetterTouchTool it serves as a nice way to have a rich input experience while retaining the precision of a high DPI mouse like the above. Another minor gripe of mine is that the Apple Bluetooth keyboard/touchpad combo from the _last_ generation, with AA batteries rather than Lightning chargers, are better than the current generation in lots of subtle ways, so I stick with them.

<comment><USER23> Please don't abuse HN for affiliate marketing links.

</comment></comment><comment><USER26> There has never been a great mouse from Apple, except maybe the old Apple II mouse. The hockey puck mouse was terrible. This mouse was terrible. How they were selected to go to production says a lot about Apple's blind sides wrt usability.

<comment><USER27> It's really fun to try to play a FPS game with an apple mouse.

(fun = impossible)

</comment></comment><comment><USER28> I try to avoid that term, but this is almost the definition of a fanboy: Actively ignores obvious shortcomings of a product and argues it should be loved for a non-functional detail (its marvellous look).

<comment><USER29> Yeah he's a fanboy:

> Fun fact: the author of this article now works at Apple in the Design team > (@ArmandGrillet, 2 hours ago)

</comment></comment><comment><USER30> Who knew The Future would be so unergonomic. I detest that mouse.

<comment><USER31> Beautiful to look at, awful to use - the polar opposite of Microsoft's Intellimouse Classic.

<comment><USER32> The current version of the microsoft intellimouse is so nice. I've got the new "classic intellimouse" at work, and I'm tempted to swap out my steelseries gaming mouse for the "pro intellimouse" at home so I can have the same feel everywhere.

<comment><USER31> Yeah I have one at work and one at home. It just looks, well, nondescript, but it fits my hand so perfectly it feels like it was tailored for me.

</comment></comment></comment></comment><comment><USER33> It's funny how these pretty, but disastorous from usability perspecive, mice get this much attention where really excelent products like Logitech's MX Master series isn't even known by the geeks singing praises to Apple.

<comment><USER34> My only qualm with the MX Master S2 was poor Linux support. Everything else grew on me.

I'm not really embarrassed to admit that I didn't know how to use my Magic Mouse for the first year I had it. The first generation was lighter, and my skin didn't slide due to the texture of the glass so I didn't even realize it was touch. I still scroll from the touchpad with my left hand or use hotkeys.

Love your tools. If you don't, find ones you do.

<comment><USER35> My MX does everything I want under KDE. About 2 years ago the ability to tell me (and warn me) about my mouse battery level just appeared. It was quite nice to have an update that brought changes you wanted.

<comment><USER34> You know, the only features it's missing are the thumb "gestures" and the continuous screen, which are both software provided.

So I guess I don't mean that it's lacking functionality, but that Logitech doesn't support it's software on Linux.

<comment><USER35> I didn't know those were features. Good to know though. I have the first generation, it's also been a long time since I've used it on windows.

</comment></comment></comment></comment></comment><comment><USER36> That stupid little scroll ball was a piece of junk. It was just like an old mouseball: rollers got all gunked up and stopped working very quickly. Even faster than a real mouse ball because yer dirty finger was rubbing on it all the time.

</comment><comment><USER37> Ah, Minimally Minimal. I used to read the shit out of his blog, but the posts became rarer and rarer until he quit it entirely. He (Andrew Kim) worked on the xbone S and then at Tesla for a while, no idea what he's up to now, but his blog holds a special place in my heart.

<comment><USER38> He's been working at Apple [0] ever since December 2018.

[0] [https://www.theverge.com/2018/12/17/18144421/apple- designer-...](https://www.theverge.com/2018/12/17/18144421/apple-designer- andrew-kim-tesla-microsoft-xbox-one-s-hololens)

</comment></comment><comment><USER39> I vividly remember an elderly customer who had the wireless version positioned upside down and was totally confused by the cursor movement. He thought something was wrong with the computer and asked me for help. I 180ied the mouse and he was embarrassed as one can get. We parted silently and we never shared a word about this with anyone. Good times!

<comment><USER40> HA! Classic!

I once had a support call for a customer whose mouse had stopped working. I told him that I get a lot of calls and I was sorry to ask but: "is it plugged in?"

Customer, who was pretty technical, was very embarrassed.

</comment></comment><comment><USER41> Apple, great products, terrible mice. Particularly this one. And the hockey puck one. And the Magic Mouse. Surely there was a good one at some point (maybe the ADB mouse?) but, I've been using third-party mice for too long now...

<comment><USER42> The Apple Pro Mouse -- the transparent bar of soap -- was basic but acceptable.

</comment></comment><comment><USER43> I must be an outlier because I love the Magic Mouse. I usually lay my whole arm flat on my desk. Since the mouse doesn't cause my wrist to arc I don't get carpal tunnel. Big win there.

I also rely heavily on swiping between desktops and I find the mouse works great for that. My one gripe would be the charging port placement being on the bottom. Charging up to a days charge doesn't take very long but it is annoying to have to stop coding to charge it.

<comment><USER44> I too prefer the Magic Mouse, precisely because of it's integrations with the operating system.

I've also found that for perhaps those who want (most) of those integrations you can replicate it with a multi button mouse (like those sold from Logitech or Microsoft) remapping those buttons to actions using either System Settings or in more advanced cases Hammerspoon[0][1]

[0] [https://www.hammerspoon.org/](https://www.hammerspoon.org/)

[1] Sole reason I learned Lua Initially was hammerspoon

</comment></comment><comment><USER45> Worst mouse I ever tried. But at least they learned for it and current Magic Mouse is a delight to use (on macOS).

<comment><USER46> The Magic Mouse is basically an RSI you can buy.

<comment><USER45> You are holding it wrong TM. But seriously, I realised that I need to hold it in a way that is different from all other mice I ever used.

</comment></comment></comment><comment><USER47> They are really beautiful mouses. I own all except the Apple pro mouse (which is identical to Apple mouse). Loved the clack clicking of the Apple mouse and what a design piece it still is. The Mighty Mouse was an improvement in usability but looked bland in comparison, and the ball would gunk up. Magic Mouse is perfect. But it's very common to see hate for it. I loved that design era at Apple. White and transparent plastic like the cube, first iPod, lamp iMac! Iconic.

</comment><comment><USER48> I loved the Apple Pro Mouse and the Apple Mouse back in the day because Apple finally capitulated and supposed a damn right mouse button. I have never understood the resistance to that — even on Mac trackpads since the 2000s, control click is still the default option. The first thing I do on any Apple machine is set it to recognize the lower right corner of the trackpad as the right pointer button. Or on a Magic Mouse 2, the right top region of the mouse.

The ergonomics old the Apple Mouse/Pro Mouse never really stood out to me, though I was a teenager when it was introduced and other than loving my Microsoft Natural Keyboard (that I sadly killed when a poorly-supported wax cup from a fast food restaurant leaked all over it...good lesson to 17 year old me), I was very much form over function as long as the basic function existed (which means the terrible Apple puck mouse and the Mighty Mouse were both dead to me).

I don't know if I could or would want to use an old Apple Pro Mouse today but I definitely would like one on display next to a G4 iMac.

</comment><comment><USER49> omg that was the shittiest thing out there. So many accidental clicks.

Also, the magic mouse with it's horizontal gestures are insane. I don't understand how some people I know like it so much.

Apple trackpads are king :-) And I'd love to have a keyboard+trackpad combination, basically the bottom case of the macbook. Somehow the positioning of a separate keyboard and magic trackpad doesn't quite work.

<comment><USER50> Yeah I bought a Magic Mouse 2 earlier this year and regretted it instantly. Apple need to stop thinking outside of the box when it comes to mice.

You're right about the positioning as well. If you have a full size Apple keyboard the trackpad is too far away always. If you have the compact layout Apple keyboard it's too much of a compromise with keys.

Best outcome for me was turfing the lot and the Mac and getting a Logitech mouse and a TKL layout cherry MX red based keyboard. So much better.

I'm sorry but the Apple input devices are inferior even to the lowest grade no brand stuff from Aliexpress at this point.

<comment><USER51> I'm happy with the compact Apple keyboards in general, but when I got an iMac Pro at work I wanted to try out its full-sized keyboard since it is nice to have all of those extra keys. To keep the trackpad closer, I decided to put it on the left.

I normally use my right, so it took a few days to get used to it, but I quickly became fluent and the arrangement works much better. I also like it since it balances out my hands a bit more instead of doing absolutely everything with my right.

<comment><USER52> The standard Model M layout is a left-handed keyboard layout. It was a right- handed keyboard layout when the Model M came out in 1984 and very few PC users had a mouse or any kind of pointing device. But for over 25 years it's been a left-handed layout and no-one has done anything in response, because so much of computing is now a cargo cult.

</comment></comment></comment></comment><comment><USER53> \- Apple Laptop $3k

\- Apple Monitor $1.5k

\- Microsoft Mouse $5

Doesn't matter how pretty or expensive Mac gear gets, the mouse will always be a good 'ol fashioned cheapo one.

<comment><USER54> \- Apple Monitor stand $1k

</comment></comment><comment><USER55> In contrast to the mice, which I've never really felt comfortable using, the Apple Trackpad has been one of the best input devices I have ever owned. Perhaps benefitting from all the UI/UX research into laptop inputs, swipes and gestures...

</comment><comment><USER56> Magic mouse 2 is the worst mouse I have used since I stopped using mice with the ball inside.

It's too shallow for my hands

It has a rough edge around the back when it should be smooth, the cheap plastic top doesn't line up perfectly with the metallic base.

And does tell you, you are low on battery until the day you need to recharge and you can't use it and recharge!!

It is the epitomy of bad design.

But that said I like the look of the older mice!

<comment><USER57> I honestly don't see a purpose for a mouse when you have a state of the art, not yet surpassed trackpad. Of course it is mostly regarding the MacBooks, not when you're using an iMac or Mac Pro even though the wireless versions are also a joy to use, except for the delay you get when you're used to a built in trackpad

<comment><USER58> Are you for serious now?

Ok, try to log in to app.sketchup.com and play around with it. For instance, try holding the mouse wheel button and move the mouse around while doing it, to pan.

<comment><USER59> on a trackpad you just pan with two fingers.

<comment><USER58> While holding middle mouse button?

Or panning while scrolling up/down at the same time?

</comment></comment></comment></comment></comment><comment><USER60> I always found it funny when watching Jobs' Macworld reveals to hear him gush about new mouse designs as being the best ever. I believe even one iteration of the "hockey puck" got this kind of treatment. Everyone knew it was baloney, but because the other new hardware was usually so interesting/good at these events, people generally didn't dwell on his mouse claims.

In recent years, the wireless Apple mouse which had to be recharged by inserting a USB cable into the base (thereby rendering it temporarily useless) surely takes the cake for form over function craziness.

</comment><comment><USER61> And after years of using apple mice to the point the cord would eventually break and where I always had to disable the side buttons because I just kept pressing them by mistake i just bought a generic two button mouse for 10€ that is a pleasure to use, a lot more ergonomic and that has already lasted twice the time any apple mouse I have ever had.

One thing it will never be able to do is to look that good on a photograph.

<comment><USER62> Well, if you're looking for an elegant mouse, this one looks pretty good: [https://www.amazon.de/Logitech-Gaming-Maus-Hero-Sensor- progr...](https://www.amazon.de/Logitech-Gaming-Maus-Hero-Sensor- programmierbare-Akkulaufzeit/dp/B07G5SF48Z)

</comment></comment><comment><USER63> This is kind of making me want to get an old translucent-shell mouse and paint the inner shell with some iridescent color so I have a pretty little shiny thing on my desk.

Though really I never use a mouse except when I'm playing some game that's built around one, and they always want multiple buttons; I'm an artist and I use my Wacom tablet for everything. Much better on the wrist.

</comment><comment><USER64> Recently got myself a Logitech Pebble. I've found it "practically minimal" \- it does the job, it's cute, better than Apple's mice in some aspects.

[https://www.logitech.com/en- us/product/pebble-m350-wireless-...](https://www.logitech.com/en- us/product/pebble-m350-wireless-mouse)

<comment><USER65> I was burned a lot back in the 90s by Logitech's piss poor drivers. Has the situation improved much since?

<comment><USER66> Its generally fine and just works on windows, usually on linux too.

</comment></comment></comment><comment><USER67> Love their trackpads. But their mice... not so much. I have a tiny travel mouse that has 4 buttons, scroll mouse and much better acceleration and surface detection and was bought for likely half the price. That travel mouse is deadly in games. The apple mice? Not as accurate.

But they look good and that is what Apple were aiming at.

</comment><comment><USER68> I bought a pro mouse 2 years ago and used it until few months ago. The biggest reason for giving up this nice looking thing is that, people no longer create UI that are one-button-friendly, especially when it comes to scrolling.

</comment><comment><USER69> The follow up mouse with the scroll ball was much better - scrolling is useful, and it could be configured to have left and right buttons making it useful for people who know what a mouse is :)

<comment><USER70> The scroll ball on the Mighty Mouse would always gunk up and was a pain in the ass to clean

</comment></comment><comment><USER71> Good design is the elegant marriage of form and function.

This mouse has a nice form.

</comment><comment><USER72> I have a white one, and even though option-clicking was a pain, I sort of missed it when I moved to the new Bluetooth Apple Mouse.

The design and aesthetics were just _so_ good, like a sugar drop.

</comment><comment><USER73> I actually quite liked the Puck version that came with the first Bondi Blue iMac — Not super precise, but great for smaller hands.

<comment><USER74> I agree. I aas a kid around that time and I loved the puck mouse.

</comment></comment><comment><USER75> Looks aside, I never liked them much, somehow too light. I prefer the external trackpad, it's also pretty and not flimsy.

</comment><comment><USER76> I prefer using an Evoluent vertical mouse on the Mac, though the most recent OS patch broke their software (for now).

</comment><comment><USER77> Funny so many people seem to like this aesthetic - I think it's ugly. The clear plastic case doesn't do it any favors. Whatever it gains from not having visible buttons it loses from the ugly floating grips on the side. It turns it from a sleek, continuous object with curved lines into a jagged, jarring device.

</comment><comment><USER78> Of all these mice, the Magic Mouse (1st gen) is the best - but all of them, without exception, have one flaw: they are designed for people with tiny hands.

Microsoft's original IntelliMouse however? Just _perfect_ \- but unfortunately wired...

<comment><USER79> Many of us prefer a wired mouse and keyboard! Faster to wake up, more reliable, don't need recharging.

<comment><USER80> The best thing about going wired-only is that it cuts down the selection to more reliable stuff when looking for a replacement. There's a bitter note to it because I'd really like to replace my bulky Natural Ergonomic Keybard with a Sculpt. But there is no wired version of the Sculpt.

</comment></comment></comment><comment><USER81> I thought this article was satire until I read the comments

</comment><comment><USER82> Apple still designs for style and upcharging over usability.

Not sure why people/Apple marketing insist on Apple products making them more productive. I can't agree on iPhone and I didn't find any speed increases on a macbook.

<comment><USER83> Just because you haven't been more productive doesn't mean other people aren't. Trackpad / mouse gestures are so convenient and useful for me that multitasking is so much more straightforward when I don't have the extra monitors.

It may surprise you to learn that people are free to use whatever tech they get the most benefit from...

</comment></comment><comment><USER15> > Let go of your hate. Accept what it is, let go of what it was, and embrace > what it has become.

I particularly like the sign off.

</comment><comment><USER84> Almost everything about Apple is driven by style instead of substance. That's one of the reasons why Apple is so successful - people are shallow.

<comment><USER40> Style is a part of the substance of an object; the two are not in conflict. Apple is simply one of the few companies that cares about style enough to make sacrifices in order to achieve it. And that's something I really like about Apple gear.

</comment></comment><comment><USER85> > Steve Jobs was shown six different models of mice to evaluate. But Jobs was > instead drawn to a seventh design, an unfinished model with the buttons yet > to be built in. Jobs thought the buttonless design was brilliant, and the > design team played along, pretending that it was their intention from the > beginning.

Oh my god, what a hopelessly toxic work environment! I just expect these designers were paid really well, for they had to bear with the assholery of such a callous boss.

<comment><USER86> Is it toxic that Steve Jobs liked the partially completed design they left out? Or are you just trying to cash in to the "Jobs is toxic" meme by finding the one mention of him interacting with the design team in the article?

<comment><USER85> > Is it toxic that Steve Jobs liked the partially completed design they left > out?

No. But the way that the story is written, it seems that the designers where terrified of Jobs wrath if they told that he had chosen an unfinished prototype. Why would have them lied to him, otherwise?

<comment><USER86> "Oh, you actually liked, that? Yeah, of course you did, that was my idea all along, I'm a genius" is a fairly common trope.</comment></comment></comment></comment>


The Largest Number of Scientists in Modern U.S. Is Running for Office in 2018 - <AUTHOR> http://www.huffingtonpost.com.mx/entry/science-candidates_us_5a74fffde4b06ee97af2ae60 <comment><USER2> Be careful, there are lots of people passing themselves off as scientists who aren't these days.

It is all over the place. From medical research where they call people who try to check the data analysis "parasites"[1], to psychology where they call people who do replications "bullies"[2], to physics where they want to get rid of the need for evidence altogether[3].

[1] [http://researchparasite.com/](http://researchparasite.com/)

[2] [http://www.slate.com/articles/health_and_science/science/201...](http://www.slate.com/articles/health_and_science/science/2014/07/replication_controversy_in_psychology_bullying_file_drawer_effect_blog_posts.html)

[3] [https://www.quantamagazine.org/physicists-and- philosophers-d...](https://www.quantamagazine.org/physicists-and-philosophers- debate-the-boundaries-of-science-20151216/)

<comment><USER3> That parasite website is so weird. It sounds so negative, like a piece of satire, but then you read the actual text and it sounds like a serious award whose goal is to encourage rigor in scientific research.

Whose stupid idea was it to call it the Parasite Award

<comment><USER4> Maybe natural scientists are more accustomed to using the strict, cold, definitions of biological concepts without being emotionally influenced by any cultural value judgement attached to them.

<comment><USER5> Good thing we live in a strict cold culture-less world then.

<comment><USER4> I think it's too much to ask to expect every little scientific niche, every subculture, to have to adapt their local personalized context-aware terminology to the global culture, just because a random person coming from outside the niche might be confused by their language. It's like demanding that no part of a public speech should be able to shine a poor light on the speaker when a substring of it is taken out of context. It's an unnecessarily harsh constraint.

</comment></comment></comment></comment></comment><comment><USER6> Many current congress members are lawyers and physicians. I welcome additional people with backgrounds demanding rigor. For example, in SF we have policies to help the homeless, but often fail to live up to their expectations. Politicians push through feel good measures that aren't based on rigorous studies.

Npr will often cite some idea based on a small study somewhere which hasn't been replicated elsewhere. Maybe technologists will require more rigor than we now do.

<comment><USER7> Why would technologists do that? Especially in those circles there's an incredible belief in easy solutions (i.e. technological solutions). For your homeless problem sociologists and anthropologists would probably be most appropriate

</comment></comment><comment><USER8> This is nasty business, the turning of "science" into a partisan wedge issue. After all, no need to debate if you can just call someone "anti-science". There's no significant difference in the number of STEM candidates this cycle, this is fake news stuff generated by a left-of-center advocacy group and HuffPo.

<comment><USER9> "Settled science" has become a curse word to me. "Science" used to be a method, now it's a belief system in the first world. It's disgusting.

<comment><USER10> It used to be fun sport on Facebook to kid those who followed "I fucking love science" for not having the first clue about science. But as science became more and more a partisan word, it just became sad - the birth of a new religion who's adherents didn't even care to learn their new dogma.

</comment></comment></comment><comment><USER10> A lot of atrocities of the 20th century were purposefully committed in the name of science and progress, claiming over a hundred million lives.

I much prefer candidates who care more about ethics the rights of individuals over those who's primary concern is the scientific method.

[EDIT] As a modern example, John Holdren wrote in a 1977 book, Ecoscience, that forced abortions and mass sterilizations were required to save the planet. Being a good enough scientist to become appointed president Obama's scientific advisor, doesn't mean you can't easily rationalize atrocities on a wide scale.

</comment><comment><USER11> Jimmy Carter and Herbert Hoover were the two engineer POTUS's. Take from that what you may.

<comment><USER12> Wasn't Carter a submariner followed by peanut farming?

<comment><USER11> Nuclear submariner.

<comment><USER13> As one of his duties, he personally entered a melted-down experimental reactor as part of the team that disassembled the damaged core.

</comment></comment></comment></comment><comment><USER14> I worked on the special election campaign for Bill Foster (D-Il). Seeing him win was one of the most memorable moments of the last decade for me.

</comment><comment><USER15> "The fact is that a mere training in one or more of the exact sciences, even combined with very high gifts, is no guarantee of a humane or sceptical outlook."

[http://orwell.ru/library/articles/science/english/e_scien](http://orwell.ru/library/articles/science/english/e_scien)

</comment><comment><USER16> Here in Germany we literally have a nuclear scientist running the government and frankly politics have become a bit boring. Now that may be a good in a way but vision is not really her thing.

<comment><USER17> Doesn't that allow you to treat your government as infrastructure and your culture as your source of vision though?

Granted I don't live there, but that sounds appealing to me. A boring, efficient, and well-run government would be like giving your society a great COO. Which then opens up the possibility for the people of the society to be their own visionary CEO.

</comment></comment><comment><USER18> Is this a good thing? Governing is at its essence people management, and the best scientists don't always make the best managers. They may not be persuasive enough to rally others to their cause, or see the importance in doing so, or understand the give-and-take of politics, just the crusade for "truth." A scientist may be better and smarter, but impotent and walked over if he can't actually do politics with other messy humans.

> I am obliged to confess I should sooner live in a society governed by the > first two thousand names in the Boston telephone directory than in a society > governed by the two thousand faculty members of Harvard University.

<comment><USER19> My company has two engineering departments. 1 that has a very traditional management chain (non-technical) that is very bureaucratic with lots of meetings. The other promotes only the best technical engineers with ~10 years of experience and people skills. The latter typically performs far better finishing all projects on time and under budget. My boss's boss knows every table in our database, how each interface to our various apps works...etc. All our management in that department can speak on the same level as our vendors and drive key design and architecture decisions and the next day be talking to shareholders in the political realm. When someone asks them a question they can give an answer down to the lowest level of granularity if need be. So my experience based theory of management is to take high performing domain experts with people skills and put them in management in lieu of typical Harvard MBA types. Then pay for them to take some finance classes to round off that skill set if needed.

<comment><USER20> In this case the domain is politics not science. If anything your argument is in agreement with the parent.

<comment><USER19> I know what you're saying, but I don't think you're catching my meaning. I believe good leadership involves specific skill sets applied to a particular area and that very few people can truly serve in the generalist role that the MBA & politicians try to sell you.

</comment></comment></comment></comment><comment><USER21> Define scientists...

</comment><comment><USER22> No doubt we need to get rid of the climate change/global warming/call-it-what- u-want deniers, and the outright false information being disseminated without batting an eyelash is pure insanity, but I still have to wonder if folks who have spent their lives in academia are compatible with government?

It is possible to swing the needle too far in the opposite direction and end up with just as many problems.

<comment><USER23> Ha! The overwhelming majority of congressmen and senators are lawyers or businessmen. The number of scientists, between both chambers, is in the low single digits.

[https://www.everycrsreport.com/reports/R44762.html#_Toc49835...](https://www.everycrsreport.com/reports/R44762.html#_Toc498356618)

[https://www.washingtonpost.com/news/the- fix/wp/2013/01/17/an...](https://www.washingtonpost.com/news/the- fix/wp/2013/01/17/an-awesome-diagram-of-the-113th- congress/?utm_term=.9328c871a4d8)

I don't think we're remotely close to "swinging the needle too far in the opposite direction"...

<comment><USER22> All I'm saying is, academia and government are 2 different ballgames -- I'm sure there are lots of similarities, but the stakes are on 2 vastly different levels. I'm not saying having scientists in the government would be bad, to the contrary -- right now that's what we _need_.

But replace all the lawyers and businessmen in government right now with professors and administrators from academia and we would still have lots of issues.

<comment><USER24> I doubt the bureaucracies of academia and government are all that different at their cores.

</comment></comment></comment></comment><comment><USER25> This could go really well or really badly. Scientists are good for making good scientific decisions, but they might (probably?) not be the best at managing a country. I think the best thing would be more people with political experience to run with the position of having lots of scientists as advisors.

<comment><USER26> This is such a cliche criticism of scientists running for public office and frankly I'm tired of it as it detracts from the fundamental truth.

There is no reason why scientists cannot run for public office. Reason, logic and strategic thinking is what we need - doesn't matter if it's a scientist, engineer or an accountant.

Compared to the shit we have today, this would be a huge step forward.

Plenty of scientists have leadership and political skills. It's not like scientists are just completely incapable of dealing with people - that is the cliche and we need to objectively think about this.

<comment><USER27> I honestly think Mitch McConnell employs a lot of "reason, logic and strategic thinking". Those things are not enough by themselves — you need to have something to build towards besides short-term partisan points.

Gerrymandering is another example of the abundance of misguided cleverness in the American system.

<comment><USER26> All I am saying is that "Reason, Logic and Strategic thinking" is minimum that a scientist offers.

There are so many scientists and engineers that lead multi-billion dollar corporations. They have, in addition to reason , logic and strategic thinking - organizational, political and people skills.

My point is that just having a scientific background should in no way be a limiting factor. In fact, it should be a positive thing.

</comment></comment></comment></comment><comment><USER28> Wasn't this an episode of The Simpsons?

</comment><comment><USER29> Highly politicized article.

If it were balanced, there should be some mention of medical scientists who have concerns for humans in development. Science has made tremendous progress in this area, but they are not covered in the media often.

</comment><comment><USER30> > _President Donald Trump has yet to name a science adviser, leading some to > declare that Fox News is filling the position._

This is petty drivel, from the pointless and nonsensical jabs, to the bizarre assumption that PhDs make better politicians.

<comment><USER31> I don't think it's bizarre to assume that a PhD is best to be a science adviser.

<comment><USER32> Only in the sense that PhDs are often extremely specialized. They are experts in one field, not general-purpose "science" experts. It may not be immediately clear why someone with the most advanced knowledge in the world on an esoteric organism in Indonesia would be a good advisor to the President.

A PhD functioning as an advisor does have valuable experience that would help them understand how some desired research needs to get done, or discern whether a particular study is quality or junk, or be able to communicate effectively in an environment full of technical jargon. Indeed, those are the characteristics that are really needed - but those are merely qualities that are hopefully picked up on the way to a PhD, not the research project which the PhD certifies.

<comment><USER33> A PhD alone wouldn't necessarily make a good scientific advisor, but someone who came from a high-level position in a university might.

Beyond a certain level, scientists become managers rather than practitioners. The successful ones have insight into the process of raising funds, the politics of large-scale research facilities, and sometimes the process of major international collaboration.

Discerning whether a given study is junk probably doesn't fall under the remit of Science Advisor. That's more of a tactical issue that would be delegated to a specialist policy wonk.

</comment></comment></comment></comment><comment><USER34> Scientists are running because they feel their class interests are being threatened. Typically, scientists are apolitical because they feel they get more benefits by maintaining the status quo (e.g. military and civil funding). In the face of a bald attack on the EPA and climate science, scientists are attempting to show class solidarity.

Unfortunately, many of the problems we have are not technical problems, but are clashes between left and right. The favored positions of both sides have long been established. Science will help implement an ideological solution, but will not replace ideology. To the extent that the scientists running are leftists compared with centrist democrats, this will be somewhat significant.

However, I suspect that many established scientists are ignorant of politics and see the current struggle as some kind of surface level fact vs fiction debate. They will be disappointed.</comment>


Why Kickstarter's design kicks ass (take note Diaspora) - <AUTHOR> http://motivatr.com/post/596312974/kickstarting-your-marketing

<comment><USER2> Fundable had much bigger problems than a bad front page design. Kickstarter has been doing alright, but this is the first time they've really made a big public splash, and it's pretty clear that Facebook and Diaspora are driving that attention. This post seems like a weird post-hoc explanation that's ignoring the obvious.

<comment><AUTHOR> Kickstarter's had a very impressive rise prior to Diaspora. They had over a quarter million UVs in March according to compete (<http://siteanalytics.compete.com/kickstarter.com/>), up 100% over the prior month. With a quick look at the site to can see lots of ~$10k project are getting funded all the time. That's revolutionary.

In my original post, I acknowledged Fundable had bigger problems: Now it's important not to overlook all the other things that might have caused one business to succeed where another failed. If you google "Fundable" you'll see they made a number of execution missteps. Fundable also didn't have the advantage of launching in a time when high quality video creation is so easy and sharing is so powerful over platforms such as Twitter and, well, Facebook. Nevertheless, it's great to see a venture that's executed well and in Kickstarter's case its competency certainly extends to its design.

</comment></comment><comment><USER3> Honestly, editorializing link titles is just... _tacky_. The least you can do for content creators is to link them accurately.

<comment><USER4> I wonder if this story would have seen daylight with the headline "Kickstarting your marketing". The headline is an editorial decision that you, the HN submitter, get to make, and I disagree that it is always tacky -- although I won't argue this particular case. Novum may not have respected the author's link title, but he did help popularize his content.

<comment><USER3> > _Novum may not have respected the author's link title, but he did help > popularize his content._

Pardon?

Anyway, it occurs to me that there are also other ways of respecting the author's link, like using the author's original short url (if any).

</comment></comment></comment><comment><USER5> Don't know why but this struck a cord with me. I realize on home pages of systems I just list features.

I updated my flash card site, <http://cueflash.com> with similar copy. (Check out <http://dev.cueflash.com/> to see the old copy).

Feel free to comment if you think it could be improved (I am not much of a marketer).

<comment><USER6> I like the concept of the site however I want to see what using the virtual cards is like without having to sign up first. I would also recommend a redesign, as certain elements could definitely be realigned to make the experience of using the site better. If you improved on the design and usability, I could see myself recommending this to my friends. If you'd like, shoot me an e-mail and I can provide some more info on how to better realign the site.

</comment></comment><comment><USER7> This should have just been a link to Kickstarter without mention of Diaspora... I like Kickstarter though.

<comment><USER5> I think it is about how one succeeds where another fails, not about about kickstarter.

</comment></comment><comment><USER8> I'd love to read more about how to pitch effectively to users.

Anyone have articles they'd recommend?</comment>


Covid-19 has a 0.05% fatality rate in people under 65 without comorbidities - <AUTHOR> https://twitter.com/jtdaugh/status/1263693957403480064 <comment><USER2> The mortality rate is not the only consideration. People don't want to die, sure, but they also don't want to spend a couple of weeks in the hospital. And _that_ risk, even for those under 65, is much, much higher: at least 1 in 100 (Source:[https://www1.nyc.gov/site/doh/covid/covid-19-data.page](https://www1.nyc.gov/site/doh/covid/covid-19-data.page)).

Not only do individuals not want to spend time in the hospital, we as a society don't want them there either. Assuming we need 60% of the population to recover in order to achieve herd immunity, and assuming we somehow isolate _all_ of our 65+ year olds from the virus, that would mean almost 2M hospitalizations in the US.

<comment><AUTHOR> I can't find hospitalizations broken out by underlying illnesses, but if among each age bracket we assume the % of deaths associated with underlying illness holds as the % of hospitalizations associated with underlying illness, then we get a "healthy under 65" Hospitalization Rate of 0.3% to 0.5%.

Under 65:

7.4M people

1.55M infected

26,000 hospitalizations

4,548 "healthy" hospitalizations (16% of deaths under 65 have no comorbidities. Using same rate here).

800k-1.2M infected w/o comorbidities depending on "healthy rate"

4,548 / 1M = 0.45%

<comment><USER2> Good point. I was assuming using the rate per capita would be best case, but you're right, you'd also need underlying illness rates. I think the point stands though, that hospitalization rates for otherwise healthy patients under 65 is an order of magnitude higher than their mortality rate.

</comment></comment></comment><comment><USER3> While I agree that the press is exaggerating the deadliness of the disease, this number is also misleading. As many will point out, the vast majority of US citizens have at least one comorbidity (obesity, diabetes, heart trouble, smoking, asthma, etc.)

You have to go to the very young (under 25) to find a sizable population without a comorbidity.

I think it is more useful to point out that mortality is skewed heavily toward age and whether or not you are in a nursing home. Seniors outside of nursing homes are doing an order of magnitude better than those in homes.

Over half of US counties have no COVID deaths. The number are skewed terribly by NY/NJ as well.

<comment><USER4> Also, 0.05% sounds like a tiny number, but is larger than mortality probability of all other causes in the USA for people in the 1-21 age bracket, still is half of it at age 33 and about a quarter of it at age 45 ([https://www.ssa.gov/oact/STATS/table4c6.html](https://www.ssa.gov/oact/STATS/table4c6.html)), and that's even with those statistics including people with comorbidities.

Looking at it another way, if the entire population were healthy, that's 160.000 deaths. That's four times the number of yearly traffic deaths, double the number of overdose deaths (both already high for comparable countries)

Those 160.000 might not return every year, but if this behaves as a typical virus, it could mutate enough to return every few years.

<comment><AUTHOR> Another way to look at it: ~700,000 people under 65 die in the US each year.

<comment><USER5> Or ~240,000K each month in total (across all demographics)

(~8000/day)

</comment></comment></comment></comment><comment><AUTHOR> Spreadsheet with data and sources:

[https://docs.google.com/spreadsheets/d/1bKbRccSVz-u5HtoLK0zb...](https://docs.google.com/spreadsheets/d/1bKbRccSVz-u5HtoLK0zbctSh0JeCTqNggw5fv3SQRuY/edit?usp=sharing)</comment>


Ask HN: State management with React - <AUTHOR>

So, React looks pretty cool, and I have most of the other questions answered as far as building a client-side app with it.<p>What are people using to manage state with React these days?  I see some people using Backbone, but Backbone's API feels really clunky and overly ceremonious to me.  I'd love to hear what you guys are having success/difficulty with. <comment><USER2> React is pretty awesome. I made a demo of a time travelling debugger using React. Just play with the app then press debug at the top, and move the slider (The language is Clojurescript and uses David Nolen's Om by the way).

[http://connecttous.co/connecttous/connecttous.html?livedebug...](http://connecttous.co/connecttous/connecttous.html?livedebug=true)

: Doing something like this without React would be almost impossible

<comment><AUTHOR> That's pretty sweet. I did notice that moving back in time (thus changing the values to what they had previously been) actually caused it to think more stuff had changed, therefore increasing the number of changes to track. Still, a relatively small bug in an incredibly cool demo.

This doesn't exactly answer my question of what people are using to store data for React to use though. For instance, if I have an inbox and I want to display a list of messages, and unread counts for each folder. It makes sense to me to store that data in one place, instead of copying it to each component's state. So where does it go? Just a global POJO, or what?

<comment><USER2> Hi, Glad you liked the demo, it is a GPL project at [https://github.com/zubairq/coils](https://github.com/zubairq/coils).

I may have fixed the bug with going back in time, not 100% sure though, but maybe try it again as more fixes have gone in.

Regarding how people are storing data for react, this is a big topic in itself. I personally (and with Coils) keep a UI only data structure which updates the React GUI, and then synchronise the state from a Data store totally independantly, although I have seen that other projects mix this up a bit, or don't give an opinion on it, which can caue misuse. Does that answer the question?</comment></comment></comment>


Forget developers in test, we need testers in development - <AUTHOR> http://trishkhoo.com/2013/12/forget-developers-in-test-we-need-testers-in-development/ <comment><USER2> It's nearly always a case of striking a balance between man hours and quality. I think the general argument that everything should be tested is noble and definitely something to keep in mind as a higher goal, but it's equally important to understand the context of any testing. By this I mean it's for instance important to consider what stage the company is at, what the impact is of having production code that breaks, and what systems are in place to catch faults and fix them. Developers should be all-round enough to be able to think about testing, and in equal measure be able to make the right decisions about what is worth spending man hours on to test now and what isn't.</comment>


Airbnb Partners with China Broadband and Sequoia to Expand in China - <AUTHOR> http://venturebeat.com/2015/08/19/airbnb-partners-with-china-broadband-sequoia-to-expand-in-china/

<comment><AUTHOR> They're looking for a China-based CEO. Will they post the job on HN?</comment>


Immutable Infrastructure and Disposable Components - <AUTHOR> http://chadfowler.com/blog/2013/06/23/immutable-deployments/ <comment><USER2> I just want to note that Packer ([http://www.packer.io](http://www.packer.io)) fits perfectly into the model of immutable infrastructure. Packer is an open source tool for automatically creating machine images (perhaps for multiple platforms).

The idea of quickly and easily creating these master images in a way that doesn't slow down agility to change infrastructure is crucial, and Packer enables that.

Disclaimer: I wrote Packer.

<comment><USER3> How does it compare to DisNix? [http://nixos.org/disnix/](http://nixos.org/disnix/)

<comment><USER2> As far as I know, disnix is just for Nix. Packer creates machine images for multiple platforms. It would make sense, if you were building a machine image for Nix, perhaps, that you would use this. But for an Ubuntu machine, you can't really. Unless I'm mistaken.

</comment></comment></comment><comment><USER4> Conceptually, it's good. But in practice, it's just an analogy. Immutability in programming languages is enforced at compile time and run time. Something like:

val x = 1; x = 2;

is an actual error and the compiler/runtime will give a "you can't do that".

Immutable infrastructure, on the other hand, would require read-only enforcement on all aspects of configuration. It can be done, but not easily, and someone _always_ has root. So what you're really talking about is the ability to reconstruct an environment programatically from scratch, with no manual intervention, which is laudable but not exactly immutable.

This is the sort of thing that makes me appreciate the 12 Factor App idea ([http://www.12factor.net](http://www.12factor.net)). Rather than trying to make configuration immutable, make it impossible. Don't rely on the existence/continuity of a filesystem at all. Don't use configuration files.

<comment><USER5> > someone always has root

same in programming... unsafePerformIO, dropping into native code or assembly, etc. In 2013 the hardware exposes a mutable interface.

<comment><USER4> I think that's fundamentally different. Breaking immutability in a language by stepping outside the language is still programmatic. Breaking it via administration is a human decision.

In programming, it's a conscious decision to break immutability (assuming a language that supports it). It administration, it's a conscious decision to enforce it.

<comment><USER6> And it's really bad practice (at least in Haskell) to truly break immutability. Uses of unsafePerformIO are strongly urged to be "observationally immutable, pure, safe, transparent".

</comment></comment></comment></comment><comment><USER7> The idea of applying purely functional programming concepts to deployment is not new, see the Nix package manager and the NixOS Linux distribution built on top of it ([http://nixos.org/](http://nixos.org/)). This paper explicitly makes the link with functional programming: [http://nixos.org/~eelco/pubs/nixos-jfp- final.pdf](http://nixos.org/~eelco/pubs/nixos-jfp-final.pdf)

</comment><comment><USER8> I see that Wunderlist uses EC2. So I speculate that they create a fresh machine image for each new revision of the application, and also use immutable machine images for bits of infrastructure such as the database.

But how do we put the idea of immutable infrastructure into practice on bare- metal servers? One option would be to set up one's own virtualization infrastructure, such as Xen or KVM. But that would undermine the I/O performance and resource consolidation advantages of running on bare metal. Docker looks promising; we just need to discover the best practices for running specific kinds of services (e.g. web applications) on top of it.

<comment><USER9> Jails have been around for a while in FreeBSD and they are often used _for this exact purpose_ ; the concept has only, really, entered the mainstream due to widespread usage of EC2/OpenStack and now Docker (which is basically FreeBSD Jails + ezjail but for Linux and a little different on some other fronts).

Nothing beats a bare metal machine with FreeBSD + ZFS pool + ezjail; the really cool thing about ZFS is that you can build a "base jail" then just use ZFS to make snapshots of the base jail when creating new jails. So with that you can create versioned base jails that are running an upgraded ports tree, or more generally, an upgraded world build!

It also makes _transition_ between application versions easy because you can run a separate database jail(s) (maybe different versions of the db?) and have a jail for app v1 running while a jail for app v2 is running at the same time.

What I would love to see is a tool for abstracting this deployment pattern on- top of ezjail. I've been considering doing this myself but my time is stretched too thin :(

<comment><USER10> > _What I would love to see is a tool for abstracting this deployment pattern > on-top of ezjail. I 've been considering doing this myself but my time is > stretched too thin :(_

This is basically what we're doing with Docker. We started with lxc but it can and will be ported to other OS virtualization backends, including jails and zones.

Create a new base image from a running container:

        CONTAINER_A=$(docker run -d ubuntu apt-get install curl)
        docker wait $CONTAINER_A
        docker commit $CONTAINER_A shykes/my-ubuntu-with-curl
        CONTAINER_B=$(docker run -d shykes/my-ubuntu-with-curl curl --help)

Share your new image for the rest of the world to enjoy:

        docker push shykes/my-ubuntu-with-curl

Transition between application versions:

        V1=$(docker run -d shykes/myapp:v1)
        V2=$(docker run -d shykes/myapp:v2)
        docker stop $V1

Transition between _database_ versions (sharing of persistent data):

        V1=$(docker run -d shykes/mydb:v1)
        V2=$(docker run -d -volumes-from=$V1 shykes/mydb:v2)
        docker stop $V1

</comment></comment></comment><comment><USER11> [http://docker.io](http://docker.io) is how I'd do this as soon as they have a stable version for production. Pick a common (or at least mostly common) base OS for every server, configure your entire system on top of a LXC container, badda bing, badda boom. Quick, low profile, repeatable, redistributable, etc etc etc.

<comment><USER12> Much the same thought I have.

I've been doing various things toward the same goal for a long time, but Docker helps on every count (quick, redistributable etc).

</comment></comment><comment><USER13> Related piece from another Fowler:

[http://martinfowler.com/bliki/SnowflakeServer.html](http://martinfowler.com/bliki/SnowflakeServer.html)

<comment><USER14> And also PhoenixServer: [http://martinfowler.com/bliki/PhoenixServer.html](http://martinfowler.com/bliki/PhoenixServer.html)

<comment><USER8> I like the concept. But where I work, our infrastructure is currently hosted on leased dedicated servers, where (last time I checked) OS reloads require manual intervention from the hosting provider and cost something. So I guess the burning down and rebuilding would have to be done on a layer above the base OS, e.g. Docker containers.

</comment></comment></comment><comment><USER15> Been doing this for years at all levels, and it really works. It allows me as a single dev to spend less than five hours (amortized) a week on a decent sized infrastructure to support my business. This includes building multiple racks of custom servers coloed at multiple DCs, networking, private clouds, server admin, hardware maintenance, upgrades, deploys, etc... and saving me 100k+ per year over AWS and having to hire another.

<comment><USER16> Wondering how you manage you database server. Care to share you approach?

<comment><USER15> I make use of polyglot persistence. Graph, columnar, document, relational, key-value... each used when they are the right tool for the job. Each scaling horizontally. It gets easy to blow them away. :)

</comment></comment></comment><comment><USER17> This is essentially what I do with my own server, but largely because I'm too dim to trust myself to upgrade things well.

That being said, he's abstracting the problem a little bit:

> If you absolutely know a system has been created via automation and never > changed since the moment of creation, most of the problems I describe above > disappear. Need to upgrade? No problem. Build a new, upgraded system and > throw the old one away. New app revision? Same thing. Build a server (or > image) with a new revision and throw away the old ones.

The key here is _created via automation_. You get a choice, I think:

* You can spend time/energy/worry/entropy on making sure the server is up to date

* You can spend time/energy/worry/entropy on making sure the automated process is up to date

The second one is a little easier, to be sure, though depending on the setup it could still involve a lot of research, and it's certainly more expensive.

But hey, if you're in a position where trading some _money_ to buy some _time_ is an option and you have the cash to burn, I'd buy the time at every chance.

</comment><comment><USER18> We've been doing this for ages where I work. New EC2 AMIs are built inside a disk image. We can pretty easily use all of the standard tools through chroot, so installing packages is relatively simple and flexible.

Instances are ready for use immediately after booting, and deploying new code is as simple as rebuilding the image and booting it. We can also easily scale up most forms of servers by simply booting more and adding them to the proxy as they come up.

The only downside here is that firefighting still kind of remains a two step process. Even after investing a decent bit of time optimizing the process, it still takes 5-10 minutes to build and upload an image. From there it takes another 5-30 minutes to get EC2 to boot it, so there's a strong temptation to tweak things on the server. I've taken to patching, testing, and committing the fix on the tag for that release so I can simply apply a diff to get the server up to date. Not perfect, but it goes a long way to prevent regressions.

<comment><USER8> Do you mount the root file system read-only in these images? That seems like it would be a great way to lock things down further, if it's practical.

<comment><USER18> No, mostly because it's inconvenient. Making the root filesystem read only means having to track down everything that tries to write to it and fix mounts for them.

After a few years of working with this, I kind of wish we'd bitten that bullet at the start. The AMIs we produce have a root filesystem that's only like 2 gigs so it goes across the network faster. 2 gigs isn't a lot of space when something decides it wants to log or write out temp files in weird places.

</comment></comment></comment><comment><USER19> So, basically this article doesn't provide any insights and or technical background on how any of this was achieved.

Just promotes the author for conference speaking.

Well played good sir you got on the front page of HN, well played.

<comment><USER20> Thought experiments such as the author's are the insight.

One of the distinguishing features of a thought experiment is a lack of implementation details in the domain to which the analogy is applied.

Better not to become bogged down trying to build a faster than light locomotive.

</comment></comment><comment><USER21> This idea of immutable infrastructure reminds me of NixOS [1]. A linux distribution where nearly the whole filesystem is immutable.

Definitely worth a look. I'm not sure if it's fit for production usage, but i think it's the future of operating systems :).

[1] [http://nixos.org/nixos/](http://nixos.org/nixos/)

<comment><USER3> It has some features to deploy to a cluster as well: [http://nixos.org/disnix/](http://nixos.org/disnix/)

And I find its 'nixos-rebuild build-vm' command quite handy to test changes.

On the other hand immutability of the OS image doesn't mean you can easily roll-back after an upgrade, especially if you've been running the new version for a while, because you might still have mutable state (see below).

Sure if you store all your configuration in Nix, then it is possible to rebuild the old configuration as it was, but your mutable state is not managed by Nix.

One such example is database files. You've upgraded to the new configuration, and perhaps even had a script to auto-upgrade from your old schema. Now you want to go back: what should happen to the database? Should it be entirely rolled back (from backups) to an old snapshot? But then you loose all the new data. Should you roll-back the schema change? Again what happens to the new data that doesn't fit the old schema?

Another example of mutable state is remote nodes that you depend on for a particular service. You can roll back your local machine to an old version, but will it still be able to talk to your new remote nodes?

It seems that the only way to handle this is to make sure you are always at least 1 major version backwards compatible, so you can freely upgrade/roll- back machine that are part of a cluster.

<comment><USER3> Apparently there is also NixOps for network/cluster deployment: [http://hydra.nixos.org/build/5426864/download/1/manual/manua...](http://hydra.nixos.org/build/5426864/download/1/manual/manual.html)

</comment></comment></comment><comment><USER22> I think the point made here is quite interesting: instead of relying on (puppet, chef,...) to do the "deltas", always generating the whole system from scratch. This has a couple of advantages:

* You make sure everything is automated

* You can always trust the resulting system works; if it were to be built from scratch

<comment><USER20> Immutable hardware requires [an analogous] garbage collector.

Most of the next machine would have the same state as the old one:

      ; Machine -> Machine
      ; Makes the next machine
      (define (next-machine m)
        (make-machine
          (machine-name m)
          (machine-cpu m)
          (machine-storage m)
          (update-os CURRENT-OS)
          (machine-applications m)))

</comment></comment><comment><USER23> Throw a little outsourcing and offshoring into the mix, with people on offset disjoint schedules and this confusion gets even deeper.

I love the idea of building servers on the fly from an image under some kind of revision control.

<comment><USER24> Netflix does it right IMO: they have an automated process that builds a complete AMI from source control. [http://www.infoq.com/news/2013/06/netflix](http://www.infoq.com/news/2013/06/netflix)

</comment></comment><comment><USER25> I think I must be missing something obvious here, but how can you do this if you use something with state like a database? How do you create a production system from scratch without losing all the data?

</comment><comment><USER26> So you deploy a new physical server to the rack? Bundle the OS image with the deploy? Ghost it with the OS image before deploying? The article is light on explaining the "how" part.

</comment><comment><USER27> The level of discussion here is about one level separated from buzzword bingo.</comment>