Mechanical Keyboard Guide - <AUTHOR> http://www.overclock.net/keyboards/491752-mechanical-keyboard-guide.html <comment><USER2> If you are new to mechanical keyboards, I recommend a Cherry Brown-based keyboard. They have a great tactile feel that quickly trains you to recognize that a key is typed without having to bottom out.

I prefer the Topre switches, but the tactile bump is very subtle and if you do not consciously make the effort to not bottom out (initially), you will. And then it's just a very very expensive rubber-dome keyboard.

(The reason you use mechanical keyboards is so that you don't have to bottom out -- slam your fingers against an unyielding piece of plastic thousands of times a day. If you don't realize that and treat your mechanical keyboard like a $3 rubber-dome keyboard, then you are not going to get the comfort that they are supposed to provide. Rubber dome keyboards are bad because the keys only register when you bottom out, forcing you to hurt your hands in order to produce any text.)

Also, if you've used a Model M and hated it, it's because it's bad. You have to apply quite a bit of force to the keys (80g, compared to 35g on a Realforce), and that can be painful. Model Ms make a really fucking cool sound and are built like tanks, but they are otherwise not particularly special. I used to use one, but after switching to a HHKB, I could not go back.

Finally, clicky keyboards are really cool, but the Cherry Browns ("tactile") are a lot easier to type on than the Cherry Blues ("clicky"). I am not really sure why, but the Browns feel "sandpapery" (try it and see) when they register, but the Blues just make a loud noise. The rough feeling is much easier to recognize while typing than the sound, IMHO.

If you can, try each type before buying, but if you can't, forget about clicky and go for Brown. If you like the Cherry Brown-based keyboard but want something higher quality and slightly more ergonomic, then make the step up to the Realforce.

<comment><USER3> Where can you buy a Cherry Brown keyboard?

<comment><USER4> From another post in this thread, it seems <http://elitekeyboards.com/> has "FILCO"-brand keyboards available with Cherry Brown key-switches.

</comment></comment></comment><comment><USER5> I'm confused. Why do all of these "elite" keyboards still have oversized dome keys that wiggle around, have a lot of travel, and have big gaps in between them. I'm sorry if this just makes me seem like a mac snob, but how could these compare to a slim, minimal-movement keyboard like this one? <http://www.apple.com/keyboard/> [edit: I am not normally an obnoxious snob about keyboards, but considering the subject at hand is keyboard connoisseurship, I have to admit my strong appreciation for the slim-key style which didn't seem well represented in the discussion. (Not about mac vs. pc - just about the key-style.)] Maybe I'm missing something as I've never even heard the term "mechanical keyboard" before - some of the nuances might be lost on me.. but I know what I like and I'm pretty sure I would never go back to a large dome key keyboard like the ones shown. ...Oh wait, there is one keyboard shown that has minimalist keys, but it's $2,400! This is ridiculous, maybe I should go into the PC keyboard making business.

(Yes, I know that mac keyboards only work on the mac _, but if people care so much about these things, then that's not really an excuse for leaving it out of the discussion. Anyone else feel the same way about the slim-key keyboards being so much better?)_ edit: correction -I guess they do work on PCs <http://discussions.apple.com/thread.jspa?threadID=1095349>

<comment><USER6> Mechanical keyboards may have lots of travel, but you don't have to use it all. While a mechanical keyboard may have 4-6mm of travel and scissor switch keyboards (like Apple's) only have 2mm, on a mechanical keyboard you don't have to bottom out the keys. Topre switches activate around 2mm - the same as your Apple keyboard. The difference being that your fingers aren't slamming into a hard plastic stop after each activation (unless you choose to bottom out your keys). Furthermore, well made domes don't tend to wiggle much more than the keys on an Apple.

I'm not quite sure what you mean by big gaps - Apple's keyboard also has some pretty sizable gaps between keys. Unless you have tiny fingers I think you'd want those gaps.

More information here: [http://geekhack.org/showwiki.php?title=START+HERE+--+The+Gee...](http://geekhack.org/showwiki.php?title=START+HERE+--+The+Geekhack+Mechanical+Keyboard+Guide+-+Includes+Glossary+and+Links)

<comment><USER5> Cool, that's starting to make a little more sense. By gaps I don't just mean the distance between keys, I mean that your fingers actually feel like they get caught in the deep spaces as you slide over them. But maybe that only pertains to the PC keyboards that I have experience with - the ones with with wiggly keys.(Maybe none of them were mechanical keyboards.)

<comment><USER6> Are you talking about sliding up from home row to the keys above (e.g. J to U)? If so I believe I'm lifting my fingers up slightly (maybe 1mm) when moving between keys. I'm not actually sure if that is good or bad for my typing health, but it does keep me from getting caught in the gaps on an angled keyboard.

<comment><USER5> exactly - I think that lifting your fingers is the 'normal' way to type on a traditional keyboard with raised keys. But, I love that when I type on my low- profile keyboard I feel like my fingers are always in contact with the keyboard and just kind of slide over the tops of the keys to hit their target. On the occasion when I have to use a raised key keyboard, I have to re- remember how to lift my fingers to type. It takes me a minute to adjust before my fingers stop getting caught on all the key corners. Then again, it could just be personal style - anyways, while I am a pretty fast typist, I wouldn't say that I have the most pristine home row technique, so take my comments with a grain of salt.

<comment><USER7> I have a macbook, and a PC with a model M keyboard, so I'm familiar with both types and use both regularly. I hadn't noticed before reading this, but I do tend to type similarly to you do on the low-profile macbook keyboard. It's more "sliding" than lifting. I think the low profile necessitates it, because otherwise it's just a lot of wasted movement through thin air and leads to less accuracy.

This may also explain why I was extremely inaccurate when I first started typing on the macbook (until I learned to adjust and type as you do), and why I still find it to be not as comfortable to use as the model M. It is the best laptop keyboard I've ever used, but I don't find that style of typing to be as comfortable or natural.

I guess it's just personal preference, though. I learned on a model M back in high school.

</comment></comment></comment></comment></comment></comment><comment><USER8> Of course, realize that mechanical keyboards being made of higher quality components has nothing to do with them being mechanical, and rather everything to do with being a niche market. You can always expect to find high quality materials in niche markets, because the consumers specifically seek out the product and relatedly are willing to pay a little more.

</comment><comment><USER7> I have an old IBM Model M with the buckling spring switches and it's the greatest thing in the world to type on. It's loud, but it feels so good. My typing accuracy and speed have both improved greatly since I switched to it.

I dug it out of the back of a storage building a couple of summers ago. The sticker on the bottom says it was made in 1986. It works flawlessly, and with the help of an old tooth brush and a Mr. Clean Magic Eraser, it looks as good as the day it was made.

<comment><USER9> Why does typing accuracy improve? Is it because the keys have less wobble? I figured that generic keyboards on the market differ greatly in wobble.

<comment><USER7> Less wobble and it requires more force, so fewer accidental key presses. There's just so much more tactile feedback that it's easier to just "know" where your fingers are at all times.

</comment></comment></comment><comment><USER4> I'd like to have a mechanical-switch keyboard someday; unfortunately most of the ones I've seen (including the ones in this article) tend to be full-size 104-key keyboards, while my tastes tend toward smaller keyboards like the Happy Hacker keyboard (which is excellent but uses rubber-dome switches).

Right at the moment I'm using a Lenovo Thinkpad USB keyboard because it's a smallish keyboard with a built-in trackpoint device (one _less_ reason to ever leave the home row). If it wasn't for the trackpoint, however, I'd be back on the HHKB - I like the layout more and I seem to have less trouble finding the arrow keys by feel.

Since they don't make HHKB keyboards any more, I suspect my next keyboard might very well be an Apple USB mini-keyboard - it's got the layout I like, it's small and light, and I suspect I could get used to the key-switches soon enough...

<comment><USER10> The HHKB is very much still in production (mine just arrived last week), though it can be hard to get one in the US. I ordered mine from <http://elitekeyboards.com>.

My HHKB is replacing a 16 year-old Apple Extended Keyboard. It's definitely not as click-clacky as a buckling spring keyboard, but it's much easier on my wrists (and doesn't wake people up when I'm hacking at night).

<comment><USER4> Hmm... elitekeyboards.com only seems to have the HHKB Professional 2... the one I have is a "HHKB Lite 2", which (in a strange inversion of the usual hierarchy) includes an extra Fn key on the left and an inverted-T arrow-key cluster.

I realise using arrow keys is heresy to a certain subset of the programming community, but I've been using them for decades and it's hard to give them up.

<comment><USER10> The arrow keys are accessible with the function key. It seems awkward at first, but after a day of use it becomes very natural.

If it's what you really want, the HHKB Lite 2 is actually sold in the US and is quite a bit cheaper (though the switches aren't as nice).

<comment><USER11> Can you reprogram where arrow keys are? I have my arrow keys in emacs as Alt and then IJKL (like WASD), so it would be nice if Fn IJKL worked the same in OS.

<comment><USER2> No, you can't reprogram them.

</comment></comment></comment></comment></comment></comment><comment><USER12> I have a somewhat strange requirement which seems to be rather rare in stand- alone keyboard layouts (as opposed to laptops). I like to hit Alt_L and Alt_R (which I remap to Control) with my thumbs because it makes Emacs chording far more comfortable. This is very awkward with a long spacebar. The MS Natural keyboards are good with key placement, in my opinion, but I prefer the lighter activation of a notebook. I definitely like mechanical switches, but don't want to change my chording technique to deal with a long spacebar. Any recommendations?

