The Cold-Medicine Racket - <AUTHOR> http://www.theatlantic.com/health/archive/2014/12/dayquil-screed/383768/?single_page=true <comment><USER2> This is such a great example to highlight how information asymmetry and choice overload act to undermine markets.

> The difference in price between brand names and generics accounts for tens > of billions of dollars "wasted" every year by Americans in pharmacies, > according to the economics researchers.

> Consumer confusion, or misplaced trust, is compounded by the fact that a > drug store is likely to have upwards of 300 cold-and-flu products

> One myth is that "brand-name drugs are made in modern manufacturing > facilities, and generics are often made in substandard facilities." But, the > FDA counters with the reminder that it "won't permit drugs to be made in > substandard facilities."

Imagine how much consumers would overspend on branded medications if they couldn't count on the FDA as a backstop.

EDIT: By "backstop" I mean the FDA's role in ensuring that generics are bioequivalent and meet manufacturing standards. Imagine how much more effective brand advertising would be if some of the choices on the shelf really were manufactured in a dirty factory in Mexico.

<comment><USER3> The FDA does try, but it's ineffective and totally overwhelmed. Here's a recent story[1]:

       In January, FDA inspectors paid a surprise
       visit to the facility in Toansa, in a rural
       area north of New Delhi, and found broken
       equipment, windows stuck open and flies
       "too numerous to count,"
       ...
       Workers ran quality tests over and over
       until they got the results they wanted

Just google around and you will find many many many stories like this. It's been an ongoing problem with generics (mostly from India) for quite some time.

I don't know if brand-name drugs are any better, probably many of the same ingredients are sourced from the same suppliers. But at least the brand-name drug has a reputation, i.e. a "brand name" to protect.

Edit: Just wanted to add: RTFA I linked to. My one quote doesn't do the situation justice. The culture at some companies is IMO really really bad.