<comment><USER13> A Japanese keyboard layout (<http://en.wikipedia.org/wiki/Keyboard_layout#Japanese>) has a shorter spacebar and some extra keys instead. You might be able to remap them to extra modifier keys with suitable software.

The Kinesis Advantage (<http://www.kinesis-ergo.com/advantage.htm>) also has a unique layout where you hit modifier buttons with your thumbs, and it uses brown Cherry mechanical switches. It's $300 though.

<comment><USER12> Thanks for the Japanese layout tip. I've always thought the Kinesis looked neat, but not enough to order one without trying it. I also worry about using something that is so different that I forget how to type on a "normal" keyboard, though I don't have much trouble switching between dvorak and qwerty so my concern is likely unfounded.

<comment><USER14> I've been using a Kinesis for ten years, and while it took some time to get comfortable with it, I've never lost my ability to touch type on a regular flat keyboard; probably because I've had laptops around the whole time, and have done plenty of coding on the sofa/train/&c.

</comment></comment></comment></comment><comment><USER15> TVS Electronics India makes a cheap, decent 'Cherry Blue'-based mechanical called the 'TVS Gold' for around $30 (converted from INR).

I have one. I'm thinking of buying one for the day gig as well.

Pics: [http://geekhack.org/showwiki.php?title=Island:7268&do=co...](http://geekhack.org/showwiki.php?title=Island:7268&do=comments)

<comment><USER2> Interesting, as Cherry Blue keyswitches are about $1 each in bulk. If you have 103 keys, that puts a lower limit of $103 on the keyboard.

</comment></comment><comment><USER16> This is a picture of a hall-effect keyboard, made by Sperry-Univac circa 1973. They were very reliable, and the most comfortable keyboard I've ever used (punch cards tho, but wth).

<http://www.flickr.com/photos/kd1s/4448262833/>

<comment><USER2> I think they also still use hall-effect keyboards on airplanes. (Unfortunately, they use an "ABCDE..." layout!)

</comment></comment><comment><USER17> I have a rubber dome switch, which I always considered a step up from the membrame keyboards. I didn't realize it was considered one and the same; my Packard Bell keyboard feels almost as nice as some of the mechanical keyboards I've used.

<comment><USER2> Improper technique can make any mechanical keyboard feel like a rubber-dome keyboard.

</comment></comment><comment><USER18> Cherry Stream. The best $20 keyboard ever, hands down.

[http://www.citx.de/citx/shop/catalog/images/tas0086-cherry-s...](http://www.citx.de/citx/shop/catalog/images/tas0086-cherry- stream-weiss.jpg)

</comment><comment><USER19> If you want to read some thorough reviews, guides and even hear some sounds, you should check out geekhack: <http://geekhack.org/>

</comment><comment><USER20> The problem with a lot of these fancy and expensive keyboards is that they have far too few keys.

For instance, the Realforce 87U ($255) has only 87 keys.

My current $24 keyboard has 136 keys. And I still wish I had more keys! Using a keyboard with a mere 87 keys would be torture, no matter how pleasant the tactile feedback was.

<comment><USER2> Learn to press two keys at once. Now you have 3741 keys.

(And yes, all these expensive keyboards have n-key rollover, meaning that you can press as many keys as you want and they will report exactly what you're pressing. Cheap keyboards have a matrix that results in "phantom" keypresses if you chord anything other than shift or control and a letter.)

</comment></comment><comment><USER21> Anyone know a SF Bay Area store with a good selection of mechanical keyboards?

</comment><comment><USER11> Has anyone tried TypeMatrix 2030?

<comment> loup-vaillant I'm using one right now. It's not "mechanical", it's scissor-switch. It's a bit better than plain rubber dome, but you still have to bottom out.

The layout on the other hand, is really cool. I can now touch type without twisting my fingers in weird ways. It's more comfortable (even more than a Natural keyboard, actually), and a bit faster than ordinary slanted keyboards.

The displacement of some of the keys isn't a big deal. It takes some time to get used to, but makes things a bit better in the long run.

<comment><USER11> I was interested in it's layout. Do you use QWERTY or other layout like Colemak and Dvorak with it?

<comment> loup-vaillant The layout of the keyboard doesn't really matter. The Typematrix can send the regular key-codes like any ordinary ANSI keyboard, or it can mix them up so that it acts as a Dvorak keyboard even if the OS is set up on Qwerty. But really, the layout should be set by the OS, not by the keyboard.

Personally, I use Bépo: <http://bepo.fr> It's a Dvorak-like layout optimized for French. It works well for English, though (far better than Qwerty, anyway). If your native language isn't English and uses Latin letters, you may want to look for a layout optimized for it.

<comment><USER11> Sorry, I mean staggered vs aligned layout - not actual character layout.</comment></comment></comment></comment></comment>


Three things I don't like in the agile community - <AUTHOR> http://www.andybrandt.net/669/three-things-i-dont-like-in-the-agile-community <comment> Vic-nyc I am a developer, and in the past I used to be a proponent of "agility". These days if I am interviewing for a job and I hear that the company is using "Agile practices", I generally try to avoid it like the plague.

I believe there are 3 main factors for software projects to succeed: one is the technology and the skill level of the tech team; the second, very important, are the business requirements (are we building the right thing, and with the right priorities?); the third is the level of communication between team members. Now "Agility" (Scrum/etc) really addresses only the 3rd point.

And herein lies the dogmatism that others have mentioned -- a lot of these companies who do "Agile" usually do so because they have serious problems, and they think "Agile" is a magic bullet that will solve them. This is extremely wrong and dangerous - if your problems are caused by crappy technology or (very often) by the fact that you don't understand what you're trying to build, then throwing scrum meetings at developers will alienate them even further.

What I also see in these companies that are so adamant about Scrum/etc, is management who doesn't understand technology. Therefore they use the "Agile" weapon as one of their only ways to give them a sense that they are in "control" of the situation. They neglect the other parts because they don't understand them.

</comment><comment><USER2> Odd, I haven't met any. I'll repeat that, ANY agile practitioners who suggest that other agile practices are doing it wrong. And unless I misunderstand the original Agile Manifesto, it's all about valuing certain things over other things, not about saying the other things are wrong, and certainly not really about specific practices.

The analogy I would draw is to the relationship between ideals of code beauty and design patterns. Design patterns aren't the goal, they're particular ways of achieving an ideal that people have discovered work well under certain circumstances.

Likewise, the practices aren't the goal, they're implementation details. I can't even understand how to say a practice is wrong, the things I judge are the degree of communication, the amount of discovery, the flexibility to pivot, and so on. Practices are how but not what.

p.s Get off my lawn!

[http://weblog.raganwald.com/2007/10/three-blog-posts-id- love...](http://weblog.raganwald.com/2007/10/three-blog-posts-id-love-to-read- and.html)

<comment><USER3> My town had a lot of early agile projects in the first part of the decade. The consultants only talked about the successes and not the many failures at conferences. Specifically WRT scrum and XP. I can tell you about a scrum failure that was in the 10's of millions of dollars.

I've had many negative experiences with less effective consultants using agile as a way to convince the client that they are all wrong and the only way out is more consulting guidance. In fact, I worked for some time at a consultancy where I am sure this was their business model.

There's more than one path to the finish, and "agile" sold itself out as a vapid marketing term years ago.

<comment><USER4> I'd be interested to hear about (1) that scrum failure in the 10's of millions of dollars, and (2) what you prefer instead of Agile.

(I'm a developer on a scrum team and really think it helps us, but I'm not dogmatic about it or anything... I'd like to hear about the other side. I'm surprised that a huge scrum failure is possible because the customer is generally shown everything at regular small intervals, so it's hard to imagine how a project could get so far off course.)

edit: grammar

<comment><USER2> I don't know about that SCRUM failure, but the original XP project was a well- documented failure:

[https://secure.wikimedia.org/wikipedia/en/wiki/Chrysler_Comp...](https://secure.wikimedia.org/wikipedia/en/wiki/Chrysler_Comprehensive_Compensation_System)

One way to explain things is to say that teams like Agile whether it's effective or not (for some definition of effective). Another way to explain this is to say that Agile can't make you succeed, but it's the fastest and cheapest way to fail.

When _I'm_ selling snake-oil, I prefer the latter explanation.

<comment><USER4> "Another way to explain this is to say that Agile can't make you succeed, but it's the fastest and cheapest way to fail."

Well said... That really cuts through to both the reality of Agile, and the key advantage.

</comment></comment></comment></comment></comment><comment><USER5> I think dogmatism is the worst of the three problems. So many teams seem to be looking for a catch-all solution for running a productive team. What I've found is that each team I work on does much better if we're open to experimenting with different processes in order to find what works best for our team.

The company I'm at now has more than 6 teams, many of which work in different ways.

Some use online scrum boards, some use physical ones. Some track projects only with story points, some use actual hours or days.

The point of agile (at least as I understand it) is to get your team in flow so they can ship value to customers. Being too religious about process seems to be a recipe for frustration.

</comment><comment><USER6> I worked a 2 month contract at a company that employed agile techniques and i found them to be nothing but superfluous minutia. Thats not to say they dont work for the company as a whole, but i was 1 guy working on 1 project by myself.

I was brought in to tackle a specific problem and sort it out, i was just given what i needed and i got on with it, but was forced to partake in the daily stand up meetings and weekly team meetings, which for me specifically were just a waste of time.

The stand ups were at 10am which meant that even though the company had flexible hours (awesome) i had to be in at at least 10am, whereas i'd prefer to walk in around 11am-noon and stay late. Also, my part of the weekly 2 hour team meeting was 5 minutes long and nothing else was relevant.

My point here is that i'd like people not to try to force principals to fit into every situation, cuz they wont, it'll work for some things but not others, just keep that in mind.

PS: Atlassian sounds like an awesome company but JIRA sucks.

<comment><USER7> We just moved to agile at my company, and it was rough at first, but I think things are much smoother now. Our standup meetings are for the teams, not the entire company, so they are short and sweet. Everyone on the team knows what's going on, and that's it.

We also have an assigned standup time, but it's after the latest developer gets there. We have set hours we have to be there, but we got to pick those hours individually. We just have to stick to them. That's good for both management and your team members.

It sounds to me that the problem isn't agile, but how the company is applying it. If you use a hammer like a screwdriver, you're going to be disappointed.

</comment></comment><comment><USER8> I think I can explain some of the dogmatism seen with XP practitioners. XP is a set of practices for customers, developers, and communication. XP consultants think that teams should try all the practices. Most XP people don't oppose removing or modifying a practice, but they don't see why you should remove it before you've tried it, especially when the reason is something like, "Pair programming will never work here." Try it for real, then make it your own.

In discussions between agile groups, XP people are often confused by, say, Scrum, because the Scrum consultants teach fewer practices and use funny vocabulary. But I'd say that most XP people would prefer to work in a Scrum environment than in many more traditional environments, and they would say so if you asked them.

<comment><USER9> Another aspect of XP is that pair programming is a replacement for code review. If you drop pair programming, you should consider a compensating practice.

</comment></comment><comment><USER10> If I'm reading him right, he doesn't like that Agile is dominated by consultants, meaning people who teach other people how to be agile.

I agree with that, but I think there's a further problem: a lot of the people practicing agile are consultant developers. They take on a project, apply their "agile methodology", and build some software. As the project goes on and begins losing its luster, the contract ends, and the consultants are on to the next Shiny Thing.

With this kind of environment, people don't have to face the long term consequences of their technical decisions.

(I think this is also why there is so much "what's cool this week" churn in the Rails world.)

I would like to see an agile methodology come out of a successful product team, that applies it for years.

</comment><comment><USER11> One thing I would add to the list is: _relative_ lack of evidence. Now don't get me wrong, unit testing, continuous refactoring and pair programming are very helpful when applied in the right context. But there is a lot of code out there that was written with no overt agile enthusiasm, and this code is working just fine. I always roll my eyes when I hear or read things like: "if you don't write your tests first you're doing it wrong". I'm very happy that TDD and daily scrums work for you, but I won't convert to your religion unless you show me a search engine or a web browser written with agile consultants on site.

</comment><comment><AUTHOR> Ward Cunningham: 'The word "Agile" has worked hard for ten years. I forgive it for being tired.'

<http://twitter.com/#!/WardCunningham/status/27668990943>

</comment><comment><USER12> I'd like to add something to your list: Adding an entirely new vocabulary to learn. Velocity, story points, etc. I don't mind learning new things but most of these terms are just the repackaging of existing ideas.</comment>


Oracle ponders massive acquisition of Accenture - <AUTHOR> http://siliconangle.com/blog/2017/03/29/report-oracle-ponders-massive-77-5bn-acquisition-accenture-plc/ <comment><USER2> I know that business people are all about "one neck to choke" when it comes to software (Hello, Microsoft!) and we could debate merits and demerits, and motivations (laziness) of One Neck to Choke all day.

But an Oracle/Accenture combined golem would just give you One Neck To Avoid At All Costs, no?</comment>


How much money do bloggers make? - <AUTHOR> http://datagenetics.com/blog/april42015/index.html

<comment><USER2> The white font on brown background is killing my eyes...</comment>


eBay's Chaos Theory - <AUTHOR> http://www.fastcompany.com/magazine/120/ebays-chaos-theory.html

<comment><USER2> I think Ebay should stop trying to be 'cute' and just get on with making buying and selling easier and more powerful.

For instance, they keep reducing the number of weeks Finished auctions are shown, and you have to login, then auctions expire even though hosting them is cheap, blah blah.

Then half the stuff is junk.

The only chaos theory I see is the non-fancy kind. It's just chaotic.</comment>


Police sound all-clear after Facebook evacuation Tuesday night - <AUTHOR> http://www.mercurynews.com/breaking-news/ci_25324527/facebook-headquarters-menlo-park-evacuated-tuesday-evening <comment><USER2> Some employee must have phoned in a bomb threat after becoming sick of the peer pressure to have the "awesome Chef-prepared dinner" on campus, which is just a ruse to extract up to 2 hours of extra work per day.

Or maybe to put off one more mind-numbing, health-destroying caffeine-and- pizza-and-beer-overdose "hackathon". In PHP. Actually, it's probably just the PHP.

[http://chinpen.net/blog/2013/02/hackathons-are-bad-for- you/](http://chinpen.net/blog/2013/02/hackathons-are-bad-for-you/)

<comment><USER3> Wow. That was harsh.

<comment><USER4> Not harsh, bitter.

<comment><USER2> Nope, I dislike the culture, that's all.

This guy on reddit explained it much better than I can ever hope to:

[http://www.reddit.com/r/TrueReddit/comments/2026bq/reduce_th...](http://www.reddit.com/r/TrueReddit/comments/2026bq/reduce_the_workweek_to_30_hours_nyt/cfzlgiw)

Excerpted here so that you don't have to jump a link, no rights claimed:

"I work as a programmer and in my jurisdiction people in the IT industry are exempt from overtime laws. Even if there are no pressing deadlines (and there usually are since unrealistic time frames are seen as a motivator) working a standard 40 hour week is like wearing the minimum amount of flair at Chotski's. If you don't stay a little later or work the occasional evening or weekend from home then you must not be a Real Programmer.

What is a Real Programmer, you might ask? A Real Programmer is someone who loves programming! They love it so much that it's what they spend all their time doing. In fact, a Real Programmer loves programming so much that they're happy just to have the chance to do it. Paying them is just a formality because the Real Programmer doesn't really consider it "work". You know a programmer isn't a Real Programmer when they don't volunteer to work 60 to 80 hour weeks (for no extra monetary compensation, remember) because it's "fun". All they really need in thanks is a company t-shirt and the occasional slice of pizza on those late nights.

And you know what? Those Real Programmers exist. They work ridiculous hours, don't expect to get paid for doing the work of two or three people, and they absolutely love it. They'll have conversations with managers about how lazy people who leave the office at 5pm are and how they just can't understand that mindset.

Then there are the people who try to be Real Programmers because that's what's expected. It permeates the industry's culture. You hear it from fellow programmers, managers, and investors. If you want to succeed as a programmer you have to at least look like a Real Programmer even if you're not one at heart. So you get people working evenings and weekends just for appearances and they start to burnout. Their code quality suffers and the code base becomes buggy and difficult to maintain. Longer hours are needed just to get the same amount of work done and it becomes a feedback loop of bad code, longer hours to fix the bad code, and burnout which makes things even worse.

Personally I'd love to work a 40 hour week without it hurting my career and professional reputation. Programming is fun, sure, but I want to have a life outside of it. I want to get out of the office at a reasonable hour and stop thinking about work until the next day. I want some time to cook healthy meals, exercise, see my friends, go on dates, write a book, learn a new (human) language, etc. In short, I want the freedom to live my life. I don't want to work merely for the chance to survive to keep working until 40 years from now when I can maybe stop and think about doing something I really love in the few years I have left.

On the one hand I must sound pretty lazy. There are people happy to work 80 hour weeks for 40 hours of pay. Why should they not be allowed to do that just because that's not what I want to do? What about freedom of choice? On the other hand, why should there be a culture of exploitation in this industry just because of the few individuals who, frankly, don't seem to realize or care that they're dedicating their lives to making someone else rich while seeing relatively little of that money themselves?

I know I'm not the only one who feels this way. And this kind of thing has caused problems before. I just really wish we lived in a society where we didn't define ourselves so strongly by our day jobs and where working ourselves to death wasn't seen as a virtue."

<comment><USER5> I guess the market isn't the best judge of what is good? We still have a few places left here in Sweden and we do understand english pretty well. Welcome to a more healthy work environment. Btw, I still have about 200 days of daddy- leave left with 80% payment and work expects me to use it all or I'm not a good parent. :-)

</comment></comment></comment></comment></comment><comment><USER6> There are very harsh laws against anonymously calling police for bomb threats. I remember a case of a very smart business man who was getting late to airport and called the airline saying that the flight he was supposed to be boarding on has a bomb. Eventually call got traced to him and if I remember correctly he was sentenced to jail for 14 years.

</comment><comment><USER7> > Facebook evacuation

At first glance, this conjured up mental images of users worldwide being told to log out of their accounts and not use the site until further notice.

<comment><USER8> Think of the amount of people that would return to their lives and do something productive!

(I say this whilst typing a comment on HN; the irony is not lost on me)

</comment></comment><comment><USER9> Is it bad that I was kinda hoping that Zuck finally had his Scorpio moment?

<comment><USER10> What does that mean?

<comment><USER11> It's a reference to Hank Scorpio from The Simpsons, a character who was simultaneously the perfect boss and an evil genius.

[http://simpsons.wikia.com/wiki/Hank_Scorpio](http://simpsons.wikia.com/wiki/Hank_Scorpio)

</comment></comment></comment><comment><USER12> " __ _Last week, Menlo Park 's city council voted last week to allow the company to pay about $200,000 a year to the city to fund a full-time police officer who would be stationed near the new campus._ __"

They have tons of ex SS/Mil working there...

Plus Menlo Park is mandating plenty of cameras to monitor every single license plate passing its new building...

FB has plenty of security.

<comment><USER13> when I went for an OSS sprint it was completely locked down. the security was very disruptive -- we really weren't allowed to leave one floor of one building, so it was pretty difficult to get any kind of focus room even for half an hour. I was working on a facebook project (one that saves them tons of $$$ at that) and we couldn't leave the building to go to a conference room even when escorted by two engineers.

</comment></comment><comment><USER14> I think someone who read about FB "donating" money for extra police officers decided to "prank" FB and the county police department. The timing is just too precise. One has to question whether FB is really under any threat and whether internal security is enough or not. i spoke before that if FB couldn't keep strangers entering the building or walking pass the campus, that's the fault of the security contractor.

I think there are only two real threats: data thief and employees' mental health under pressure.

<comment><USER15> and counter offers!

</comment></comment><comment><USER16> _Dons tinfoil hat_ Obviously a distraction created so that the NSA could thoroughly bug the place.

</comment><comment><USER17> Sort of...a little bit...

</comment><comment><USER18> Major "national security asset." <cough, cough, puke>

<comment><USER19> Did I miss that phrase in the article or was there edits?

<comment><USER18> No, I would have cited it. Rhetoric. I'm starting to realize that my zeitgeist has diverged from the zeitgeist of hacker news such that my comments are not understood by the majority of the readers here. C'est la vie. In-person interaction is best.

<comment><USER20> >I'm starting to realize that my zeitgeist has diverged

How so? You made something up and then was subsequently disgusted with it. How is anyone supposed to follow that?

</comment></comment></comment></comment><comment><USER21> I guess someone phoned in a Facebomb _removes sunglasses_</comment>


If, Why, and How Founders Should Hire a "Professional" CEO - <AUTHOR> http://reidhoffman.org/if-why-and-how-founders-should-hire-a-professional-ceo/

<comment><USER2> "His statistical analysis showed that, paradoxically, founders maximized the value of their equity stakes by giving up the CEO position and board control"

I don't see the paradox of an actual academic study, with statistics and some attempt at a methodology, producing the opposite results of a small amount of cherry-picked anecdotal evidence.

</comment><comment><USER3> Question to anyone from LinkedIn:

Why is it that when I view a profile that I'm not connected with, I can gleam more information when not logged in vs logged in?

When I'm logged in, I can see 1 info box. When not logged in, I can view their entire profile (if they have hidden option off) I basically used LinkedIn in Incognito mode now when gleaming new profiles.

What's up with that?

<comment><USER4> To get you to upgrade to a paid LinkedIn subscription?

<comment><USER3> By shutting out existing members and giving non members more features?

<comment><USER5> An SEO play? They open their database to non-logged in users so Google will index more content.

</comment></comment></comment></comment><comment><USER6> I wondered for ages whether Reid would do any public writing.

From his about page _"On this site, I will be posting longer essays on entrepreneurship, Silicon Valley, civics, politics, and perhaps some philosophical topics, too"_

</comment><comment><USER7> How do you become a "Professional" CEO?

<comment><USER8> I'm curious to hear someone's response to this as well. To me, it seems like a lucky break following by a whole lot of networking.

</comment></comment><comment><USER9> Great article and perspective. The lack of comments makes me wonder if he needs more link bait.

</comment><comment><USER10> If, by CEO...</comment>


How Zapier Went from Zero to 600k Users - <AUTHOR> https://www.groovehq.com/blog/zapier-interview-with-wade-foster <comment><USER2> Zapier really does have great support.

When you use them for something, and then a direct integration becomes available you actually feel bad about stopping using Zapier. I think this is largely because of the quality of their support.

If you are a startup and you don't have your founders and engineers doing support, I guarantee you - you are pissing off your customers. And are missing an opportunity to understand what these customers actually want.

I am looking at you FullContact, my current favorite offender here.

<comment><USER3> Hey, gleb - Kipp from FullContact here. Sorry if our support team wasn't able to address your needs - that's something we never want to hear. Mind dropping me a line at email@example.com and letting me know what the issue is? I'd like to look into it and see what we can do to make things right.

(And agreed, Zapier support is awesome. Wade and the rest of the team do great work.)

<comment><USER4> Echoing this, early engineer at FullContact here -- I'd love to know what kinds of problems you ran into with our support team. More often than not, if the issue isn't trivially answerable the support team asks us directly.

We'd both be happy to address your concerns.

<comment><USER2> Thanks for reaching out to both of you guys. I emailed Kipp. I'll forward the email to you.

The issue is not with your support folks. They are responsive. But much like me they can't figure out your product ;-)

To bring it back to the article - the main benefit of engineers doing support is not better support. That is just a welcome side effect. The main benefit is a better product that does not require much support.

Unlike dedicated support folk engineers do not enjoy doing support and have the ability to change the product to reduce the need for it. It's a magical combination.

</comment></comment></comment></comment><comment><USER5> This is the number one best startup story I've ever heard. The keys I got out of it: (1) focus on the customer and the product not the culture itself, (2) charge and make money even if it takes bucking the norm, (3) have work-life balance as part of culture, (4) it's a blessing not to get funded too early, (5) remote workers are acceptable, (6) team building via getting together is very important, (7) use SEO and partner co-marketing.

If I could find anything wrong with this post, it would be that generating content is not always a good idea unless you know what you are doing. Many people can't do it well. It's like telling random people: "Go play some songs for us and then people will listen to your mp3s and you'll get more business." Well... yeah... if you are entertaining enough. Otherwise, it's just going to make you look bad.

</comment><comment><USER6> I used Zapier to set up an automatic reminder on Hipchat for developers to shut down unused AWS machines. It was dead simple, took about 5 minutes, and has worked flawlessly ever since.

</comment><comment><USER7> It should be noted that Zapier is (YC S12).

</comment><comment><USER8> I have used and recommended zapier a number of time and actually wrote some custom code to integrate with another startup (Lob): [http://www.mooreds.com/wordpress/archives/1468](http://www.mooreds.com/wordpress/archives/1468)

My favorite Zapier story, though, reflects how accessible they are. My company has a FAC, and we had just started using Zapier (this was probably 2 years ago). No one knew how to pronounce Zapier, so tweeted Wade and before the FAC was over, had an answer. Obviously a trivial question, but indicative of how they treat customers.

The article has some good actionable advice too.

<comment><USER9> FAC?

<comment><USER10> [http://www.acronymfinder.com/FAC.html](http://www.acronymfinder.com/FAC.html)

i can't guess from that. friday afternoon club? if i was pushed to guess from the context. i'm bemused how anyone can use an acronym like that twice and expect everyone to know what it means. or maybe it's just me and you!

<comment><USER11> Friday Afternoon Catch-up is my guess

</comment></comment></comment></comment><comment><USER12> I remember a client at a previous job claiming an app we were developing for them was definitely going to get "millions of users" in only three weeks after release, even with a small marketing budget. I laughed at how crazy unrealistic that was.

I bet they would look at these numbers and scoff, even though it's still an excellent number and I know they didn't even breach 50k users several months after release (I was no longer on the project after that point).

<comment><USER13> The success metrics are quite different for consumer vs business software even though Zapier does ride that line a bit.

Consumer apps tend to care about raw user counts (as a sign of engagement) and B2B software companies focus on paying users.

</comment></comment><comment><USER14> Zapier started at my hometown Startup Weekend! Stoked these dudes are getting the attention they deserve. They're great guys.

<comment><USER15> Columbia's Startup Weekend is gaining much attention lately from out-of- towners. I was surprised to see my friends in other states RSVPing to attend, recently.

Cool to see CoMo get attention!

(Also.. hey Bobby! Hope you're doing well in the big city!)

</comment></comment><comment><USER16> +1 on Zapier! I'm a big fan of the service and platform. With YC news a more tech-focused crowd their web interface for building integrations is really effective. Point-n-click for most stuff, and you can fallback to JS should you need to get more creative.

</comment><comment><USER17> > So we come to our partners and we can now say "alright, here are the things > that if we both do them, this is going to be successful." 99% of the time, > people are like "thank goodness, let's do this."

Would be great to see some examples of these successful marketing campaigns.

<comment><USER18> they have a pretty detailed guide here with some partner examples [https://zapier.com/help/partner-co-marketing- guide/](https://zapier.com/help/partner-co-marketing-guide/)

</comment></comment><comment><USER19> I found Zapier by searching for integrations available to the enterprise email marketing platform we use. Unfortunately, they don't support it and I never got to use them in production, but from just toying around with it, it looks extremely useful.

<comment><USER20> Out of curiosity, which platform is that? If they have a standard REST API, hooking it up to Zapier is pretty simple.

</comment></comment><comment><USER21> What's the difference between Zapier and IFTTT? They seem pretty similar.

<comment><USER22> More enterprise focused. They have better support (because you pay them) and more integrations. You also get more control over your integrations as well.

</comment></comment><comment><USER23> It would be great to get a big list of growth stories, each in 255 characters or less. e.g. Went viral with free web widget, made zero money, realized growth without revenue sucks, pivoted.

<comment><USER24> ...why? At least a paragraph would be needed to have some substance and accuracy.

<comment><USER23> Nah. The essence of most growth stories can be described in less than 255 chars. I just described one of mine above.

<comment><USER25> Maybe 255 characters is too long also. Let's just have a 10 character max:

"Got big" or "Succeeded"

In fact, we could represent it as a bit-field, and then get the story in one byte:

0x01: Made a key product/market connection

0x02: spent on advertising/marketing

0x04: connected to customers by investors

0x08: Fortuitous current event or market shift drove traffic

0x10: big media mention (TV, celebrity endorsement, ...)

0x20: focus on customer support

0x40: Long grind before today's success

0x80: Pivoted one or more times

Then... the story of Zapier: 0x62 :-)

<comment><USER26> I propose you write up an RFC for the protocol.

</comment></comment></comment></comment></comment><comment><USER27> I've used zapier recently and I've found it pretty convenient. My only complain is that their RSS integration lacks the concept of rate limiting. In my case I was using it to process user-events, so I needed a way to introduce some delay between an event an another, but I couldn't find a way of doing it using zapier.

</comment><comment><USER28> Zapier is really a great product with a cool bunch of smart people behind it. I freelanced consulting for Zapier customers for a while and can tell you there's some companies solving real business problems elegantly besides notifications, like Salesforce to Salesforce and 3rd party APIs

</comment><comment><USER29> This article was a great read, full of little nuggets. I highly recommend reading it.

It was also interesting seeing that he really applied Kevin's advice and philosophy (check Kevin's talk for the YC Start a Startup).</comment>


Vadio, a site to share in real time what you are watching in youtube - <AUTHOR> http://vadio.herokuapp.com <comment><AUTHOR> Hi guys, I'm a web develeper and I recently developed a site that allows to you to share what you are watching in youtube in real time with friends, so every user in the same room can see exactly the same video in the same time. I would like that you make a feedback about it.

Thanks</comment>


Twitter acquires Crashlytics - <AUTHOR> http://www.crashlytics.com/blog/crashlytics-is-joining-forces-with-twitter/

<comment><USER2> IMO, this acquisition could have been motivated by 1 or more of the following:

(1) Need them in house. Many larger companies have been contracting their app development to ISVs. Some ISVs have been quietly purchased by their largest customers, as mobile has become more "core". Crashlytics was a toolmaker that Twitter and some others used. Perhaps, Twitter thought these tools were "core", or too important to not have as part of their org.

 __ __I'd argue this isn't the primary motivator. Twitter could have benefited, and would arguably benefit more, if Crashlytics continued their mission external to Twitter as a straight crash diagnostic solution. If Twitter asked for something cool, Crashlytic would generally jump at the chance to deliver the functionality [w/ no acquistion]. From Crashlytic's perspective, assuming they ran a tight/"well attended" acquisition process, I would hypothesize a higher value from some one like Google (for dev tool for all their publishers + #3 upside + compliment to GA), and/or someone like NetDynamics/NewRelic/EMC. The APM people will eventually see the light, realizing they, too, can't afford NOT to have a mobile offering to their product offering (Facebook is to Instagram as …) __ __

(2) Talent. Crashlytics has always had a competency in UI/UX + hardcore mobile engineering. Remember, they are toolmakers, the hard core of the hard core. These skills would be valuable to any company with a significant mobile presence. The UI/UX talent would benefit anyone.

 __ __Given the probable purchase price, anchored by their last round of funding (~$5-6M), pure talent motivations are unlikely due to investor return expectations driving high PP. If competitors had so drastically reduced Crashlytics ability to grow into a standalone business, then this might be a possibility. Even then, there are organizations who they could find to more highly value their particular skillets / current product __ __*

(3) Re-purpose / Trojan horse. Since Crashlytics solution installs an agent inside someone's else app, you can begin delivering all types of services + collect all kinds of interesting info as part of a bundled offering: \- (3A) Event logging. Call this the Flurry/GoogleAnalytics play. Every time an instrumented app does something, speaks to the outside world, or most likely, a user takes a certain set of actions, the SDK can report to the mothership. This is particularly useful if you're looking to add tracking across Twitter properties (app, web, etc) and other apps. \- (3B) Social plumbing. Twitter might lost-lead this (give it a way for free) to make adding twitter functionality into any app very easy. \- (3C) Mobile infrastructure wedge. Secure a relationship with app developers, and do something more beneficial with those relationships than just selling them tooling. Burstly/Testflight is a good example, so is Flurry with advertising. \- (3D) Other. God only knows.

 __ __3A/3B/3C are a very likely. The "universal cookie" is the holly grail for advertising platforms, and no one has figured it out yet. I would argue Google is better situated to take this role (given control over ad network +leading mobile OS), but can't fault Twitter for trying. You could argue they are making the advertising platform move. If this is the move, they run the risk of alienating their relationships / running a cat/mouse game with the mobile OS platform owners __ __

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment> So in summary, I'm going with mostly #3, with 1 & 2 as a secondary motivator. Whichever is the case, I'd keep a close eye on their ToS (the hips don't lie). #3 is scary every which way, for both consumers and app dev's. #3 is aggressive, and loaded with cat/mouse games from existing platforms. #3 is thinking big.

How does this play for the remaining players in the space? Either very good or very bad for Crittercism, uTest's Apphance, and Bugsense.

\- Bad. There was always a high probability of mobile crash reporting becoming commoditized, and/or becoming a lost-leader for something else. I highly doubt Crashlyitcs is going to remain Twitter's gift to the mobile engineering organizations of the world (a 2nd Bootstrap of sorts)?

\- Good. Competitors lost a very credible competitor today. The information and access Twitter would gain via an embedded monitoring agent inside lots of popular apps is very interesting. For example, Twitter would know coveted metrics like real-time MAU #'s for any app using Crashlytics SDK. There's a hypothesis that companies will pay for tooling, especially if they know and can control how the data will be used. This is only magnified, if the new owner has large incentives to misuse that information. \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

[I was an early employee at a competitor. I left to join a new startup ~5 months ago]

<comment><USER3> I don't see how it works as a Trojan horse. I don't think it plays - all the apps using Crashlytics will switch to a different service rather than have their data flow to Twitter. No way Expedia wants their data flowing to Twitter (or anyone else).

Looks to me like a talent acquisition. While Crashlytics was likely popular, I think they likely had limited revenue opportunities given Hockey App and Crittercism.

Really - it's a race to the bottom on these crash services. Switching costs would seem to be pretty low - so my guess is that the VCs saw a quick out.

Congrats to the team for the acquisition.

<comment><USER4> I agree. We were an early Crashlytics adopter that also used TestFlight for Ad Hoc testing. When TestFlight launched TestFlight Live and introduced its own crash logging service, we saw no need to keep both in the app and shut off Crashlytics. Anecdotal of course, but I think the theory here has merit: crash logging is a feature, not a business model, and the Crashlytics team made a good move here.

</comment></comment></comment><comment><USER5> This is likely about Twitter getting creepy. Every online advertising company is worried about the growth of the mobile environment, because it's harder to do all of the tracking that they're used to on those platforms. There are no cookies that follow you across apps.

The cookie equivalent in the mobile world is the SDK. Rather than scattering your "like"/"tweet"/"follow" buttons all over the web to track users' movements, you embed your SDK into everyone's apps to do the same thing.

If you are currently a Crashlytics customer, think about how much information is being transmitted to Crashlytics from your app, and what Twitter is going to be able to do with that now.

<comment><USER6> Interesting thought. Any idea how many apps use Crashlytics? There's lots of value in knowing what potential competitor numbers are or even for other strategic reasons.

<comment><USER7> We use crashlytics for all our apps at App Camelot <http://appcamelot.com>

</comment></comment></comment><comment><USER8> Pure speculation: This fits in well with other sdk platforms that complete the loop for advertising companies focused on mobile. Burstly (mobile ads) bought TestFlight (beta app distribution sdk). Flurry (mobile ads) gives away a free analytics sdk (Flurry Analytics). Now Twitter (ad company) has Crashlytics (crash reporting sdk). In each case, the free offering is a trojan horse to get insight into tons of aggregate data in order to power the advertising/recommendation engines of the parent company.

The only way I can see that this makes sense is if Twitter is going to become a web/mobile-wide ad company and start offering ad units across the web and/or other apps (like AdSense but with tweets as the ad unit).

There could be dozens of different/better reasons that this makes sense, but I can't see them at the moment.

<comment><USER3> Or it could just be a talent acquisition. :)

Per my post above, I don't see how any company using Crashlytics continues to use them going forward. If you are a publisher, the last thing you'd want is Twitter having your data.

</comment></comment><comment><USER9> This looks like the Google Urchin deal (2005) which became Google Analytics. Google got its hooks into every web page/site with the Urchin deal. I guess Twitter is looking to do the same on mobile via Crashlytics. Good move.

</comment><comment><USER10> Crashlytics was never really on my radar until today, but I'm really impressed by their design work. Really great stuff.

<comment><USER11> Crashlytics has literally changed the game with regards to crash reporting. Their UI and customer service has been wonderful (unlike most other mobile service providers...) and I really hope they continue to offer their services to devs.

<comment><USER12> They're very big on polish and claiming to be awesome, but it's all smoke and mirrors and gamesmanship.

Drill down on a crash for example: [https://d1f4seebrc9wq7.cloudfront.net/blog/wp- content/upload...](https://d1f4seebrc9wq7.cloudfront.net/blog/wp- content/uploads/2013/01/02.41.png)

All the information provided at the top is done with great attention to beautifully rendered icons, and it's all totally useless for diagnosing a crash report.

This is supposed to be a development tool, not an advertisement.

<comment><USER11> Have you used crashlytics before?

I use it in production with an app that has >50K users. It shows you the exact lines, and break down where it happens. What you showed isn't even important.

<comment><USER12> > _It shows you the exact lines, and break down where it happens._

So they support DWARF and backtraces. Just like everyone else.

> _What you showed isn't even important._

Yes, exactly.

</comment></comment></comment></comment></comment><comment><USER13> I didn't see the part about twitter turning into a multiple-product company. They've kept Posterous alive but besides that, just about anything they've acquired has been rolled into their core product or dismantled. I'd welcome the change, but I really don't know whether to believe the part about Crashlytics continuing unabated.

<comment><USER14> It is an interesting acquisition - clearly, Twitter has a lot of use for the product internally, and they were probably one of, if not _the_ biggest, client (in terms of raw data collected). There is something to be said for mitigating the risk that your third party suppliers disappear from under your feet.

I don't know what Crashlytics enterprise pricing structure is like, but if it's anything like other similar services they'll probably be on twelve month agreements with their clients, which would be complex to untie. I doubt the service will go anywhere for _paying clients_ for a little while. If you're relying on a free third-party service in your apps you always have a recovery plan should something get bought, retired, or just plain go wrong.

</comment></comment><comment><USER15> Is there a list of other Twitter acquisitions, and how they've turned out (i.e. product vs. talent, and whether products were kept independent vs. rolled into Twitter)? I haven't really seen much about them as an acquirer vs. Facebook or Google, but that might just be my focus.

</comment><comment><USER16> Not a bad thing if this is going to reduce the number of time Twitter crashes :-).

Not so good for the current clients of Crashytics though. Are the other tools/services that provide good crash analytics?

<comment><USER17> Have you checked out Crittercism? <http://www.crittercism.com> :)

<comment><USER18> crittercism has prevented us from losing about $150K worth of users.

</comment></comment></comment><comment><USER19> Will Crashlytics continue to sponsor NSMeetup?

</comment><comment><USER20> I think they will connect web+mobile+TV analytics for advertisers and this will be huge if they will succede.

</comment><comment><USER21> Congrats to Jeff and the team!

</comment><comment><USER22> TestFlight should be on Twitter's short list, too.

<comment><USER8> Burstly acquired TestFlight in Q4 2011.

<comment><USER22> To be honest I did not know that. However, I do wish (quite often) that Apple would acquire TestFlight and make the service more stable. Can't live without it. But I suppose now Burstly must be on Twitter's radar, too.

<comment><USER23> I would love apple to acquire test flight. I think it sucks and not user friendly at all. However, I cant live without it

</comment></comment></comment></comment><comment><USER24> Anyone know why?</comment>


My Bootcamp Blog - <AUTHOR> http://jonsiker.blog.com/

<comment><USER2> Best of luck to you. Bootcamp grad here. Ended up working in something only tech-related (instead of developing full-time), but loved the experience.

Interesting to see a Python camp amid all the Ruby/JS buzz.</comment>


$250K a Year Is Not Middle Class - <AUTHOR> https://www.nytimes.com/2015/12/28/opinion/campaign-stops/250000-a-year-is-not-middle-class.html <comment><USER2> Middle class is not principally about income, its about the method by which you participate in the economy. If your primary means of support is applying _your_ labor to _your_ capital, you are middle class (yeoman farmers, independent small business owners, professionals that own or are full partners in their practices, etc.)

If you primarily live by renting your labor to be applied to someone else's capital, you are working class.

If you primarily live off your own capital, with most of the labor applied to it being labor you rent from others, you are in the capitalist class.

Income _correlates_ with economic class, but neither strictly determines the other. $250K a year is not middle class in the same way that, say, wearing a bowtie is not middle class.

Its possible to be in _any_ (of the three mentioned) economic class and have $250K/year income.

<comment><USER3> This definition is probably more useful than the popular one, but I don't think it is what most people understand middle class to mean.

</comment></comment><comment><USER4> As a family just inside that 5% mark, my first reaction is to object to the idea that I'm somehow part of a wealthy elite. However, my second reaction is shock that the median household income is $53,000. If you've got a couple kids in Portland, Oregon and you're making $53,000, you're going to have a bad day. I guess I'm left with a feeling of doom that I'm going to be asked to support so many people when I feel like I have so little margin. We're investing in our retirement, investing in our kids' 529, and paying down debts. With a home loan and student debt, we're worth considerably less than zero. I've never been overseas, and I mostly vacation in state. If I'm the mule that's supposed to carry this load, I fear we're all going to have a bad day.

<comment><USER5> The author is being disingenuous with numbers. He's talking about 'household income' \- when a large percent of households comprising of one person.

[http://blogs.wsj.com/numbers/one-in-four-american- households...](http://blogs.wsj.com/numbers/one-in-four-american-households- is-one-person-living-alone-1696/)

"The proportion of one-person households increased by 10 percentage points between 1970 and 2012, from 17 percent to 27 percent."

</comment></comment><comment><USER6> I wouldn't expect it from politicians, but am surprised how even experienced writers on this topic can't seem to understand the real factors at work here and contribute to an objective conversation about income, wealth, and class in America circa 2015...

If my wife and I work 80 hours/week for an energy company that is highly cyclical, we are very different than two physicians who work 80 hours a week but have lots of job security, who are in turn very different from a retired police captain who collects $250k from two spiked Government pensions, who himself is very different from a retiree who lives on $250k in dividend income from a $10 million dollar portfolio of index funds. Not to mention who owns their own home (inherited perhaps), and who doesn't. It's almost like ''income is the worst way we have to measure relative prosperity, except for all the others''.

<comment><USER7> Not to mention the difference in cost of living in various places.

<comment><USER8> Tell me about it. $250k in Manhattan doesn't stretch very far.

<comment><USER9> At some point you need to realize that the middle class is also geographically gated. There's a reason why the classical middle class picture is a nuclear family in the burbs and not on 5th avenue. The American middle class was never "rich" it was very financially prudent. If you still willing to live in the burbs 250K in NYC will get you a very nice house, a car and even college tuition for your kids. Even in the golden age of the American middle class there were plenty of areas that were out of their reach, thats why the middle class expanded into new sub-urban developments. The cities were mostly polarized as they housed both the very rich and the very poor.

<comment><USER8> I agree with you but the NYC tri-state area is a strange place and not a great example for the stratification effect. You're worse off in the NYC burbs in in many cases, one would think it would be the opposite but it's not. The amount of money it takes to break out of the middle class quality of life is more around 400k per year for the NYC tri-state area. In the burbs the houses are not nice or good for the price, they're overpriced and property taxes are outrageous- property taxes can actually be worse in the suburbs than they are for a Manhattan condo or coop. The commute is also a killer, while Metro North is somewhat reliable and on-time relative to other rail systems, the length of the commute is just brutal. At least while you're paying more per square foot in NYC you do get some convenience out of it, although this gets more complicated if you have kids. If you've got to worry about education for children, you MUST buy a coop/condo in a NYC district with good zoned schools, this isn't common and those district command the highest prices per square foot. If you can't afford those districts your looking at private school for the kids, and that runs 30-40k, somewhat less if you choose a Catholic school but still a huge chunk of your budget. Trust me, there are places you don't want your kids going to public school- and I'm not talking safety, this is in regards to the piss-poor quality of the education. You'd be better off home schooling in some places. The burbs do have better schools overall, but you're still stuck living a middle class lifestyle with a soul-sucking commute in the NYC burbs on 250k.

</comment></comment></comment></comment></comment><comment><USER10> "Middle class" doesn't have to be precise or correct, because it's not a mathematical term. When a politician uses that term, they're doing it because they know that the guy making $20K (who doesn't want to identify with poverty), and the guy making $300K (who still feels a sting when he needs to buy a roof for his McMansion), and everyone in between considers themselves middle class. Hillary Clinton is just saying "I won't raise taxes for you, Friend."

</comment><comment><USER11> $250k is not the same in, for example, California and Iowa. If your family income is $250k in cities like San Francisco or New York, that definitely doesn't put you in 95-percentile.

<comment><USER12> True in San Francisco, but even in NYC $250k is 95th percentile: [http://www.businessinsider.com/san-franciscos-top-5-of- earne...](http://www.businessinsider.com/san-franciscos-top-5-of-earners-are- insanely-rich-2015-3).

<comment><USER13> San Francisco incomes statistics are undoubtedly skewed by stock option cash- outs that are one time (or at least relatively rare) events. So if you have a 250k/yr salary you might not be in the top 5% for any given year, but I bet you're in the top 5% for, say, any given 5 year period.

<comment><USER14> Not to mention that the top 5% by salary have other forms of compensation not included in the analysis, like stock options.

</comment></comment></comment></comment><comment><USER15> I make 370k per year and live in a 500 sqft studio in with my gf (who makes 120 of that). We have student loans, a little credit card debt and so on. We likely can never buy a house in Berkely and really are thinking hard if we can afford one kid.

We rent our time just like anyone else and eventually our time will be worth less. But right now we are taxed heavily to be middle class.

No, it's that 53k a year is near poverty but no one wants to tell America that the majority of its citizens are so badly compensated for their time.

Median income =/= middle class

<comment><USER16> You are literally the 1%, even in the Bay Area. Either you're lying, have way more debt than you are letting on, are planning on retiring after a few years of work, or have a fundamental disconnect from reality.

You should be netting 200k or so a year, and even a fairly lavish lifestyle should let you save 100k a year, given that you have no kids and live in a place that should cost less than 10% of your net income.

I've lived in the Bay Area for several decades, and I could buy a very nice house tomorrow if I made 370k this year, even starting from flat broke.

<comment><USER14> It's confusing that he listed $370k as _his_ salary (really, combined salary) followed by saying $120k of it is his partner's.

I don't know the percentile, but $250k in SF is not even top 5% per an article someone else shared in comments. [0]

0: [http://www.businessinsider.com/san-franciscos-top-5-of- earne...](http://www.businessinsider.com/san-franciscos-top-5-of-earners-are- insanely-rich-2015-3)

</comment></comment></comment><comment><USER12> We should banish the term "class" when discussing tax rates. It's got too much connotational baggage. Even if someone making $250k considers themselves "middle class", unless they lack all perspective, they don't consider themselves "middle income".

</comment><comment><USER9> The 250K is a very well selected figure from a political stand point as it incorporates most of their current voting base and any one who's on the fence. Families with income of 50K and below are more likely to identify as Democrat in the current political climate, 50-150 is more or less evenly split and the higher you go the more ground the democrats usually lose.

Over 250K it most likely won't matter as their political opinions might not be swain but 150-250K is quite a lucrative poaching ground for both parties, the republicans spread fear that those are the people who'll suffer the most under the Dem's taxation policy and the Dem's advertise that they are part of their precious middle class that must be protected.

The 150-250K range is also where quite a few of the Dem's force multipliers lie; young educated professionals which are tethered to social media and are quite likely to be politically active on various social issues attacking and preserving them is quite paramount for the Dem's long term strategy if they want to keep the white house for another 8 years.

</comment><comment><USER17> The real problem is talking about absolute values. $250k/year makes you king in many places, but in several cities you'll be hard-pressed to buy a house or even an apartment.

Owning your home has long been the staple of middle class. In places like San Francisco even the very high income engineers mostly pay rent. Especially the ones in their 20's.

(source: me and my girlfriend put together make just over $200k/year, we wouldn't dare think of buying a place, probably ever. According to the article we're top 96th percentile)

</comment><comment><USER13> ITT a bunch of yuppies that live in a bubble and whine that even though they travel on an airplane for several trips every year, and go to nice restaurants all the time, just because they might not be able to afford their dream house in one of the most expensive places to live in the country they aren't rich damn it. It's _other_ people who are rich.

Living in San Francisco is a luxury good.

Buying a house in San Francisco is one of the most expensive luxury goods there is.

<comment><USER18> At time of writing most of the posts are about defining the term "middle class." Don't know if you're projecting or just overly eager to accuse others of being a "bunch of yuppies in a bubble."

<comment><USER13> Any definition of "middle class" that extends to the top 5% is stretching the term so far as to be silly. And it gets stretched that far because some people are unwilling to face the fact that they're rich and accept some of the responsibility that comes with that.

</comment></comment></comment><comment><USER19> I think we have a problem in the US where we think the success that we've had since WWII was something other than an anomaly. For some reason we think that this comfortable model, where if you work hard and follow the rules and go through the motions put in front of you, that you can live a comfortable life with a white picket fence, a couple children, and with one of the parents at home with the kids.

It doesn't work like that in most of the world. In spite of how interconnected we've become, we're still largely blind to the terrible conditions of hard working people who follow the rules in the rest of the world.

So now you're seeing a lot of people upset that they're following the rules and ending up in bad places-- in a lot of student debt, or unable to find jobs, or unable to find well-paying jobs. They look at their parents and grandparents and think that it must be some small systemic problem-- the 1% isn't taxed enough, or even worse, they think that it's _not_ some systemic problem, and that this is just a result of the 2008 economic downturn.

I think the problem is a bit worse than that. I think we're on the tail end of our post-war powerup. I think we're going to try to tax our way out of it and end up with a broken country. I think we need to face some hard truths and be a bit more concerned about our national debt; a lot of people on either side don't seem to realize that a devalued dollar only hurts people that hold dollars-- you know, lower and middle class Americans. The Trumps of the world hold capital and couldn't care less about an inflated dollar.

If you click my comment history you'll see that I'm a jaded man that speaks a lot of doom and gloom, so who knows. I'm just not comfortable simplifying this as much as the article does. America can't stay on top of the world forever.

<comment><USER13> The first 3 graphs of your comment in chart form:

[https://twitter.com/BrankoMilan/status/668196138332327936](https://twitter.com/BrankoMilan/status/668196138332327936)

</comment></comment><comment> the-dude Well, middle class used to mean the family lived on one income, the mother stayed home/kids/charity, the house in the suburbs was owned and you would have a car.

Would $55k get you this today? I don't think so. Would $250k get you this today? Maybe.

edit: typo

<comment><USER20> There aren't a lot of places where you _can 't_ live on an annual gross income of 250K. The quality of life will vary, if you living in New Jersey for example and commuting over to Manhattan, or out in Livermore taking the train into San Jose or Oakland. You would be doing just fine in Portland and much of Seattle. Places like Albuquerque and Des Moines would have you really living well.

But looking at it a different way, where is the money going in those various locales? Given the cost of living in the Bay Area compared to the Columbus metro area, the amount of 'pay dollars' is generally flowing out at a much higher rate in the Bay Area, but they are soaked up just as quickly as they are in Columbus. So who is getting them? Banks with their Mortgages? Schools? Government? Restaurants? How can you have a population of people making $200K a year in one place experiencing the same level of "wealth" as people making $100K a year in another place? That makes for an interesting conversation.

<comment> the-dude While this certainly might be interesting today, you glossed over the fact that middle class was earned by a single income in earlier days.

Which I think is far more interesting.

<comment><USER21> It'd be interesting to see when this balance tipped on a timeline.

There's a lot of factors at play here. I can imagine a time where not everyone in the middle class had an expectation of going to college. I could also imagine a US advantage on skilled labor that would have yielded far better wages which has steadily eroded under globalization. I am also imagining a time when taxes where less burdensome. Probably some other factors at play that I am overlooking as well, still I wonder when the tipping point was 1980s?

</comment></comment></comment></comment><comment><USER22> I'm a bit astonished that it doesn't seem to be pointed out in these comments (and even a bit more astonished that it's not mentioned in the OP) that there are a great many people whose income tax returns will say $250k+, but they are paying taxes on a small business and may not be realizing anywhere near that much gross income personally.

<comment><USER23> If I own half of a small business that made $500k in profits, you're right that I will show $250k of partnership income on my tax form. But whether I take it as salary or not is moot. You only pay taxes on business profits, so that wealth exists somewhere and 50% of it is mine.

<comment><USER6> I think aggieben might have been referring to FICA, medicare, and all the other little taxes that small business owners get nickled and dimed with.

<comment><USER22> Yes, that, and it also depends on what state taxes on business look like, and you would also pay taxes on any of it that you put back into the business.

The point is just that there are many people with arrangements such that they might have to file on $250k+, but never realize that as personal income.

<comment><USER23> Every state that has personal income tax taxes llcs the same as the irs. I think you've bought into this canard that business owners are regularly paying taxes out of pocket and it can certainly happen but it's not common. And that's why the article didn't mention it.

<comment><USER6> There are other taxes and fees that add up. The State of California levies an $800 annual tax on every LLC doing business in the state, for example.

<comment><USER23> But that doesn't show up on your tax return. The commenter I replied to has repeated a common trope that there are small business owners who would be hurt by considering $250k as wealthy because of a quirk in our tax code (pass thru taxation). It's a canard because if you own half of a business making $500k in profit nobody should be worried about your tax bill. Income or not, you own a profitable business that is worth a lot of money. And he suggested that you pay taxes on money you invest back into the business which is not true. You pay taxes on your profits not your revenue.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> The biggest problem is that 250k a year is _is barely_ middle class in a large city.

If you have three children, and 250k income, that will provide you a decent living, maaaybe allow you to purchase a home, and just barely afford college funds. That's what's broken.

<comment><USER25> That's only in San Francisco and other rich neighborhoods. Even in NYC and LA, 250k is more than any family you know makes.

<comment><USER23> NYC real estate is more expensive per sqft than San Francisco.

> Even in NYC and LA, 250k is more than any family you know makes

What on earth does this even mean? If you have 2 professional incomes in a family in any of the cities you mentioned, you're at $250k.

<comment><USER25> Well, I only aim to be 90% right.

</comment></comment></comment></comment><comment><USER26> Hah, when I first read the headline, I thought the theory put forth was going to be that $250,000 is below middle class. :)

</comment><comment><USER27> As someone living in Tokyo, Japan.. These numbers are all kind of mind boggling. And not in a good way.

</comment><comment><USER28> It sure feels middle class...</comment>


The new wave of Silicon Valley start-ups  - <AUTHOR> http://news.bbc.co.uk/2/hi/programmes/click_online/6929569.stm Silicon Valley is the southern part of San Francisco's Bay Area, stretching from the city to San Jose. This is one of the top research and development centres in the world; wherever you look someone is having a good idea.
<comment><USER2> A BBC article that didn't mention auctomatic? :o</comment>


No EC2 issues on April 23, according to Amazon Status History - <AUTHOR> http://status.aws.amazon.com/

<comment><AUTHOR> When I posted this, the status history showed a big green OK-symbol for April 23... Now it's updated to show the red error-symbol, so this posting make no sense.</comment>


Kristallnacht, 79 Years Later - <AUTHOR> https://medium.com/@AakashJapi/kristallnacht-79-years-later-e6b1be282813 <comment><USER2> As a regular reminder we (German) have thousands of Stolpersteine remembering the victims. [https://en.wikipedia.org/wiki/Stolperstein](https://en.wikipedia.org/wiki/Stolperstein)

</comment><comment><USER3> The second image is showing Red Army soldiers in uniforms with characteristic PPSz sub-machine guns running by burning building. I doubt it is a picture from Kristallnacht.</comment>


HP CEO Meg Whitman Admits Apple Could Surpass HP in 2012 - <AUTHOR> http://www.mactrast.com/2011/11/hps-meg-whitman-admits-apple-could-surpass-hp-in-2012/ <comment><AUTHOR> If you count tablets as PCs, Apple probably already passed HP as Meg Whitman admits.</comment>


Russia's banking system has SWIFT alternative ready - <AUTHOR> https://www.rt.com/business/382017-russia-swift-central-bank/ <comment><USER2> Is RT a trustworthy source on news about Russia?</comment>


Hacker News's RSS feed is broken again - <AUTHOR>

The comments link used to be readable, but now it's just in a CDATA free-floating within the <item> tag. Neither Firefox nor NetNewsWire show the comments link this way, and the feed does not validate (http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fnews.ycombinator.com%2Frss)
In addition, I'd be really happy if you could add a GUID (or other universal identifier) to each element in the feed; that way when the title of the post gets edited five times, NetNewsWire won't think it's a new item every time.
I really would suggest looking into using Atom instead of RSS, because it's simpler to just have one specific standard, instead of trying to meet one of the nine different RSS standards, but I can understand that this is a little more unlikely to happen. <comment><USER2> Agreed.

The comments link needs to go inside a <description> element, and a GUID could be as simple the HN item URL.

I've been loving reading Hacker News via Google Reader since the comments link started showing up. It was a downer to see it gone today.

</comment><comment><USER3> Can anyone tell me anything more precise than "it doesn't work?" What is the difference between the current format of the RSS feed and what it should be?

<comment><USER3> Ok, I think I figured out what changed. Is it working now?

<comment><USER2> Yep, the comments links are back in Google Reader. Thanks!

While this is good enough for me, if you'd really like to know the diff between the current feed and the "ideal" feed that works in the maximum number of clients, <http://feedvalidator.org> is a great resource.

</comment></comment></comment><comment><USER4> Yep, the comment link was fixed a week or two ago, now it seems broken again.

While we're on the subject, is it possible for HN to add the time correctly? I always get this in my RSS feed (look to the right): <http://i32.tinypic.com/j0bgyc.png>

</comment><comment><USER5> Hmmm, what is the order that you get in the rss? Feeds are supposed to be time-ordered, but here they appear in the current ranking on the homepage. So the historical ordering is not very useful...

</comment><comment><USER6> shameless plug:

We've culled Ask YC threads from Hacker News and gave them their own page and RSS feed.

<http://searchyc.com/askyc/> <http://searchyc.com/askyc/rss>

If you like the aspect of community knowledge sharing check the link out.</comment>


Binaural Beats - <AUTHOR> https://www.youtube.com/watch?v=keawECcCmwE&t=7s <comment><USER2> The claims are always full of confidence, "Binaural Beats do X", but I've never noticed even the slightest difference apart from sometimes an increase in boredom or frustration over the lack of anything "happening" with the sound.

Have anyone here experienced repeatable (if subjective) effects from listening, if so, how long did you listen for the effect to become noticeable ?

<comment><USER3> > _Have anyone here experienced_

Would you not rather know whether any randomized, double-blind, sham- controlled trial with meaningful group size had ever demonstrated a positive effect?

<comment><USER2> Sure, can you link me up ? :)

<comment><USER3> I cannot. To the best of my knowledge nothing like that exists. Everything I've seen of people "studying" it have cohorts of like 4 people or show no effect.</comment></comment></comment></comment>


Meteor 1.0.4 is out - <AUTHOR> https://www.meteor.com/blog/2015/03/17/meteor-104-mongo-cordova-template-subscriptions

<comment><USER2> I just upgraded the app I'm working on to this release, and it's working perfectly!</comment>


Ask HN: Govt-issued wristbands for COVID recovered - <AUTHOR> Thinking out loud here.
How about the government issuing wristbands to people declared recovered from COVID-19?
Perhaps the wristband would include 1) Name and 2) QR Code to cross-reference with a large doctors' database confirming their positive test and recovery. <comment><USER2> I do think something like this is likely to be an important part of relaxing quarantine restrictions.

I also suspect there'll be a roaring black market in them.

<comment><AUTHOR> Good point! That idea of a black market in this trade is scary.

</comment></comment><comment><USER3> Why? What's the point? At the moment there is no data confirming that you develop immunity once you recover.

<comment><AUTHOR> I agree, which is why I made sure not to mention immunity.

But at least these people would no longer be a health threat to the community, right? My thought is that they would be one step towards helping society return to normalcy (e.g. going back to jobs).</comment></comment>


Google Is Not in "Late-Stage Talks" to Acquire Twitter - <AUTHOR> http://kara.allthingsd.com/20090403/sorry-to-get-you-all-a-twitter-but-google-is-not-in-late-stage-talks-to-acquire-the-hot-microblogging-service/

<comment><USER2> Summary: Tech Crunch overhyped _another_ rumor to get traffic.

I was tolerant of TC till these last few weeks. But this makes about 5 TC posts in under 2 weeks that have just been a waste of space. Now I am adding them to my HN (and other sites) block list and removing them from my feeds.

Personally Im not interested in sensationalist media :(

<comment><USER3> HN has a block list?

<comment><USER4> You can with a GM script: <http://userscripts.org/scripts/show/25039>

</comment></comment></comment><comment><USER5> Yea -- I found Tech Crunches news very alarming and against the grain. I was at Twitter's office last Friday and their coo told us four times that they were excited to be growing, and to "check out their job board."

Additionally, Biz Stone was hosting the daily, catered lunch at Twitter and the team was having a blast. They were building rapport and looked pumped for the future. They also mentioned they'll be moving into a new office soon. A bigger one.

Why would they give off this vibe, hire 15+ more positions, and then turn around to sell off to google. Twitter is in it for the long run.

</comment><comment><USER6> what is the benefit of real time search, when the matching results are written by Shaq?</comment>


Ask HN: How to get hired by GitHub? - <AUTHOR> Hey, for the last few years I've had the self-imposed goal of landing a job at GitHub as a UX Engineer.
Any advice, maybe from someone who's actually made it?
This is what I tried, so far:
I'm constantly refining my LinkedIn profile and CV/Resume
I participate in Open Source since 1998 and I have a fairly active GitHub profile, with some contributions to major and minor projects.
I submitted a total of 10~ applications for a number of open positions: Technical Supportocat, Front End developer, Product Help writer...
The idea was to get in with one of the things I can actually do for a living, then try to switch to my top specialization.
I also tried the direct approach of sharing my thoughts about their home page: http://www.williamghelfi.com/blog/2015/06/04/github-home-redux/
The best result I was able to get: a written test about system and network administration, for a position in Technical Support for GitHub Enterprise. (I failed)
Lately, except for the automated "thank you, we'll get in touch"-ish email, they seem to have stopped even replying to my applications for their open positions (I don't know, maybe some sort of blocking has been put in place). <comment><USER2> Have you a) looked through linkedin to see who are the UX engineers at GitHub, b) found their blogs / twitter profiles to see what they write about / what the read, c) read their writings, d) read what they are reading, e) reached out to a few of them to get their advice? It seems to me that you've done just about everything other than talk to the actual people who have what you want. So at this point, go for it! Find them, talk to them, ask them what you need to do, and then do it. :) Good luck!

<comment><AUTHOR> Thanks for the advice, I can and will try this :)

</comment></comment><comment><USER3> Why do you want be a UX engineer and GitHub specifically?

Perhaps apply for UX positions at other companies - ones that are actually hiring in that position, and build up some working experience in the field.

<comment><AUTHOR> I have 10+ years of experience in the field :D

I fell in love with GitHub as a product just using it, and as a company reading the posts by Zac Holman.</comment></comment>


Show HN: Implementing quadtree algorithm to make art from photos - <AUTHOR> https://medium.com/@ribab127/implementing-a-photo-stylizer-in-python-using-a-quadtree-algorithm-d2c33e8bb81f <comment><USER2> What fun. Non-medium link at [http://www.codingwithricky.com/2019/08/03/1-quadtree- photo-s...](http://www.codingwithricky.com/2019/08/03/1-quadtree-photo- stylizer-python/)</comment>


Ask HN: Billing for non-customer specific tool usage - <AUTHOR> Hey folks,<p>I've a customer that brought me on as primarily a systems and compliance consultant and my responsibilities look to expand into helping manage and update their Terraform managed infrastructure. I've not yet used Terraform and will need to get up to speed on it. Should I bill all of my time learning it or eat some of the cost? If it was something they designed in-house I would bill all of it as the skills don't directly translate to skills for other customers but this makes it a bit of a grey area. <comment><USER2> You might learn on the side, e.g. read a relevant book during a train commute. But you can also learn on the job. Here it can be about optics though and what others around you think is fair: reading a book at the desk for hours doesn't look productive, while browsing online help for hours does.

As freelancer I've billed hours for literally reading a book at home. They wanted me to know and be able to debug a critical storage system if something goes wrong. I believe my fees were still lower than finding another person.</comment>


Formatting Is Unreasonably Expensive for Embedded Rust - <AUTHOR> https://jamesmunns.com/blog/fmt-unreasonably-expensive/ <comment><USER2> This is a fascinating example of how languages tend to grow up alongside assumed applications for them and, as a result, can have assumptions deeply baked in that challenge using the language in novel applications and environments.

Solving this without pushing too much complexity onto the developer (1) is going to be a fascinating challenge.

(1) What does "too much complexity" look like? The C++ standard library has template arguments for the memory allocation logic. When it's needed, it's very much needed; when it isn't, the existence of that argument was long a tax on comprehending compile-time template errors until tooling caught up with being able to intelligently hide those arguments when they're likely to be noise.

<comment><USER3> Yeah, I've been looking into wasm and am finding similar issues (not with Rust specifically). Languages designed for desktop/server usages are not a great fit in small places (embedded and the web).

With Go there's TinyGo which solves this problem (note, I haven't used it so can't speak to how well). I wonder if something similar for Rust is possible, a compiler targeting embedded systems?

<comment><USER4> The article mentions several crates that fill the role of TinyGo in Rust. It's just that they aren't the default.

</comment></comment></comment><comment><USER5> There are 200+ people working on the Rust language, but only single digits are paid for it [1]. I don't take the OP as a complaint, but perhaps the embedded community is going to have to take a stab at fixing this themselves.

[1] [https://xampprocky.github.io/public/blog/rust-2021/](https://xampprocky.github.io/public/blog/rust-2021/)

<comment><USER6> Realistically, the embedded community will just bypass rust and stick with C, C++, and other more suitable languages.

<comment><USER4> Embedded Rust usage is growing all the time. The formatting problem is not a blocker; it's just a "papercut" per the article. C and C++ have their fair share of annoyances too.

</comment></comment></comment><comment><USER7> I'm not sure how to contact the author, but just a nitpick:

        fn inner_main() -> Result<(), ()>

should be:

        fn inner_main() -> Result<!, ()>

since it shouldn't return except in the case of an error. It's important to make the compiler aware of such semantics, so that it can better optimise the program.

<comment><USER8> I think this is right, but I don't think the never type is stable.

<comment><USER9> The Never type should be stable in 1.41, I believe.

<comment><USER10> I checked, and you seem to be right. It feels weird, considering all the jokes that "never is named after its stabilization date"

</comment></comment></comment></comment><comment><USER11> super small nitpick on article formatting:

> All examples provided below are sourced from this repository.

In that sentence "this repository" is a link however it has no affordance [1] until you hover a mouse over it.

1\. [https://uxplanet.org/ux-design-glossary-how-to-use- affordanc...](https://uxplanet.org/ux-design-glossary-how-to-use-affordances- in-user-interfaces-393c8e9686e4)

<comment><USER12> Not a super small nitpick at all, but rather extremely valuable feedback. I read through the whole article assuming the author forgot each and every link.

</comment></comment><comment><USER13> Doesn't C's printf have the same problem?

<comment><USER14> When using FreeRTOS tasks, any use of printf() requires a substantially larger stack allocation per task. But I don't recall now any massive blow-out in binary size.

<comment><USER15> Yeah canned printf is really stack heavy if I remember. A solution is to have one thread that handles printf. Biggest issue I've run into with printf at least in C is calling it tends to be expensive.

</comment></comment></comment><comment><USER16> Reading this blog post I get the feeling the author is attempting to solve a problem that doesn't really need to be solved in rustc in my opinion. unwrap() typically wouldn't be in any application you actually care about errors beyond initial debugging. In production you'd either deal with the error in a sane way or fail gracefully (panic-persist or panic-reset make a lot of sense in those scenarios). For actually doing a log like format on a arm cortex-m I'd be looking at ufmt as mentioned in the post.

That's not to say the post isn't enlightening. It is, the cost _is_ unexpectedly high in space. That's not to say that the goals of making unwrap and panic more space efficient are good ones as well. I don't think they're a concern I personally have with rust in an embedded system though.

<comment><USER17> .unwrap() in production code is perfectly normal where the author believes other code constraints outside the scope of the type system prevent it ever having a non-truthy value. Technically the author should have used `.expect(...)` instead with a message but even if the author were to write a `match` instead, the author would have panicked in the _ case. (Think erroneous design assumptions or logical errors.)</comment></comment>