[1] [http://www.bloomberg.com/news/2014-03-06/flies-found-by- fda-...](http://www.bloomberg.com/news/2014-03-06/flies-found-by-fda-threaten- indian-town-built-on-generics.html)

<comment><USER4> Stores like CVS and Walgreen's do have their store brand to be concerned about. So if brands do provide some guarantee of quality, buying from those stores is likely not worse than the branded products.

</comment></comment></comment><comment><USER5> The most pernicious recent development is the widespread use of phenylephrine to replace pseudoephedrine. Neither personal nor clinical evidence support the effectiveness of phenylephrine, but it is very clear that phenylephrine causes a dramatic increase in blood pressure in many people.

There are some pseudoephedrine products on the market which are supposed to be diversion-resistant for methamphetamine production but it seems if you stop people from making meth they will just order up some other sympathicomimetic amine from China.

<comment><USER6> Just get yourself an ephedra plant and steep your own tea. Pseudoephedrine itself does bad things to some people.

<comment><USER7> Surely you jest. Let me skip the well regulated, well-tested, reliable, precisely dosed, quality controlled and impurities-removed, time-released (if you so desire), mass-market product in favor of a plant that I have to take care of, and cross my fingers when the time comes that it delivers what I need, without potentially dangerous impurities, in the proper dosage and assume that it will be safer?

It would be like ripping out the perfectly functional seatbelt in my car and replacing it with a home-made duct-tape based mechanism for reduced side effects.

<comment><USER6> Ephedra is a meager little shrub that doesn't have a lot of needs and has been drank as a tea for thousands of years. Ephedrine is also much safer than pseudoephedrine with fewer side effects.

I grow a lot of medicinal herbs and have never had to worry about dangerous impurities or quality control, except for the occasional spider web. I'm not a homeopathic nut, but certain things (mint, ephedra, thyme, sage, peppers) are easy to grow and provide tangible, scientifically confirmed benefits.

<comment><USER8> I don't know about the others, but mint being "easy to grow" is an understatement. Left unattended, it can take over a garden like the legions of Rome.

</comment></comment></comment></comment></comment><comment><USER9> "The idea is to help everyone find exactly the right cold medication."

[http://www.iodine.com/cold-and-flu](http://www.iodine.com/cold-and-flu)

I work at Iodine (our Cold and Flu tool is featured in this article) and we're watching this thread. Feel free to ask medication related questions of our clinical team or technical questions of our engineering team.

<comment><USER10> Please look at your website with iPad for example. And then please get rid if of that share bar that annoyingly covers the content. Thanks.

<comment><USER11> thanks for the tip! we're on it

</comment></comment></comment><comment><USER12> But branding does have an impact on the effectiveness of some over-the-counter medicines (because of the placebo effect):

>The effect of branding--that is, the labelling and marketing--of a well-known proprietary analgesic used to treat headaches was studied in a sample of women given a branded or unbranded form with either an inert or an active formulation....The findings showed that branded tablets were overall significantly more effective than unbranded tablets in relieving headaches.

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1505530/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1505530/)

</comment><comment><USER13> This reminds of of the time I sat the cold/flu aisle looking at cough medicine for so long... Through the haze of my head-cold I finally figured out that there were three different products by the same company that had the exact same dose method, dose size, and active ingredients. The only difference was the name of the product and the price.

*EDITED:

Front: [http://i.imgur.com/ZkcPiEY.jpg](http://i.imgur.com/ZkcPiEY.jpg)

Back: [http://i.imgur.com/gOj5uYK.jpg](http://i.imgur.com/gOj5uYK.jpg)

<comment><USER9> This is amazing- we hadn't noticed this! It feels like they are A/B testing different boxes. I particularly like the MLB logo in the corner of one of those boxes.

<comment><USER13> Yeah... That is probably be the case. But as someone who hadn't slept more than a few hours at a time due to my cold I was pretty sure I was losing my mind. If/when I go to the cold aisle this year I'll check and see if the packages are still there.

</comment></comment></comment><comment><USER14> I wonder how much of that wasted money could be saved by taking an approach with brand-name drugs similar to the one taken with cigarette packages: require them to carry a big-ass label. Something to the effect of "THIS PRODUCT IS MEDICALLY EQUIVALENT TO [ insert name of generic here ]" in great big, bold type.

Of course that would cut into pharma's profits, so it would never in a million years actually happen.

<comment><USER15> Except generics aren't guaranteed to be equivalent. Indian pharma companies have been incredibly corrupt, outright lying about their products:

[http://fortune.com/2013/05/15/dirty- medicine/](http://fortune.com/2013/05/15/dirty-medicine/)

I'd be very hesitant about buying medicine from such companies. But I agree that if the regulators could assure quality, then yes, pointing out equivalence would help a lot of people.

<comment><USER16> Incredible.

Is there a data source for companies & drugs that are known bad?

<comment><USER17> The FDA does a pretty good job of forcing the offending companies to recall the bad product. They even go as far as banning any imports from said companies until they've proven that they have cleaned up their act.

<comment><USER16> Well... um. Read the Fortune article, and that pretty much invalidates your statement. This particular company was in the middle of an investigation and was _still_ shipping product. Similar situations have occurred in the past (I can't recall names anymore though).

I would love to pull up an app, tap a few buttons, and ask the pharmacist to change the meds to brand name when they are selling me products produced by $sketchy_fraudulent_company.

<comment><USER17> I'm not saying the FDA does a good job of catching this activity early. The only way they find out is either through inspections (they are horribly understaffed) or through product complaints.

When do they find out they drop the hammer. Most (all?) Ranbaxy plants are banned from importing product into the US and many products were recalled.

<comment><USER15> Really? Articles from early 2014 say 4 plants are banned, while Ranbaxy's website boasts 21 manufacturing locations.

Sun Pharma, which is buying (or bought?) Ranbaxy, recently got a plant ban _for the same types of issues_. (They delete test info if it isn't in their favour, and have terrible hygiene at the labs.) It's obviously endemic. And Sun quickly noted that the ban only affects 1% of their revenue.

It seems unbelievable that this deep level of corruption is exposed, and the FDA does limited bans and recalls. Instead of, say, completely banning the company and high-level individuals involved, until a complete end-to-end audit is completed. It's simply counterfactual to think these limited bans are accomplishing anything, or that a company is going to utterly and completely change the way they conduct themselves from individual techs all the way up to the board.

The Fortune article says none of the FDA inspectors would ever personally buy drugs from Ranbaxy, ban or not.

<comment><USER17> _Articles from early 2014 say 4 plants are banned, while Ranbaxy 's website boasts 21 manufacturing locations._

Interesting, I looked it up and yes, the FDA is banning each plant separately. One could argue that the FDA can only ban the plants they find problems at, however, I would agree with you that Ranbaxy's behavior is bad enough to stop _all_ shipments into the US. Not sure why the FDA decided to be more lenient. Maybe the law governing the FDA limits how far it can go? I don't know.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Here's another racket: "decongestants" containing phenylephrine as the active ingredient (most U.S. over the counter decongestant products).

"Phenylephrine was not significantly different from placebo in the primary end point, mean change in nasal congestion score at more than 6 hours (P = .56), whereas pseudoephedrine was significantly more effective than both placebo (P < .01) and phenylephrine (P = .01)"

[http://www.ncbi.nlm.nih.gov/pubmed/19230461](http://www.ncbi.nlm.nih.gov/pubmed/19230461)

<comment><USER19> yup, that data was very obviously suppressed to keep the DEA happy and prevent meth labs from easily obtaining large amounts of pseudo-ephedrine.

Ask any seasonal allergy sufferer, we all look to find out where the 24 hour pharmacies are so we can get access to the "good stuff" when sinus trouble inexplicably hits and you need the behind the counter pseudo-ephedrine to get through it.

</comment></comment><comment><USER20> If I actually trusted the FDA to do their job properly maybe I could spend less time staring at brand names in the cold aisle.

If we all trusted the FDA implicitly, then the next logical step could be to actually _ban_ the entire concept of applying brand names to off-patent pharmaceuticals and rework the entire cold aisle into a patient-education + active ingredient grab bag. In such a world, phenylephrine is phenylephrine, guaifenesin is guaifenesin, and all shoppers would care about is the form factor and dosages.

I've read on HN about exactly how many fucks the FDA gives these days when billion dollar pharma is forging test results while they knowingly pump crap generic meds with zero quality control out of their dirty factories. See, for example, [https://news.ycombinator.com/item?id=8468099](https://news.ycombinator.com/item?id=8468099). So that leaves us with the flimsy fallback of hoping brands like Mucinex believe good QC is absolutely essential to maintaining their market position.

TFA claims American consumers waste "tens of billions" on brand name pills. I'm sure this stat isn't just cold/flu meds, but probably including blockbusters like Lipitor vs generic as well. That's like a $10 billion tax because we can't fully trusted the quality and bio-equivalence reviews the FDA is tasked to enforce?! By comparison, the total FDA budget is $4.5 billion.

<comment><USER20> To give a specific example of where this works in practice, take buying a good piece of steak. While some chains try to brand their beef one way or another, all you really want to look for is "USDA Prime". The USDA... they really, really know how to grade a cut of beef. I trust them implicitly, when I see "USDA Prime" I know exactly what I'm going to get.

Now imagine having that same level of trust in the FDA. "Guaifenesin 1200mg 24 Hour - FDA Prime" would be all I need to see, and I'm grabbing that bottle. Spend a cool $5 billion setting up that program for the Top 100 generics, and you save Americans, what, maybe about a trillion dollars over the next 30 years?

Just like with beef, this isn't about controlling production, or subsidizing the factory, but simply establishing public trust in an inspection process.

</comment></comment><comment><USER21> An interesting analogy of the situation which didn't make the article is a good analogy of the cold medicine racket would be, imagine if liquor stores were not able to legally sell components of mixed drinks. So a liquor store could only sell tens of thousands of different ready to drink products such as screwdrivers, old fashioneds, rum and cokes, mint juleps, but it was practically impossible if not illegal to buy plain old vodka in a bottle.

And for marketing and trademark reasons you had to study the fine print to figure out what is in each bottle. So you can't buy a bottle of ready to drink screwdriver, you have to look in the fine print for "Slammer Canadian Lite Extra Dry Extreme" to figure out its a bottle of screwdriver.

I'm not suggesting I want bulk generic powder guafenisien but life would be a lot simpler if it was more like the produce aisle, OK I got runny nose and cough so take one of pseudoephedrine and one of dextromethorphan and call it good, instead of the "confuseopoly" system we currently have, which I'm sure reduces everyone's quality of life while increasing profits.

<comment><USER22> One of the points made in the article is that you _can_ buy single drug generics and combine them as needed.

So for your analogy, the liquor store would have to have a small shelf of mixers and giant coolers full of premixed stuff. But flavor is easier to deal with than medicine, so people won't put up with it, so liquor stores mostly sell ingredients.

</comment></comment><comment><USER23> This reads like a big ad for Iodine.com

<comment><USER24> I thought the author actually had a pretty skeptical take on things. The ending quote is pretty hilarious:

"It's a press release, Mary. The iodine algorithm saved your husband from the brink of ruin. His newfound sense of consumer empowerment was so invigorating to his spirit that he no longer needed any Mucinex at all."

</comment></comment><comment><USER25> I've been waiting for awhile to catch a cold so I can try a neti pot. My usual goto is zinc lozenges as soon as the cold hits/gargling with hot salt water/staying well hydrated/and resting.

<comment><USER26> Try to do it first thing in the morning before you blow your nose. I have found that blowing my nose drives the mucus two directions... out my nose and up into my ears.... this prevents the neti pot from being able to properly clear out your nose, since it can't reach the mucus that has been driven up into your nose.

</comment></comment><comment><USER27> I think the real racket is that people are taking medications to suppress cold symptoms in the first place. A healthy adult should be out no more than a week from a strong cold/flu. That wouldn't be a big deal except people get so little time off from work they don't want to waste it on a cold.

Wether they spend $10 on symptom suppressors or $50 is besides the point. Taking medications for what your body should be capable of handling with proper nutrition and rest cannot be healthy.

<comment><USER28> >>Taking medications for what your body should be capable of handling with proper nutrition and rest cannot be healthy.

Could you explain a bit more as I can think of a case where this seems to be false: While my child's body can eventually handle colds and flus, if his temperature goes above a certain level there's a significant chance for brain- damage, so I counteract the bodies natural fever with medication.

<comment><USER29> It should be noted that a _low_ fever appears to be helpful for the immune response. [http://www.nbcnews.com/health/health-news/sick-feverish- suff...](http://www.nbcnews.com/health/health-news/sick-feverish-suffer- through-it-get-well-faster-docs-say-f1C6436878)

If you're running a 101 degree fever, it may be more effective not to suppress it.

<comment><USER11> yeah i wrote a pretty comprehensive blog post about this - ie when it's better NOT to treat a fever [http://www.iodine.com/blog/should-you-treat-a- fever/](http://www.iodine.com/blog/should-you-treat-a-fever/)

</comment></comment></comment></comment><comment><USER30> I use a netipot with lukewarm water and a pinch of salt to flush my sinus if I have any cold symptoms. I never had any real cold since 2007. Never took any cold medication.

</comment><comment><USER31> I would love to see this represented in an infographic or some sort of visual aid. The biggest racket in my opinion is the whole Tylenol / generic or ibuprofen / generic the prices can be ridiculously different. One thing about the pain relievers is the quality of the shell or coating you are getting. Some of the generics come broken up into tiny pieces while you won't see that with brand name meds.

</comment><comment><USER32> I learned all about this stuff from some pill popping raver kids. 300 brands and about 6 different ingredients. One of the ingredients only purpose is to make you vomit.

</comment><comment><USER33> Agree in general but remember the case of Ranbaxy? FDA oversight is not uniform and becomes weak outside the US

</comment><comment><USER34> Good: Brand

Better: Generic

Best: Nothing

"If takes about 1 week to get over a cold if you don't take medicine, but only 7 days to get over a cold if you take medicine."

<comment><USER35> The medicine isn't supposed to improve your recovery time, it's supposed to lessen the ill effects of having the cold. Your comment doesn't make sense in that context at all.

"It takes about 1 week to get over a cold if you don't take medicine. It still takes 1 week to get over a cold with medicine, but you'll feel much less hindered by the effects of the cold itself."</comment></comment>


Ask HN: Developer burnout – how to rediscover the passion, or new career? - <AUTHOR> I've been developing software for the last 15 years and I've stopped 3 months ago and just quit.  It wasn't the job, it was one of the better companies I've worked for, the people were nice, the tech was cool and the money was great.  Outside of work my life is pretty fulfilled, my first child was born last year, and although its been hard its also really awesome.
I've just lost the passion for developing software :(
I've taken 3 months off so far, but still can't bring myself to open up some code - I'm wondering now if I should think about changing career completely, what can an ex-developer retrain into? <comment><USER2> I have been coding since the 90s. This year I finally felt really burnt out. It got so bad I was upset, miserable, and lost all passion for working. I have 6 kids and a wife with a chronic untreatable disorder so I couldn't just quit. And I'm glad I didn't, it turns out that wouldn't have helped. Here's what I did and what I would suggest:

1) after talking to my wife and my doctor I got a counselor. Well really a team of mental health professionals. My counselor and a psychiatrist to help with meds really helped. I started out by taking some medication and doing weekly one on one therapy. Over time I actually got off of medication and the therapy reduced to every other week and then monthly. I still see my counselor every month. He's amazing. I am so glad I sucked up my pride and met and talked to him.

2) through therapy I realized that I didn't have an identity outside of being a software developer. That's what was burning me out. I wasn't Tim the person who has a family and interests and develops software. I was Tim: software developer. The end. This turns out to be really bad. I had to remember who I am other than software developer. All I ever did was work or think about work or work on other things that were just like work.

3) in discovering who I am I remembered my other passions in life. I spent more time with my family and enjoy the time more. I spend a little time with just myself and that is ok too. I enjoy hobbies (mine are recreational math, reading legal briefings (I'm aware this is weird), crocheting, and writing short stories). I do these by myself or with my kids and wife. It's nice.

4) now when I sit down to code it's deliberate and I don't feel passion towards it as much. I'm okay with that. Coding is work and pays bills and makes me happy in that way. And when I'm done with it for today I'm ok with that too.

Ironically enough I'm more successful in coding and business than I have been in many many years. It's great. It hasn't harmed me at all.

So I would suggest not giving up on coding. It pays the bills well and it's a good career. I'd suggest going to talking to a professional. Figure out what the underlying issues are and fix those.

I'd be glad to answer any questions you have.

<comment><USER3> The point about seeking professional help is super underrated. Just in the past few months, I would have entered a similar thread on HN to see the OP being brigaded by posts telling him/her to always be coding and to just chug along. This kind of talk completely ignores other issues that may be present and can cause even further damage.

<comment><USER4> If I were to enter a complicated transaction without consulting a lawyer (raising funding for example) people would say I was crazy.

Yet somehow we think we should be able to work out personal issues (burnout, marriage issues, depression, etc) by ourselves. It's bizarre.

If you can afford help, get it. If you can't, often you can get a discount (sliding scale) or work something out.

<comment><USER5> It is not bizzare: we are used to do stuff other people cannot think to do...

... Like if it was a superpower.

Superheroes doesn't need advice. At least in the comics I read as a kid.

So this superhero syndrome, hurts more than having no superpower at all.

<comment><USER6> > stuff other people cannot think to do

What are you talking about?

<comment><USER5> A lot if people has trouble with computers, technology, etc.

If you're able to understand or at least start troubleshooting computer relates stuff, you look like you hace a superpower to them.

</comment></comment></comment></comment></comment></comment><comment><USER7> Burnout is usually not caused by exhaustion, but by lack of progress. Progress isn't just about money or working with a good team. It's about doing something worthwhile.

I quit software a few times.

The first was because of low income. I started a cafe. But someone offered me about 5x the money I was making to get back in, and I did.

The second time I was a freelancer. I kept building all these shitty apps that nobody used, that were backed by bad teams and didn't make any money. So I started my own startup to do something worthwhile.

The third one was after I sold my startup. It was doing okay, at 5% weekly growth. But I was tired of people in the "startup community". I was working 100+ hour weeks. I couldn't get any funding even with significant traction, while some fools got lots of funding without even a product. I felt like a failure as a CEO, sold the company and retired for about a year.

Resting did nothing at all to cure burnout. What really helped was when someone asked me to go around the country, training teachers and students in advanced programming techniques.

It was giving back that really helped me out of burnout. If you've been in the industry for a long time, mentoring helps a lot.

</comment><comment><USER8> _my first child was born last year, and although its been hard its also really awesome._

Most new parents seem to be perpetually short of sleep and exhausted for the first two years. Being exhausted can make intellectually challenging things just too hard to cope with.

I will suggest that it is possible you are just tired and should consider finding employment that is less mentally taxing for now. Consider the possibility that when things settle down, you may want to go back to coding.

<comment><USER9> This is definitely it. I've got kids and I was also unprepared for the amount of time that they will take. Usually as a developer one has a lot of time to explore wider area of topics (playful exploration). That keeps the mind energized.

So: get plenty of sleep (a golden rule is when the child sleeps the parent should also sleep), then invest in some topic that's not in your comfort zone (e.g. working on CRUDs? Learn embedded programming with Rust).

<comment><USER10> > Learn embedded programming

Yes, this.

I'm currently learning electronics, with the Arduino environment, and I think I never had so much fun with programming since the days I learned to do some ActionScript 2.0 with Flash MX, back in the days. Not a very glamorous example, but I genuinely enjoyed the simple fact of programmatically moving stuff on the screen. Now, with Arduino, I get to programmatically move things in the _physical_ world.

Pure fun.

<comment><USER11> > Pure fun.

Well... that gets quite different when you do it in a professional context. I'd say there is more pressure than in pure software development.

1\. The deadlines are harder. You cannot really ship a half-baked product and tell yourself you'll ship an update every week after. This is of course even more true if you are on the hardware side.

2\. The pressure is higher. Because of point 1, you have more pressure to get things right on the first launch. You also have to deal with the intertwined timeline of the hardware design and manufacturing. And the money involved is arguably higher, so a failure can represent a big hit for the company.

3\. The final product is a bit more likely to have a real use. That gives a better sense of purpose, but it can come with a greater moral responsibility (it depends on individuals, of course). You may not carry the same weight for the Nth rewrite of a random advertising webapp and for a critical safety related device (to take extreme examples).

And now after you've overcome all this, you get thanked by being paid half what the advertising software developers get ;-)

<comment><USER9> > > Pure fun.

> Well... that gets quite different when you do it in a professional context.

Isn't this true with everything? That's why it's important to have something that is not related to work and by extension you can play around with it without the pressure of doing it "professionally".

Actually, that's what I think leads to burn out: no time to play around with stuff without pressure of "doing it one true way" or with "business value".

</comment></comment></comment></comment></comment><comment><USER12> Congratulations on retaining your passion for so long.

I got myself fired at least once before I realized that what I'm passionate about in programming is not the thing that pays the bills.

My point being: It's a job. You receive money for doing it because it's either hard or impossible for your employer to do it themselves. Most of the time there's really nothing to be passionate about here.

It's enough that you're in the 1% of people who made an effort to learn all this. The vast majority of the population consider our line of work to be immensely boring - so much so that even our relatively high salaries don't attract them that much.

Cold professionalism and tinkering after-hours[1] are the things that I would recommend.

[1] That is - once you'll have the time and energy for that. Currently, you clearly don't.

</comment><comment><USER13> I've taken to extended breaks in my career, reduced my expenses to dollars a month and pretty much focused on something else entirely. The first time it was learning taijiquan and reconnecting with my body through walking and physical labor. The second time is was to play video games and build a community. At the end of both sessions my energy was revitalized around software engineering because in each instance i came back around to using the computer to solve the actual problems I wanted to solve for my real goal. Each time I needed to relearn the tools which was also a nice experience as it allowed me to fix lingering problems. I highly recommend these types of breaks, especially if you have a first principals understanding of computers, as that's critical for saying, "I know this is a problem I can solve with math and computers."

<comment><USER14> Extended career breaks work magic for me too. I recently took six months away from work and it was sheer bliss. I was doing some techie stuff - but only things I really wanted to do and didn't force myself. I did a lot of sleeping, walking, eating good food and generally relaxing. Worked like a charm and I went back to work reinvigorated.

I do think though if you are significantly burnt out then a year off might be necessary in order to fully recover.

</comment></comment><comment><USER15> When I felt the same way I actually went the opposite way and started to write code every day - _the code I want to write_. I got back the passion and enjoyment I had from writing code. Even if it's just a line in a readme, I do _something_ every day. I'm a lot happier now because of it, I've learnt a lot, and I'm a better developer all round.

<comment><USER8> This is a great idea.

How do you find code you want to write?

<comment><USER16> What is a problem you face regularly? Write code to solve it, there's probably a market for the solution.

<comment><USER17> When you start thinking of bringing something to market, it already adds stress to the 'just coding' part to me. When I write something for fun I don't want to have to think about making it usable for other people and everything that comes with that

<comment><USER15> Exactly this. I don't write code to make useful things I could sell (that's the day job). Code I write in my "coding every day" thing is more often toys, games or art.

<comment><USER17> I would love to hear or see more about the 'art' part if you don't mind sharing that. Or just explaining what kind ot the things it are :)

</comment></comment></comment></comment></comment></comment><comment><USER18> When a software engineer burns out he or she always identifies the same set of problems: I don't like my job anymore, I can't code anymore, but there's nothing else I can do. I will never be able to make the same amount of money doing something else.

To me, it's a lifestyle issue. Coding has nothing special to it. It is something that a machine can do a million time better and faster than us, humans. Also, you don't want to lose your salary as a developer because you've probably set up your lifestyle around that kind of money. Most of us go even beyond that, by getting into debts. That's the real problem in my opinion. Your job is what keeps your current lifestyle up and running. You put all your eggs into one basket like most of us do. Life is too short, you shouldn't put work in the center of your life. Are you a software developer? Yeah? Well, stop putting yourself into that bucket. "Yeah but it pays the bills"... what bills? who set up the bills? You or your work? You should try to disconnect your lifestyle as much as possible from your day to day job. It has to become "loosely coupled". Does it sound familiar? ;) At the end of the day, a normal job is a dollar amount (or whatever currency you use) and you are in charge of setting up that amount.

Make it as low as possible and reprioritize things in your life. The ultimate thing you can do in life is to live for free... why? Because you could be free like a bird and do anything you want. It's technically impossible, but your mission in life is to get as close as possible. Good luck.

</comment><comment><USER19> I quit my FE engineering job and bought a hotel. I don't think I can go back to what I used to do.

I still love writing code. Now I just build stuff for myself.

<comment><USER14> Recently was in Philippines for a month and met a guy there who was a former software engineer who owns and runs a resort. He'd been there 7 years and was really doing well. Really nice Swiss guy. Resort was magical too - we had a cold spring in the back garden of our bungalow... sigh...

</comment></comment><comment><USER20> I don't know what the solution is, just know that you're not alone. It's been 7 months since my last job and I still don't have any desire to go back. Not sure what I'll do going forward though. There are things I enjoy doing, but as soon as I have to do it for money it no longer becomes enjoyable.

</comment><comment><USER21> 3 months are not enough to revert the impact of 15 years. It's like having 3 hours of weekend, after 6 days and 21 hours of workweek -- you wouldn't feel refreshed either. If you can afford it, give it more time: a year or two.

In the meanwhile, try other things. Do you have hobbies? If no, did you have any when you were a child? Or just experiment with new stuff.

Or perhaps try finding a place where your computer skills will be useful, but you wouldn't be doing the classical kind of development. For example, you could help some people in their work by creating a spreadsheet with automatically calculated results. Or try writing documentation for open-source software. Teach kids programming or using the computer.

Without knowing more about you I can't give a better advice. But the main message is that after 15 years of doing something, 3 months of break do not mean anything. Especially if you spent them taking care about a small child; that is not the same as having a break fully for yourself.

<comment><USER14> Absolutely agree - 3 months is really the minimum for a career break. I was thinking a year off in this case might do the trick. There could be other issues at play here though of course...

Also agree with your advice to do other things. Simply walking for an hour in the fresh air is _vastly_ underrated in these days of back-to-back ultra- marathons.

</comment></comment><comment><USER22> I have been a Hardware Engineer for the past decade or so. After jumping around a bit this year I got an easy job just so that I can practice coding at work. Go figure. I realized that I have nothing more to do with schematics and PCBs and made a decision one fine day on a leap of faith. Haven't looked back. By the end of this year I hope to start solving Leetcode medium to hard and go through the riggamarole of coding interviews. Long story all of us go through the "developer" burnout. How we deal with it is whats important. In my case my spouse has been super helpful and I have family commitments which are a major source of motivation for me pivot careers midlife and purse something that I have developed passion for just recently. Maybe you should try a different field all together. Art, woodworking,machine shop might not pay you well and benifits suck but could very well get your motivation back. Good Luck!

<comment><USER11> I tried to shift into landscape design and park maintenance. I had 2 training periods. I was supposed to work on sites or supervise those works. After a few weeks or months, I ended up drawing AutoCAD plans in the 1st one, and I started developing an interface for a database of green spaces of the local government in the 2nd; so each time it was not long before I was back in an office in front of a computer :-/

Some of us are leopards who cannot change their spot...

</comment></comment><comment><USER23> Identify _why_ you have lost passion for developing software. I can think of dozens of reasons _why_ you could reach this point, but the answer will direct you toward the next destination.

<comment><USER24> I'm not burned out but my reason for moving away from coding is simple. It's not fun in a open office environment with "agile" way of working. I got tired of feeling like a factory worker.

<comment><USER23> Sounds a lot like why I don't like being a working software developer any longer as well. That combined with the short-term memory of the industry where new fads boom and bust constantly. If you enjoy building software still, just not the environment, then perhaps look at other ways to apply your skills. For me that means freelancing, where I can control for my environment and how much project BS I'll stand.

</comment></comment></comment><comment><USER25> Learn a whole new paradigm of programming. For me, starting out as a CRUD web app developer, getting into game development was a huge eye opener. It blew my mind to realize that programming isn't all about object hierarchies and application structure. It can be _fun_ and expressive. There is no single _right way_ to do things, and there is always something new to learn.

It's so important to remember that "programming" is a skill roughly equivalent to "writing". It's not one specific "thing", but a generalized tool for solving problems in life. There are styles and domains of programming that would feel like almost a completely different occupation from each other.

</comment><comment><USER26> See a therapist.

Do explore a bit. Play with your baby. Pick up some hobbies. Particularly creative ones. Make music, art, sing, dance, act, etc.

Re "my first child was born in the past year"... If you're like any other new parent I know, you've been running on fumes, and I lose all ability to produce code when I don't sleep.

You don't need passion to be a successful, productive, professional developer. many have it (and many of those passionate people drive me batshit crazy with their protecting their passion and making software-crafting an intolerable place to be).

For me, I've burned out of it several times. One of the things that brought me back was realizing "the tools suck, and whenever I'm doing something else, I end up drawn back in by the need for better tools".

Writing code isn't the end. I don't particularly enjoy the act writing code. But I really hate working with crappy tools. And while writing code isn't particularly fun, it helps me deal with other shit. It's a damn powerful skill to have, even if the major output isn't "software".

As to what you can retrain into? Anything you want. Find out what matters to you, though, then figure out how to get there. One of the great things about being a developer is you can usually make enough cash happen in such a way that you can find a path anywhere you want to be.

</comment><comment><USER27> I work as a developer now. Over the past couple years, I helped launch a few different really cool products, which you may have used or heard about. These two years have been a constant high with insanely busy work weeks but I loved every minute of it.

I'm currently in a phase where I still get satisfaction from design and coding but the things I have to work on right now just aren't that interesting.

I'm not feeling a high from my current work. It seems trivial, boring, reducing tech debt that I just don't find interesting at this point in my career.

The dopamine release isn't there and my previous work was giving that to me daily in large quantities.

I'm considering changing teams.

At some level though, I am in the same boat as you. I don't want to just write lines of code. I want a bit more.

Since this started happening, I've enrolled in courses on Coursera and Khan Academy. I'm leaning about deep neural networks and machine learning. The amount of information is staggering.

I have one stream on just relearning or newly learning some of the math. I have another stream just watching ML and neural net tutorials and articles to become as familiar as I can. Then, there's a third stream of actually coding through some exercises.

Motivation comes and goes. Stay disciplined and find something that really excites you.

If you're just done with development, maybe consider a step into management.

</comment><comment><USER28> Management is the obvious answer.

Or if you like to travel frequently, look at becoming a sales engineer.

Or do consulting, become self employed, start a company, etc.

Lots of options, but you have to find something that inspires you. Take another few months off if you can afford it, travel around, get involved in things that interest you in and out of the industry, engage in hobbies, eventually something will strike your fancy.

</comment><comment> q-base There are a lot of good comments that probably hit a lot closer to the root cause that what I can supply. But I just wanted to chime in with reading either "Deep work" or "Flow". (A third contender could be "So good they can't ignore you").

I am not overly passionate about programming, but I really like the feeling of reaching flow-state. And programming is especially good at this - if I let it.

I will move away from programming, but until I have a clear alternative I might as well enjoy the feeling of reaching flow while also getting paid heftily for it.

</comment><comment><USER29> What about moving into a field within the meta of what you used to do?

Organisations of differing sizes benefit in a huge way (and pay for the privilege) to hear stories, "war" or not, relating to their current problem set, and the various ways those problems can be solved, from an experiential aspect. Just to hear the various woes you faced and how you tackled them, is valuable to upstarts in the field.

Aside from being cathartic to anonymise and relay your experience, you could possibly help an organisation focus or see what they're doing right, or wrong, in their current initiative.

Your 15 years of stories are something new companies almost _need_ to hear.

</comment><comment><USER30> To me, burnout is a symptom of always feeling hopelessly behind. My identity as an employee was always in knowing what was going on, where trends headed, new projects, side work, etc. I now have 3 kids and just navigating the whole parent scene takes up the time I would have spent keeping up. It makes me feel like, if I sit down and watch a TV show it was time wasted so I feel guilty about it. That has really had a negative impact on my own enjoyment in programming.

<comment><USER14> Yes, I do think "overwhelm" is a huge problem in the industry. I recently started a new job and not been there 3 months yet and it felt like been caught up in an avalanche.

GTD can help. I get a sense of control from simply opening up my GTD spreadsheet and tackling the 'next action' for a project. If you chunk it correctly it really helps.

</comment></comment><comment><USER14> > I'm wondering now if I should think about changing career completely, what > can an ex-developer retrain into?

Been asking myself that question for 16 years - I wish I had the answer. My solution was to go contracting and take extended career breaks. It sort of worked. I would like to move out of the industry permanently, but always run into the "but what else would I do" question.

</comment><comment><USER31> I personally turn to travel to re-energize the passion. I have terminated a job 2 times to spend time abroad doing something different (learning a language or working as a contractor for a startup). While doing so, you meet up new set of folks, interact with new cultures (I was in Thailand and later in Russia). Works wonders!

</comment><comment><USER32> Anything that does not require separete degree.

But, if you want to keep it close, you can do analytic or managemnt work. Analysts with development bacground have advantage.

Or maybe don't code yet, just read about theory - math, engineering, organization and soft skills for a bit. Maybe you will start to get feel for coding after you do related but different activities for a while.

</comment><comment><USER33> My question is how would you know if a new thing is not going to turn out the same way? (not that I have an answer)

</comment><comment><USER34> Burnout is entirely different from disinterest or loss of passion.

If you're suffering from a real burnout, you need to seek professional help.

If the latter, do some self reflection and figure out what it is that truly interests you and see if you can change your life in ways that would allow you to do more of that.

</comment><comment><USER35> It'll probably take at least a full year to recover, if not longer. Read this: [https://jacquesmattheij.com/dealing-with-burn- out](https://jacquesmattheij.com/dealing-with-burn-out)

</comment><comment><USER36> Wish I knew. Hit the point this year where I seriously considered quitting tech forever.

<comment><USER14> You are not alone!

</comment></comment><comment><USER37> Have you thought about what you originally liked about software development that allowed you to work on it for 15 years?

What have you not liked?

Are there aspects of it you still have not mastered?

Have you tried mentoring a someone?

</comment><comment><AUTHOR> Thank you for all the comments and advise, I think I can see a way forward now, its been an eye-opener, I really didn't expect this many responses.

</comment><comment><USER38> Maybe marketing? But you would start at a much lower salary than before.

</comment><comment><USER39> Retire before burnout.

After meeting many successful tech startup founders I realized, _they retired before having their first serious burnout._</comment>


The Operating System That Can Protect You Even if You Get Hacked - <AUTHOR> https://micahflee.com/2014/04/the-operating-system-that-can-protect-you-even-if-you-get-hacked/ <comment><USER3> "You are absolutely deluded, if not stupid, if you think that a worldwide collection of software engineers who can't write operating systems or applications without security holes, can then turn around and suddenly write virtualization layers without security holes."

Theo de Raadt, 2007

<comment><USER4> The idea behind qubes is to use the security properties of virtualization layers to enable a secure , easy to use system. Given that virtualization layers are relatively small ,code wise ,that's a good place to start.

Given that amazon uses xen in the EC2 platform(as many others), we're not only talking only about "worldwide collection of software engineers " but also of some serious commercial interests in it's security.

And XEN might not be the end point of that approach. There has been some research on formally verified hypervisors.While it's not 100% foolproof since you still have to depend on hardware security, which is a unknown(does intel cooperate with NSA?), that could give great assurances for system security.

<comment><USER5> xen is over 100k lines of code, not counting the kind of interfaces software exposes using its APIs, and stuff like drivers.

its not small

<comment><USER4> You don't need to review all that code. From the qubes architecture document:

"it is possible to move all the drivers and driver backends out of Dom0. The same is true for moving the IO Device Emulator (ioemu) out of Dom0."

</comment></comment></comment></comment><comment><USER6> Of course, the entire premise of this operating system is that VMs are secure, even though there have been exploits targeting them in the past [0].

Disabling virtualization capabilities in the bios is a semi-common recommendation for securing a computer... Still, this OS is a darn sight better than nothing and it'll certainly protect against most things. However, touting it as perfect is misleading.

[0]: [https://en.wikipedia.org/wiki/Blue_Pill_%28software%29](https://en.wikipedia.org/wiki/Blue_Pill_%28software%29)

<comment><USER7> If they can break out of Chrome sandboxes they can target Qubes

<comment><USER6> I don't see how that follows or relates; chrome's sandboxes are definitely not VMs... VMs are in general better understood and far better isolated.

Can you expound on that comment?

<comment><USER8> How is the isolation in Xen better than Chrome sandboxes - do you mean the attack surface is smaller, the code quality better, or the task somehow inherently simpler/easier?

From where I sit, vulnerabilities in virtualization have seen less public scrutiny than the Chrome sandbox. Eg none of the hypervisor vendors have a bug bounty program, which would be at least some kind of signal.

<comment><USER9> The attack surface of a paravirtualized Xen VM to its hypervisor is much smaller than a linux application talking to the linux kernel.

Of course it's not perfect, but xen has a pretty good track record. And a significant chunk of the flaws that have been found xen were found by the qubes devs.

<comment><USER8> The Chrome sandbox setup doesn't correspond to a regular linux application talking to the kernel though. It has a 2-layer sandbox, with the seccomp-bpf and setuid sandboxes. They restrict the kernel interface to a whitelisted subset.

</comment></comment></comment></comment></comment></comment><comment><USER10> > If a Pidgin-zero-day-wielding attacker sends you a weird-looking message > that takes over your computer, all it will actually take over is your Pidgin > AppVM. The worst that the attacker can do is steal your OTR keys and spy on > your chat conversations

Yes, the _only_ thing the attacker can do is compromise all of your chat conversations and impersonate you on an ongoing basis. Maybe you keep a separate browser VM for sensitive work: good, but only secure as long as you never ever accidentally visit a site you don't completely trust, such as any HTTP site.

Don't get me wrong, I think Qubes is really cool, but our ultimate goal, collectively, should be an OS where the entire stack, except possibly a few lowest level components (but not including things like filesystems and network drivers), is written in a higher level language than C/C++ and guaranteed free of memory corruption vulnerabilities in the first place. While non-memory corruption vulnerabilities exist, they're generally drastically easier to reason about and prevent, while C vulnerabilities can be anywhere, with exploit mitigations that make most attacks only harder, not impossible.

In the meantime, I guess you could always browse using Chromium with ASan enabled :)

<comment><USER11> Every time I hear about moving the entire stack to high level languages I have two thoughts:

* I love high level languages, but is there even a toy OS that provides a decent amount of functionality with tolerable performance without cheating? * There is no silver bullet to anything, let alone security. Automatic bounds checks only solve that one problem.

For instance, most would consider this an order of some of the vulnerabilities that potentially exist in increasing severity. And note that the first one is what Heartbleed is qualified as.

* Buffer overrun on read * Buffer overrun on write * Arbitrary code execution

</comment></comment><comment><USER12> The 3 people who work on Qubes [0] are very good security researchers and I have more faith in their work than most.

It should be noted that the OS's VM'ing is based on the Xen bar-metal VM kernel which is pretty well researched, small, and elegant.

[0] [http://invisiblethingslab.com/itl/About.html](http://invisiblethingslab.com/itl/About.html)

</comment><comment><USER13> I've recently switched to using VMWare for everything, and disabling networking on the host (use a pfSense VM for networking). It's quite handy, but still feels a bit heavyweight. Of course, I'm sort of forced to run Windows as the host to ensure best driver/battery support.

I really hope these approaches like Qubes take off and that things get optimized for this type of workload. I'm not sure why Microsoft has ignored lightweight virtualization, both on client and server.

<comment><USER14> That sounds great, but how many other virtual machines are you using, what is your heuristic for deciding what task is run in which virtual machine, and how strict are you about which sensitive data is used on multiple VMs?

(note: genuinely curious. I've gone down this route before myself before realizing there was simply too much overlap between my "sensitive" and "normal" work. I still employ similar configurations but for protection against data corruption, ease of system administration, and R&D purposes only.)

<comment><USER13> Right now, just games/junk browsing, home (personal email, browsing, projects), work (per customer). On Windows I use Sandboxie to further isolate things like browsers.

It's not perfect, but at least when a client wants me to run some damn .exe to join their oh-so-great screen-sharing platform, my home environment isn't messed up. And I can run random games or utilities and quickly revert to a snapshot.

The most sensitive keys stay in the host partition.

</comment></comment></comment><comment><USER15> As an attacker I care only about the data and don't give a a shit if it is a real machine or a virtual one. If I can sniff the passwords in your browser or just have a keylogger in one of the VMs I am fine. Not sure if that solves a thing.

edit: I remember there were similar concepts a decade or so ago. where you had your "green" desktop for intranet or whatever and then a seperate "red" desktop which you could switch to and go to the evil internet. hint: no benefit gained

</comment><comment><USER16> It seems likely that this indeed will give you increased security.

But it is dangerous to educate non-technical people that this VM-based OS gives you absolute guarantees of security.

And please don't start redefining the term "air-gapped" such that it applies to a VM that doesn't have network access. "air" "gapped" is a pretty absolute concept, and does not mean a VM without network on a host that does.

</comment><comment><USER17> I love Qubes; the people involved are awesome.

What I'd really like to work on is Compartment Mode Workstation with physically distinct hardware.

Essentially, a "windowing KVM" frontend to a bunch of physically separated processor/memory subsystems, connected via well-defined networking interfaces. Essentially X Windows, but actually secure. This is sort of how desktop virtualization (VDI) works today, but with a separate instance per application.

<comment><USER18> Weird thought: that raspi module sells for $30 in quantity, you could easily run _one_ process on that, and use the gpio pins to communicate with a host. One user visible process, one subsystem.

It would be reasonably affordable.

Upper limits on the number of processes you could run would be dictated by how many modules you plug in, you could make a backplane like model where you daisychain multiple backplanes for more processes.

</comment></comment><comment><USER19> I do everything these days in a VM, Virtualbox at the moment. A different VM for different classes of task. With the shared clipboard and shared folder options it is still pretty convenient. Of course, my laptop has 16gb of ram which helps if I want to run multiple VMs at once with more than a few gb each. It's nice to have a base VM for each OS I use and just branch off that for new VMs.

</comment><comment><USER20> If someone is wondering, Qubes (and all Linux based distros) are not Macbook friendly [1]. But honestly, if security or privacy are a priority for you then you are probably not using a Macbook anyway.

[1]: [https://groups.google.com/forum/#!topic/qubes- devel/uLDYGdKk...](https://groups.google.com/forum/#!topic/qubes- devel/uLDYGdKk_Dk)

<comment><USER21> Why would you not be using a Macbook if you want security or privacy?

If you are referring to Mac OSX and its integrations with App Stores and social media systems, note that it is entirely optional (I don't use any of the social media guff bundled into the OS).

Unless you are referring to something else and think that buying a piece of _hardware_ somehow means you don't care about privacy, regardless of which _software_ you are running on that piece of hardware?

I don't think the piece of hardware is relevant?

<comment><USER20> If security and privacy are of _absolute_ priority to you (journalist, activist) then using a OS with closed source essentials is absolutely absurd.

If security and privacy are of _some_ importance to you then using a OS with closed source essentials due to ease of use or development environment only increases the number of years until a strong privacy easy to use OSS system gets rolled out more widely. Your actions have broader impact than just your priorities.

Finally, there is more than just the software. Getting closer to the metal you have to contemplate bootloaders trust and verifiability.

</comment></comment></comment><comment><USER22> Love the comment by "z". :)

The people working on this are sharp, for sure.

But I will never think of VM's as a path to "security".

Xen is useful for a variety of purposes (including resiliency, which can help if you are hacked), but I'll never rely on it for "security".

Curious what bootloader they are using for the Xen kernels.

<comment><USER23> GRUB2, and optionally tboot for "anti evil-maid" ([http://theinvisiblethings.blogspot.com/2011/09/anti-evil- mai...](http://theinvisiblethings.blogspot.com/2011/09/anti-evil-maid.html)).

<comment><USER22> Can the user use their own choice of bootloader (besides those two)?

The bootloader I use can boot Xen kernels; no need for GRUB2. Is the Qube boot process described somewhere?

<comment><USER23> I don't see why not in theory, but in practice GRUB2 is the only available option out-of-the-box. I'm curious why you're so interested in this, though. Care to explain your ostensible desire for an alternative bootloader?

<comment><USER22> I just like the one I have been using.

I understand it reasonably well and am hesitant to switch.

I have tried others and have not been impressed.

I am a connoiseur of bootloaders I guess.

It's an important program, maybe the most important one.

Based on my limited knowledge of other computer users, I believe we all have what we consider a "trusted" program that does some task for us over and over again. We come to rely on it and appreciate it (for our own idiosyncratic reasons). We are hesitant to switch to something else.

For me, that program is my bootloader.

<comment><USER24> Could you share the name of your trusted, Xen-aware bootloader? Is it something other than syslinux or uboot (ARM)?

<comment><USER22> For x86, it is something other than those two.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> If this was to catch on, would the NSA (assuming they don't already) throw more resources at building viruses that attack the CPU directly - <USER2> any of the instructions sent by the VMs?

<comment><USER25> Those that gave this negative points, care to share why?

</comment></comment><comment><USER26> Isn't Bromium also doing this with vSentry?

[http://www.bromium.com/products/vsentry.html](http://www.bromium.com/products/vsentry.html)

</comment><comment><USER27> I'm really hoping they do a server-oriented flavor of Qubes -- would be tremendously useful.

<comment><USER28> Wouldn't that just be regular Xen?

<comment><USER27> No, Qubes is a lot more than just that.

</comment></comment></comment><comment><USER29> i'm not sure i'd feel comfortable with the webcam streaming as people visit :P

<comment><USER30> It's just a very boring video, I watched it to make sure.</comment></comment>


Ask HN: What would you do with an acre of land? - <AUTHOR> I'm certain that some folks here have a really intriguing ideas for land use, and I know for sure that there are some agtech people here. So, what would you do with an acre (or any amount really) of land? <comment><USER2> Farm. An acre of land can provide nearly all the food a small family needs. All that work people do all the time? It's mostly so they can get food. Farming cuts out the middleman.

</comment><comment><USER3> An acre would be quite very large (:)), but if it has water and the possibility to have it being checked form free stealers, I would do synergistic agriculture. [https://www.selfsufficiencyhq.com/synergistic- agriculture-em...](https://www.selfsufficiencyhq.com/synergistic-agriculture- emilia-hazelip/)

</comment><comment><USER4> Build a fence first.</comment>


Can This Man Spark a Renaissance for the Smalltalk Programming Language? - <AUTHOR> http://thenewstack.io/can-man-spark-renaissance-smalltalk-programming-language/ <comment><USER2> Still one of the best languages ever.

Both helped and hindered by images and non-source-file-oriented development model.

Not as much fun for math programming, but trivial ways around that.</comment>


Buckle Up, Intel Preps 8-Core Nehalem-EX Chips for March Launch - <AUTHOR> http://hothardware.com/News/Buckle-Up-Intel-Preps-8Core-NehalemEX-Chips-for-March-Launch/ <comment><USER2> I remember when 24 MB was a respectable size for a hard drive. Now we've got CPU caches that big. It's downright ridiculous.

<comment><USER3> CPU caches will soon be big enough, and flash fast enough, that there won't be any system RAM anymore. Your programs will basically run directly out of flash, and made performant thanks to huge CPU cache.

<comment><USER4> That's just not going to end up true for a general system. For some embedded systems that's a possibility, but the type of write wear system RAM gets is very different than the type of write wear hard drives get. A few people had visions of this, but any engineer who's run the numbers and looked at the trends in flash technology knows it's extremely unlikely that flash will replace RAM before it eats dust because of minimum theoretical densities.

STTRAM[1] might be capable of this when it comes online and in production, but it seems flash is unlikely to reach this point and STTRAM is still in development.

[1] <http://en.wikipedia.org/wiki/Spin_torque_transfer>

</comment></comment></comment><comment><USER5> I should start publishing this news, since my source seems faster and more reliable, though a little hard to understand. I get an email at least a few hours before the announcement that reads "Your new absolute-top-of-the-line- hardware has shipped. Tracking number YC23JK."

While I don't think it's technically illegal, I do find it strange that the manufacturers are allowed to collude to insure I personally overspend by at least 20% and never have top-of-the-line hardware for more than a month. I've come to accept that I'll never know how they picked me, but I'd still really like to know how they get my email passwords.

I think it'll work the other way too: A cheap way for hardware manufacturers to make their deadline is to ship me their current generation a couple weeks before they need to ship the next generation junk.

<comment><USER6> The canonical solution to this problem is not to buy absolute top-of-the-line hardware; it's seldom good value for money.

(Yeah, I know, sometimes you just gotta have the best. But still.)

<comment><USER7> I've generally found myself satisfied by looking at a price-performance graph and buying the processor just before the knee. Sure, I'd like more CPU, but up to now more memory and disk have been the better tradeoffs.

Especially memory: there are some things that just aren't practical when your working set gets too large (e.g. you start constantly paging), whereas a somewhat slower CPU just requires a bit of patience for what I do (which isn't number crunching or anything else that keeps my CPU pegged).

All that said, the next major machine I build should be in 2011-12 and I'm really looking forward to having bunch of cores with more cache than, say, the 16MB of RAM I bought in 1991 for my 486 Windows machine.

As it is now, wouldn't it be hard to buy "normal" CPU that doesn't have at least as much cache as the address space of a PDP-10 (18 bits of 36 bits words, or a megabyte of 9 bit bytes)? And cache has become the new RAM, RAM the new disk, and disk the new tape.

Wild times for someone who started out with punched card FORTRAN on an IBM 1130 (64KB max, more likely a lot less, 1-10 MB disk, probably closer to the former).

</comment></comment></comment><comment><USER4> Neat, but wow look at the bus on that thing! Is Intel still using a basic crossbar for an interconnect? When are they going to roll out their new interconnect technologies? (They clearly must be working on them... they know just as well as the rest of us do that the on-chip network they have now isn't going to scale.)

These appear to be still built on the old 45nm process. It should be interesting to see what the 32nm westmere shrink look like. (The ones out so far are mostly only dual cores. They plan to do the rest of the line later in the year...)

<comment><USER8> Actually, this is the first Intel chip with a ring bus.

<comment><USER4> Ah, interesting. I assume there's multiple rings though, one can't really be satisfied with a 1x-4x difference in contacting other cores? (Assuming bidirectional.)

Also rings still don't scale, so they're really going to have to get more clever. I wonder what the perf hit for the ring is going to be.

<comment><USER3> [http://www.theregister.co.uk/2009/11/16/sgi_altix_uv_preview...](http://www.theregister.co.uk/2009/11/16/sgi_altix_uv_preview/)

<comment><USER4> That's an off-chip interconnect, we're talking about on-chip interconnects. 8 cores is probably pushing the limits of Intel's current on-chip network.

One option is to move closer (but probably not actually adopt) something like a scalar operand network used on some of the tile architectures.

<comment><USER9> It depends on the data sharing and memory access patterns you want to support. For instance, the 16-32-core Larrabee has a ring bus. So do GPUs with many, many cores (<http://en.wikipedia.org/wiki/Radeon_R600#Memory_controllers>). What rings give up in terms of nonuniform point-to-point latency and diversity, they partially make up for in physical design simplicity. They are easily routed and verified, giving the circuit guys more time to go nuts on it and crank up the frequency more than you might be able to on a mesh, torus, or other more complex topology ( [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22....](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.1909&rep=rep1&type=pdf) ). You're quite right that they're not infinitely scalable though; Intel came out with two chips at ISSCC using 2D meshes ( [http://hothardware.com/News/Intel-Unveils-48Core- SingleChip-...](http://hothardware.com/News/Intel-Unveils-48Core-SingleChip- Cloud-Computer/) <http://www.theregister.co.uk/2010/01/28/isscc_chip_preview/> ) for the 48-64-core regime. They also used a mesh for their Polaris test chip a couple years ago ( [http://www.eetimes.com/news/latest/showArticle.jhtml?article...](http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=197004697) ). Beyond that, there is a ton of published work (network-on-chip, or NoC, is the keyword will help you find it) but not too many chips to prove or disprove their ideas.

For what it's worth, most of the many-core chips that do exist keep it fairly simple. Ambric's MPPA had a mesh with configurable routing (<http://www.nethra.us.com/technologies_mppa.php>), GPUs have a combination of pretty straightforward hierarchical interconnect and rings, and Azul's interconnect is a tree-like structure as well.

One thing to consider is that, while more complex topologies can buy you something in a supercomputer, give you more bisection bandwdith, and better support point to point communication, it has turned out to be pretty hard to actually write correct programs in that style (lots of arbitrary peer-to-peer communication); this partially motivates simpler interconnects, where the programmer can more easily reason about what's going on. Another concern is that topologies that work great in a server room (3D) are nigh-unroutable on a chip (2D). The wraparound links in a torus are a great example of this; Blue Gene/L used a torus to great effect ([http://www.google.com/url?sa=t&source=web&ct=res&...](http://www.google.com/url?sa=t&source=web&ct=res&cd=3&ved=0CBUQFjAC&url=https%3A%2F%2Fasc.llnl.gov%2Fcomputing_resources%2Fbluegenel%2Ftalks%2Fheidelberger.pdf&ei=p22WS9ysApTSNbyhqKgP&usg=AFQjCNGH- zFZu37JKAIQCY4KBdYrA-xabA&sig2=at2kAwIukcbbHFC2B3MjPA)), and the wraparound links drastically reduce worst-case and average point to point latency over a mesh, but those links mean giving up a large fraction of a metal layer on a chip, as opposed to a long cable in a machine room.

Also, I would hazard a guess that the workloads these chips are intended for are mostly multiprogrammed, not multithreaded; if they don't share much data, the network's bisection bandwidth is not as much of an issue as the off-chip bandwidth.

Regarding scalar operand networks as found in Raw/Tilera64: The specific idea (register-mapped networks) probably changes the programming model too much for Intel to adopt directly, but the Single-chip Cloud Computer (SCC) linked above, presented at ISSCC 2010, uses something sort of similar for message passing over their 2D mesh. The communication channels are memory-mapped rather than register-mapped, but the mechanism is similar.

<comment><USER4> Oh sure, you could do a ring bus and it'll scale for workloads that aren't the ones Intel targets for their CPUs. (General purpose, not vector, not SIMD, just straight-up random computations requesting all kinds of data from all kinds of places.)

I think they'll drop the rings soon. But it will keep them going until they figure out how to solve their interconnect problems.

I agree with you that the SON as on RAW/Tilera is unlikely to make the leap to Intel. I just hope they'll move towards that direction. Though clearly they may also chose to move in a completely different direction, but they will need a more sensible strategy than they've got now and I really doubt it's going to be rings for the type of straight up make no assumptions about your workload general computing Intel must be good at.

We don't agree that on-chip networks aren't important though. While right now no one's got a good programming model for these things, we're going to need one and there's likely going to be some data sharing involved, which means a good on-chip network is going to be a hell of a thing. Also I simply don't envision a cache architecture that makes sense that doesn't have a lot of unfortunate on-chip communication, and that needs to not be annoyingly NUMA. (Though it may have to be to some degree...)

I guess we'll find out. :)

And as an aside, thanks for taking the time to provide one of the more informative and responsive posts attached to this thread. I think HN could use more architecture folks.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The economics of virtualization certainly point to this being a hit. A 2U chassis with 64GB of RAM or so could easily replace half a rack of slower systems (add some flash drives to speed up IO if needed).

</comment><comment><USER11> I don't have a use for a car, but a quad-socket machine may be pretty fun in terms of those "let the computer search for answers over the weekend" type problems.....

<comment><USER12> If you do that just on the weekend that's an excellent use case for renting a bunch of boxes in the cloud. In fact, it's one of the few use cases for which the numbers really work out well.

</comment></comment><comment><USER13> I'd love to have a few of these babies to crunch for Rosetta@home.</comment>


Ask HN: Who's hiring outside US? - <AUTHOR>

Anyone willing to hire remote? <comment><USER2> No one :(</comment>


Sprinkl – The Next Generation Irrigation Controller - <AUTHOR> https://www.kickstarter.com/projects/sprinkl/sprinkl-the-next-generation-irrigation-controller

<comment><AUTHOR> It is shocking this hasn't been done before. It is a device that has screamed to be disrupted especially the difficulty with dealing with watering restrictions here in Texas.</comment>