Are musicians better language learners? - <AUTHOR> http://www.theguardian.com/education/2014/feb/27/musicians-better-language-learners?CMP=share_btn_fb <comment><USER3> Yes, there seems to be a massive obvious correlation here: people who are good at learning difficult skills over time (an instrument and musicianship) are good at learning difficult skills over time (a new language). I doubt there's any real link/cross-sharing between music and language here.

Some people enjoy investing time into something that they will be bad at for a very long time and then become good at, and some people hate it. If you went through that with music as a child, you're probably more likely to have the confidence to want to go through it again as an adult with a language, because you know that it's something you've done before successfully. Programming's in the same category.

<comment><USER4> Well, I did check into this as part of advanced study, and your doubts are misplaced - there is a real link/cross-sharing between music and language...because there's an observable link/cross-sharing between music and overall intellectual development. Here's a quick summary citing the study that I think I used in my own inquiry[1]:

 _Confirming the belief that the relationship between music and academic performance is positive, "researchers have found that music instruction actually enhances student achievement in areas outside music" (Kelstrom, 1998, para. 12). It is believed that "music develops critical thinking skills and improves skills in reading, writing, and math. Music develops and improves spatial intelligence, which transfers to high-level math and science. It develops perceptual skills necessary in many academic areas" (Kelstrom, 1998, para. 31-32). According to this study, music has a strong influence, because it produces and develops skills needed for many academic processes._

[1][http://www.kon.org/urc/v5/fujita.html](http://www.kon.org/urc/v5/fujita.html)

Personally, as both a musician, person who successfully learned a foreign language, and was, for a time, on a professional track to become a programmer, I can say that programming is very low on the totem pole. It is predominately mechanical in nature deriving from logic comprehension, compared to music, which is a highly expressive and dynamic format. Or, to put it another way, I've never seen a "collaborative jam session" in programming that wasn't anything but chaos, because the format simply doesn't allow for it. Programming is great to understand how machines work, but to build the machines, the mind should be expanded via music and the arts to enable practical creativity.

<comment><USER5> The only thing I subjectively see in the value of music is the lengthy amount of time that the formalism of it's language has survived. Otherwise I typically listen to the same songs on repeat until they have turned into a drone like noise for me to block out the rest of the noise in the world. Sometimes I do appreciate variation in music, and I have spent a lot of time devoted to studying classical music. But still, a particularly well known sonata might as well be a recursively constructed formalism of white noise to me, because that is how I remember the piece. It is beautiful in that regard, but I just do not consider myself educated enough in music to understand anything about it otherwise.

I find code and mathematics to be much more delicate, intricate, fundamental; to my own personal comprehension. I remember playing the piano a couple of times to think about how a computer might experience the progression of it's thoughts. The thing with creativity is it has no walls.

</comment></comment></comment><comment><USER6> Both my parents are/were (dad is retired now, mother still teaches) University German professors for over 40 years each. Both of them have claimed for years that they can spot the music majors in the first day of class just by noticing how much better at pronunciation they are than the other students. Neither of them have done anything serious with their observations beyond notice that their musician students are often far better in the language than the non- musicians. It's anecdotal for sure. But it's quite a lot of anecdotes, for whatever that's worth.

It's also worth pointing out that a better pronunciation from a set of students can skew the teacher's view of the students' actual abilities in the language. That is, two students could have roughly identical mechanics, vocabulary, etc., but the student with better pronunciation will be perceived as having a better grasp of the language. You can argue that the way the words sound is a part of the language, so this isn't really a skew. But you get my point. On paper, they are the same; in speech one comes across as better.

<comment><USER7> > they can spot the music majors in the first day of class just by noticing > how much better at pronunciation they are than the other students

It makes sense. I can see at least two explanations. First musicians are used to listening to sounds in order to reproduce them accurately. Second, less obvious reason, is that they are less shy to "perform". Maybe I'm wrong and generalizing my own case, but I think that sometimes people are just too shy to work on their accent. As kids, we used to make fun of those that were trying to have a correct accent.

<comment><USER8> It always blows my mind to listen to songs from my childhood, which was before I learnt to play music. When I was a kid I was effectively tone deaf– didn't recognize pitches, harmonies, bass, etc. Now I hear the nuances, and it's interesting to look at old things with sharper eyes. Makes sense that it would affect language skills.

</comment></comment></comment><comment><USER9> This is a specific case which is part of a broader fundamental principle. This principle might sound reduntant, and it's basically that "people who learn how to learn are better learners".

Learning how to play a musical instrument is something that never permeated our general culture as much as it should've had, which implies that doing so requires the acquisition of -in some level- unconventional skills.

This ability to acquire unconventional skills can be extrapolated to any other area of knowledge. For example in my case, the shift was from music to CS.

EDIT: BTW, I speak 3 languages.

</comment><comment><USER10> Looking at my own history, it makes sense. As a kindergartner, I was playing a toy organ with play-by-number song books, and later in grade school I played clarinet. Big mistake: quitting in eight grade. As a side note, whenever I looked up words in the dictionary, I always paid attention to the etymology as well as the definition.

The only subject that I aced in college was Spanish, and the teacher was very good (and a native speaker), but not easy. We started Spanish 101 with 30 students, and ended Spanish 104 with just seven.

Now, 30+ years later, it's a bit rusty, but I can still read it pretty well, and can sort-of understand written Portuguese as well. I can drive down Collins St. in Joliet and easily read the signs on the businesses.

But wait, there's more! One Sunday, in 1993, I walked down to a neighborhood church that I had never visited before, and sat down, as it turned out, behind the music director. She heard me singing the hymns, and asked me immediately after the service if I'd be interested in joining the choir. Then, the next week, the handbell choir was playing, and I was hooked -- I ended up joining both.

More recently, I joined a community chorus that sings a wide range of pieces, and a great many of the old masterworks are not in English. I've found that I could pretty readily pick up pronunciation for a variety of languages, and even though I've never taken German lessons, I can almost figure out what's being sung in Bach or Mozart works -- and when I read an English translation, the relationships between English and German almost jump off the page for me. I still wouldn't be able to put together a coherent sentence in German, though.

If I had the time and money, I'd consider taking German, and maybe even Russian (I taught myself the Cyrillic alphabet at one point, so the alphabet would be the least of my problems).

<comment><USER11> > Now, 30+ years later, it's a bit rusty, but I can still read it pretty well, > and can sort-of understand written Portuguese as well.

I don't want to be picky. But I would not attribute your ability to read Portuguese to your musical background, but to your Spanish. My experience is that most Spanish speakers can read Portuguese to a certain degree and vice- versa. Never having studied French, I was able to read some child comics.

<comment><USER12> This is true. I'm Portuguese and I can read full texts (even books) and I never had a course, or even a lesson, of Spanish.

I can understand Italian at some degree as well, due to the same reason.

</comment></comment></comment><comment><USER13> If you want a subjective, personal view as anecdotal evidence on this:

music IS another language.

There are regional variations (Western vs oriental) with their own phonetics (scales...) and grammars (rules of harmony, chord progressions). Not to mention that quite a few musicians describe it as a means to express themselves.

Reading sheet music is not much different from reading in a different alphabet, music theory is the equivalent of grammar study, and BTW playing by ear is pretty much like the natural language acquisition (the way kids pick up their mother tongue).

You'd be surprised how many parallels both in the nature and in the learning process you'll find. Learning music is like learning another language [Source: I'm a multilingual who just started learning to play piano as an adult.]

EDIT: formatting

<comment><USER14> Yeah, music is another style of communication.

The industrialisation of music has destroyed a really joyful way for people to express themselves and to communicate with people around them.

When musical literacy is lacking in a person it is truly sad. I read somewhere musical illiteracy is around 95% of the USA now. Which is a pretty good market for people who have to buy all their music! When you combine this with no knowledge of food preparation, and no knowledge of the environment, it makes for a pretty poor existence IMHO.

Oh well :(

<comment><USER15> > When musical literacy is lacking in a person it is truly sad.

As a member of the musically illiterate, I ask why?

From my perspective, it feels like being musically illiterate is like being unskilled in the ceramic arts (which I also am). It's absolutely true that I cannot make music of my own and would be forced to buy all my music. It's also true that I cannot make porcelain figurines of my own and have to buy all of those as well. My inexpensive solution has been to simply not own any porcelain figurines or music.

Honestly, between the two, I'd be more interested in learning the ceramic arts at the moment. Not that I really need figurines, but it sounds like more fun and I have some ideas for bathroom fittings. Why should I learn music instead?

I'm probably coming off as a bit abrasive and I apologize for that. People have been making music for thousands of years, so there's obviously something neat going on there that I'm missing.

<comment><USER16> Why don't you just try both?

</comment></comment></comment></comment><comment><USER17> As a professional musician, classicaly trained, who just recently (I wasted a lot of time living in terminal and emacs while playing with linux distros) started learning programming from ground up I find Lisp, S-expressions and more functional approach attractive and comparable to music composition. If we take for example Bach fugues of Beethoven Sonatas we can see functional approach of may I say multiparadigm: development of motives, objects, augmentation, expanding themes(functions) that contain smaller themes (closures) etc.. The beauty and magic of SICP lectures and their may I say musical approach to composing higher abstractions is just plain better than pure python or javascript tutorials that I tried learning from. Not to mention amazing talks and writings from Alan Kay, Guy Steele, Pg, Norvig and other hackers who for me define the essence of hacking and programming. The whole point of writing lisp in itself is like some strange Bach or Mozart read/eval loop that never stops. I am far from being an average user of lisp but I keep doing it day and night. It is not easy though. The only sad thing is so many people dismiss lisp and I see finding a job will also not be an easy thing. By the way I am open for internships in some lisp shops, I would work for free. I dont know how much I can contribute but I could at least clean extra parentheses (thats a joke! :)))

</comment><comment><USER18> This doesn't match my personal experience. I learned music at five and have been an active musician all my life, but languages have always bee hard for me.

I believe that music is much more related to computer languages - <USER2> instructional notations as opposed to natural languages.

<comment><USER19> I'm not down with your link between music and computer languages.

Music is performative while what makes success with computer languages is the ability to juggle abstractions at different levels of zoom. I don't see an overlap there other than the nominal "they are both langauges".

<comment><USER18> I think there's a disconnect in our statements. By music, you seem to refer to the artistic, creative, performance oriented activity. My reference, as I thought TFA was about, was to the notational aspect of written music. Listen to Bach if you want an example of "juggling abstractions at different levels of zoom".

</comment></comment></comment><comment><USER20> My experience tells me that there are no correlation between these variables: one of my best friends is a great musician (pianist) and is terrible with foreign languages despite having had several language courses.

IMHO, would make more sense to rephrase it as:

 _Are singers better language learners?_

<comment><USER21> I think it depends what 'great' means and how he learned. I'm a self-taught (by ear, by eyes, barely no "theory"[1]) failed musician, therefore not great, but after years of failed intuitions on what was and how to make music, I had moments where I felt the grace of being 'on' the music.

That taught me a few things:

      - Sometimes there are things that were completely invisible to you.
      - These things looked complex and painful, in reality they aren't.
      - The right approach was too foreign for your (my) brain.
      - Years of failing aren't waste, you learn patience and faith (yes faith).
      - It is often summarized as `make haste slowly`
      - Learning another weird thing won't ever be the same

[1] Music theory is a notation for experiences, don't learn theory until you felt what is described carnally a little. Beside they're only restricted abstractions. I knew chord progressions, modes, counterpoint, yet it wasn't until a day where my mind and ears just clicked that all these ideas suddenly became obvious, the symbols mapped my feelings one to one and understanding/remembering them was free.

<comment><USER20> Apparently music is maths, but despite being confortable in maths and reading the music notation, I'm terrible playing the piano.

Another thing that doesn't make sense to me is that my friend has a terrible memory: somebody says something to him today, tomorrow he will not remember (unless is something that he "feels" somehow). By the other hand, if it is music, he remembers/plays it after listening just once sometimes even years later.

<comment><USER21> Music is just maths, but so far I've never ran into the correct formula. Progressions, rubato, ... I don't know a lot, but none explained to me why some movements felt good and others didn't.

Music notation is mostly wrong to me, it doesn't explain a lot. You learn more by trying to do anything offbeat. It breaks the notion of time. Same for harmony, most of the beauty in music comes from slippery progressions that aren't transcribe on the score.

From my experience, the sensation of beauty in music has more to do with physic notions like momentum, and complex rotations more than well tampered scales. That's why no amount of theory will make you a good player, because then it's about feeling the physics, the subtlety, the sensitivity, inertia, acceleration...

And you last point just resonates a lot to my previous comment. Music ain't that complicated, that's why when you see it correctly, the complexity fades away and you can remember an apparent "whole lot" easily. It's a very abstract function thus tiny, something you either get, or learn through years of deep listening.

ps: that's the programmer speaking obviously, but I cannot help but to see a strong resemblance between asm - higher level programming languages, music theory - actual music understanding. A few combinators in Haskell, or APL get you to express vast amount of logic, that would take pages to write down in assembly (or a score ;).

<comment><USER22> As a wannabe musician and beginner jazz player, I feel music is explained all wrong. Unfortunately there's a lot of baggage from older eras where music wasn't well understood and was mostly a collection of heuristics. The fact that harmony understanding is usually explained in a chronological fashion probably doesn't help.

The problem (and I guess you know this already) is that although music is analyzable with math, how we experience music isn't entirely formalizable.

Music _isn 't_ math, just like physics _isn 't_ math. Math is just the tool we use to formalize and study them.

> Music notation is mostly wrong to me, it doesn't explain a lot.

Just like words don't explain a lot by themselves: their relationships with each other, the whole text, and your tacit knowledge and reasoning do explain far more.

Take this chord chart (excerpt from a jazz tune):

        C6 | F7 F#º7 | C6/G F9 | Em7 A7

It doesn't explain anything itself, but with a bit of analysis (and tacit knowledge) you can see patterns. E.g., there's a voice which goes in chromatic ascension and then is held (hinted by the C6 with a G bass and the explicit 9th in F9):

        C-[E]-G-A                   |
        [F]-A#-C-Eb  [F#]-A#-C-Eb   |
        C-E-[G]-A    F-A#-C-Eb-[G]  |
        E-[G]-B-D    A-C-E-[G]

Or only the ascending voice:

        E | F F# | G G | G G

But it can also be seen (and interpreted) as a purely ascending voice (though not chromatic):

        E | F F# | G A# | B C  (though I'm not convinced with that G to A# gap)

That line is found in the chord chart too (check it yourself). Which one is correct? None. And both. And there are many more hidden.

It isn't obvious, but those relationships are there, and they're important, and you're supposed to be able to see them with your tacit knowledge (and highlight any of them in your playing _if you want to_!).

Of course it could be explicitly remarked and it sometimes is, specially in classical music or when the composer wants to highlight it himself. But then you lose a lot of what's jazz, like how different people view the same standard and express the subtleties as _their_ music.

Also, there are so many hidden subtleties that the small chord chart would explode into a huge collection of remarks and explanations (imagine explaining what each word in a story means!) and those would probably differ depending on who did the analysis (like what exactly metaphors and allegories mean in text).

And that's why you've never found the correct formula: there isn't. If Einstein would've sworn by classical mechanics formulas, we would've never had relativity. Knowing those formulas is good though: each of them strengthen your understanding little by little. Einstein wouldn't have come up with relativity without classical mechanics.

The beauty here is that those relationships work because notes are just multiples of each other. Why do C and C# sound "awful" (unless you intend them to sound like that) played together while C and E (a major 3rd) sound beautiful? Because of their interference pattern:

C+C#: [http://www.wolframalpha.com/input/?i=%28sin%28261.63*x%29+%2...](http://www.wolframalpha.com/input/?i=%28sin%28261.63*x%29+%2B+sin%28277.18*x%29%29+from+x%3D0+to+0.5)

C+E: [http://www.wolframalpha.com/input/?i=%28sin%28261.63*x%29+%2...](http://www.wolframalpha.com/input/?i=%28sin%28261.63*x%29+%2B+sin%28329.63*x%29%29+from+x%3D0+to+0.5)

Is this math? Yes. Is your brain doing the math? Nope. But the math explains why your brain likes C+E more: their interference pattern is less chaotic (i.e. more harmonic) in the short term. Also, C+C# generates a weird long-term beat frequency[1]. Of course this doesn't explain the cognitive part (why does my brain like harmonic interferences?) but you get my point.

Do players/composers think about these interference patterns? Nope, because they use music notation, which highlights their properties without the burden of interpreting the sound wave frequencies. I can instantly recognize a major 3rd in C+E, not so much in sin(261.63 * t) + sin(329.63 * t).

The musical staff seems weird but it is comfortable too: chords formed with stacked thirds (the classic way of making chords) will always have their notes either on lines or spaces but not both, regardless of whether the thirds are major or minor. The oddball (like a chord with a 9th) really stands out. It also makes it easy to see if a chord is major or minor: three consecutive stacked thirds with a D bass and a # on the second third will be D major (D is minor in the key of C, thus why its second third has to be raised).

Sorry for the rambling :P This is what happens to my brain on music.

[1] [http://en.wikipedia.org/wiki/Beat_%28acoustics%29](http://en.wikipedia.org/wiki/Beat_%28acoustics%29)

\----

Did you study jazz theory? Something tells me you'd love it, and breaking with pre-jazz analysis definitely expanded my horizons. I'm slowly learning it (self-teaching jazz isn't easy, 2 years already and I still feel like a beginner) but it's definitely rewarding.

Here's some theory to get started if you're interested, both classical and jazz:

[http://www.musictheory.net/](http://www.musictheory.net/)

[http://www.cs.uml.edu/~stu/JazzTheory.pdf](http://www.cs.uml.edu/~stu/JazzTheory.pdf)

<comment><USER21> IMO breaking chords into moving lines (~counterpoint) is already a better start (and I've seen other guys saying that's how they digested harmony) than learning names, modes and such. It's a constructivist way to teach. Start with a line, then ask the person to harmonize over it. Name don't matter until this is fixed in your head.

Yes there's probably a strong relationship between frequencies ratios. Simple ones (3rd, 5th) are good to anybody, but you love jazz, don't tell me you don't get high on 13th and dissonant bits too. With time I started to enjoy following subtle and non trivial melody lines in harmonies (gospel tunes are full of it, fusion also, jazz obviously).

And that's just harmony. What about rhythm ? and grooves ? How do you write funk or swing on a score ? AFAIK it's not except by a little side comment; even though this tells you more about rhythm than anything else.

People measured relationship between notes, but I've never seen it done to 'beats'. I have a feeling that there's also ratios hidden in sequences of strokes that make or break a groove. Placing an almost unheard dead notes at an odd time before a strong beat will change the feeling so much. Counterpoint, for rhythm.

<comment><USER22> > IMO breaking chords into moving lines (~counterpoint) is already a better > start

Jazz kinda breaks the deal, I found counterpoint a mooter-point (hehe) in jazz. There is so much freedom you'd have to analyze each performance individually. Even in the same recording of a song, two identical sections' counterpoint can vary wildly (or not have counterpoint at all!) Parallel fifths/octaves are a no-no in classical music (they break the counterpoint) while they're liberally used in jazz.

You can't even canonically analyze a chord chart. Is that C6 a C6 or an Amin7? (exactly the same notes: C E G A) It's both and it depends on the composer/performer and which one they want to emphasize.

What I mean is, chord charts are mostly a way to print standards in books :P Just like the word tree isn't a tree, a C6 _isn 't_ a C6.

> What about rhythm ? and grooves ? How do you write funk or swing on a score > ?

Definitely a great point.

That's traditionally been left to the performer, even in classical music. Jazz brought that freedom to melody and harmony too.

Coincidentally, just yesterday I saw some discussion about it in a jazz forum, some good points there: [http://www.jazzguitar.be/forum/theory/38021-why- there-more-b...](http://www.jazzguitar.be/forum/theory/38021-why-there-more- books-scales-modes-than-timing-feel.html)

> People measured relationship between notes, but I've never seen it done to > 'beats'.

It's been done and is pervasive in traditional music theory (not so much in pop music). E.g. syncopation is a formal relationship between beats, or ornaments ([http://en.wikipedia.org/wiki/Ornament_%28music%29](http://en.wikipedia.org/wiki/Ornament_%28music%29)), or even pulses, beats and bars (which are just a take on rhythm formalization).

There have been efforts to accurately transcribe rhythm and feel, but it mostly gets in the way (e.g. the comments here about swing transcription [http://en.wikipedia.org/wiki/Swing_(jazz_performance_style)#...](http://en.wikipedia.org/wiki/Swing_\(jazz_performance_style\)#Transcription)). Rhythm seems to be more innate, while note relationships are easier to hear than to produce. If you got rhythm, you can tap swing feel so a side note should be enough (and allows for personal feel, just like tempo wasn't transcribed as BPMs and they used allegro, grave, moderato...) Improvising/transcribing melody/harmony isn't that easy though (I attribute it mostly due to the available variety compared to rhythm.) I guess that's why pop/rock songs transcribe notes/chords but rhythm is usually left as an exercise.

I personally like it the artsy-jazz way: do whatever you feel sounds good and express yourself through music. Theory is cool, but ear is king.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> From personal experience/observation. I have zero musical talent, my wife gives me a hard time for not being able to hold a beat by simply tapping the table. However, I can pick-up foreign languages with relative ease. I have never become fluent any foreign language, but have been able to read/conversant in Turkish, Russian, Italian, French and Spanish. I will admit East Asian languages are extremely difficult reference their tonal aspects; I have a hard time understanding/speaking those types of languages.

</comment><comment><USER24> Yes, if you are good at singing in various styles. Singing in various styles teach a few things about voice quality and tunes.

1\. Every language has its voice quality. So, learning phonemes alone does not help us one to acquire a new accent or language. Voice qualities vary within a language itself: compare the southern accents, midwestern accents, New York accent, British accents. Yes, there are phonemic differences between accents within a language: but there is a change in the voice quality.

2\. Academic research about the voice quality in languages have not reached beyond what John Laver had said (check his phonetic description of voice quality). And of coure, IPA has incorporated some symbols like 'breathy voice', etc, which you can see in the extended IPA. To me, voice quality should be the first thing one shud master before getting into phonemes, lexical stress, intonational stress, etc.

Academics are too busy with their instrumental (acoustic) phonetics. Even majority of phoneticians are just into instrumental phonetics. Ian Catford, a great phonetician, advised students of linguistics in general to master how to use their vocal apparatus.

3\. Joe Estill, an opera singer turned a voice teacher, did a great research on how to train anyone to sing. Her focus is on how to acquire voice quality. She calls such steps as 'figures'. They are like thin voice, thick voice, breathy voice; then adding other combinations to them: high larynx, low larynx, Aryepiglottic sphincter, etc. Such skills help a singer to sing in various styles. Even if you want to do pitch match properly, you should do it in a thin voice (not with the speaking voice, which is thick voice for Americans, kinda semi-thick(breathy) for Indians in the south Asia, etc.

4\. There is another thing singers and instrument players are good at: how to remember tunes. Even though speech is not like a song, you can find possible tunes of a language. In linguistics, it is called "intonational phrase". So, one does not need to master phonemes of a target language in order to imitate the tune units (tunits or intonational phrase) of any language. How many language training materials teach this?

Most, if not all, language training materials subordinate the voice quality and the tunits to phonemes and lexical stress/lexical tone. Whereever they touch about tunits, they spend 4 pages on the intonation of the target language.

</comment><comment><USER25> But this be fixed by taking sodium valproate?

[https://news.ycombinator.com/item?id=6973842](https://news.ycombinator.com/item?id=6973842)</comment>


The trickiest bug I've encountered - <AUTHOR> http://mokafive.tumblr.com/post/41912162643/the-case-of-the-mystery-data-blocks <comment><USER2> Sounds vaguely similar to the trickiest bug I ever had (and the first really hard bug I ever dealt with on my own). Mine was in AIX 3.2.5, circa 1995. We were buffering a latency-prone data stream between read and write processes using shared memory buffers. The original design used shmat(), which was limited to three buffers total on AIX. I rewrote the buffering using mmap() to create memory-mapped anonymous file buffers - the number was effectively unlimited and could be tuned via configuration. Around 100 buffers gave optimum performance, with a 300%+ throughput improvement in real-world conditions - a huge win on a huge problem!

Then it blew up in production. Like hard crashes shortly after starting. Upon investigation, I found that entire pages of mapped memory were being overwritten with nulls, more or less randomly (4096 bytes at a time).

Turned out the bug was in mmap() due to the _order_ patches were applied on various servers. The dev/qa servers were patched at different times than the production servers. That, that was hairy. And for a junior programmer to have to explain this to the tech leads and IBM support - I don't even know how many times I heard variants on "What's wrong with your code, really? mmap() isn't buggy!"

Ah, the 1990s. No Stack Overflow. No ssl (not even http). We did network programming by wrapping raw sockets in C and writing stream parsers in lex and yacc. Kids these days, they don't know hacking!

<comment><USER3> I once #defined strlen to return a short. This was in the days of the 16-bit to 32-bit transition on Windows, and I was running a project to eliminate spurious warnings from our code. There were several hundred places where the return value of strlen was being assigned to a short, every one of which created a warning.

I was a senior developer but it was my first commerical job--I'd been in academia previously. I ran the change by the the most senior technical people in the company, all the way up to the guy who'd written the original application as employee #1. He OK'd it because, as he said, "strlen returns as short on the Mac anyway, and since our code runs on Mac as well as Windows it's a limitation we have to respect anyways."

A few years later the company stopped supporting the Mac.

A few years after that (and well after I'd left the company) one user site started getting crashes. I heard later that it took four senior devs a week to track down the cause, and much head-scratching because strlen was documented to return an int. They eventually found my #define, along with a comment that this eliminated so-many hundred warnings in the build, and that the change had been approved by the most senior people (I wasn't totally naive).

It turned out the problem at the specific site having the issue was users putting the entire contents of files into what amounted to tool-tips. It was totally unexpected user behaviour, but they'd found a place they could cache some useful data and we let them do it, so it should have worked.

Today I'd write a script that auto-edited all the cases where the problem occured, and regression test the hell out of it, but yeah: the '90's were a different time!

<comment><USER4> I'd just like to point out that at least in the draft C89 standard ([http://port70.net/~nsz/c/c89/c89-draft.html#22.214.171.124](http://port70.net/~nsz/c/c89/c89-draft.html#126.96.36.199)), strlen() had the same prototype as it has today: in other words it returns _size_t_. Not int.

</comment></comment></comment><comment><USER5> In my day job, I have to write reams of complicated code that can slow down the system or make maintenance more annoying...just because a user _can_ do something (even though doing that is unsupported).

That's what it means to write business-class software. Nobody worth having as a customer is going to build their business on your platform if your attitude whenever something goes wrong is "you shouldn't have been doing that in the first place".

(I am surprised to hear this story though. I actually found a bug in the NTFS buffer cache a few years ago which was introduced in (as I recall) Windows Server 2012. Maybe the Server organization are way more on the ball than the consumer OS organization, which is definitely possible. But they took it seriously and fixed it in a patch.)

<comment><USER6> > Nobody worth having as a customer is going to build their business on your > platform if your attitude whenever something goes wrong is "you shouldn't > have been doing that in the first place".

My favorite set of APIs is AWS. You know why? Because they've realized they hold two very weighty sticks that they can use when designing, and they've put them in place all over.

1\. They can make any arbitrary message to the API _cost the user money_ every time they send it, to disincentivize using that part of the API thoughtlessly. That's whether or not they expect this to be an actual revenue stream at the rates people are charged for reasonable usage.

2\. They can put a "soft cap" on any arbitrary resource, so that you have to phone them and get the cap raised if you want more than [some reasonable number] of something. This likewise disincentivizes bad designs that use a nigh-infinite number of costly somethings to accomplish tasks that could be just as easily accomplished some more idiomatic, less costly way.

AWS doesn't _prevent_ you from doing stupid things... but it makes you really not want to. I love it.

<comment><USER7> Have you ever tried to setup AWS IAM permissions for a user pursuant to the principle of least privilege? Because Amazon's APIs are about as far from friendly as you can get in this respect.

Their docs make it easy to make the mistake of thinking that fine-grained controls are available for most things, but when it comes to really important things like being able to segregate a production and Dev VPC, their APIs basically force you to grant permissions to everything or nothing.

Some examples of things I've hit: Not being able to restrict a user to only change a specific routing table Not being able to restrict a user to only change a specific elastic NIC

I'm consistently surprised at what's missing from their API and couldn't disagree more about being happy with it.

<comment><USER6> These things _are_ possible... but this gets at another aspect of AWS's design in particular.

I do a lot of my AWS work in CloudFormation. When I hit a wall, the answer is pretty much always to stand up an EC2 instance that can speak SNS, grant it larger-than-necessary permissions to my VPC, teach CloudFormation about it as a custom resource type, and have it serve as a proxy for the not-configurable- enough resource, allowing it to assert its own policy and make third-party calls before making the real callback into your VPC [or not.] It's the AWS equivalent of writing a factory method to wrap a badly-written constructor.

To generalize that thought: IAM "users" are made to either be people (e.g. your developers, your ops people), or representative tokens for entire third- party organizations (e.g. a CI bot.) Despite the existence of IAM roles, IAM isn't really made to assert "machine-agent"-granular permissions.

Instead, what you really want is to imagine a third-party service running in the AWS cloud that does exactly what you want. You would grant that third- party's IAM user overly-wide permission to play with your VPC, but trust it to only do what it should, because, obviously, you have a business relationship and it would be dumb of them to abuse it.

As soon as you can see what API needs to exist, you can turn around and _become_ that very same imaginary third-party: make a separate AWS account, stand up an API server in it that takes requests to do what your "clients" want, and then, in turn, make requests to the AWS APIs on their behalf to accomplish those things.

AWS isn't a high-level framework; it's a kit of low-level tools. (This is really what the PaaS vs IaaS distinction implies, I think.) AWS is built assuming that you're willing and able to take their tools and pipe/script them together to build the higher-level components you need. And, since AWS is for web services, that assumption comes in the form of expecting you to be able to pipe, hook, or wrap any of their APIs to/with/in your own API.

</comment></comment></comment></comment><comment><USER8> When a dev goes "why would anyone do that?!?" you know you are in for a bad day...

<comment><USER9> When it's the QA manager saying it, leave.

</comment></comment><comment><USER10> Getting Microsoft to fix bugs is _hard._ We had a bug in the .Net runtime. Took _ages_ to reach even agreement on the memory dumps: probably because bugs in the .Net runtime are like unicorns, even I had a level of disbelief that .Net was to blame.

Once you prove it, it's completely free. Ultimately memory dumps are the way to go when it comes to MSFT bug reports, if you can catch their bug red-handed and snap it to disk things go real smooth.

<comment><USER11> Yeah, I found a great one in .net. If you used HttpWebRequest to fetch a url that had an invalid GZIP header the app would hard crash. This is because the request and decompression was being handled on a threadpool thread. An exception would be thrown and no one would be around to catch. Fortunately this was in a web crawler so it took quite a while to build a repro case and an exact diagnoses. I believe it was fixed 4 or 5 years after I reported it in 2008.

</comment></comment><comment><USER12> To me, stuff like this is a powerful argument for using open-source software (or at least software which _you_ can access the source for), whenever possible. When things go very wrong, at least you can dig into the source code and try to fix it.

<comment><USER13> It's certainly an argument for having source access. For OS / "platform" level bugs it's no panacea however - you may very well need to keep your workaround, either because you can't rely on end users upgrading to the latest version, or simply need a stopgap until you finish the patch, submit the patch upstream, address all the issues brought up in the review, have it integrated into the next stable release, have it trickle downstream into the stable releases of individual distros, etc etc etc...

</comment></comment><comment><USER14> Ahhh, the fun with caching in the file system. Incidentally one of trickiest bugs I encountered also had to do with the Windows Cache Manager.

It was the interaction between the Cache Manager and the Memory Manager in managing the rare transient state ModifiedNoWrite of the cache pages when dealing with reentry IO read requests. The cache page status became Modified when its content was filled in from disk, but it's marked as NoWrite to avoid being flushed out by the Memory Manager. The physical page backing the cache page can't be reused since it's dirty (Modified) but the Memory Manager can't flush it out (NoWrite). Slowly over time as more pages are read, the system would run out of physical pages.

The Cache Manager was supposed to change the cache page status back to Standby after the read returned from lower layer. But with reentry IO read requests, it won't do it when upper layer IO request buffer passed straight down. The work around was to allocate a separate buffer to interact with the Cache Manager and copied the content back to the upper layer IO request buffer, incurring an extra copy.

At the end I intimately knew about the Windows Cache Manager and Memory Manager more than I needed to know.

</comment><comment><USER15> How about fixing the white-text-on-a-pale background bug while you're at it?

</comment><comment><USER16> The experience of dealing with Microsoft's support sounds exactly the same as what I had to deal with. In my situation there was no workaround possible short of rebooting the system (it was a kernel resource leak), so after spending 3 months iterating through different ways to reproduce the problem (including "we don't support Windows on VMWare, after asking me to send them a VM image to reproduce the problem), going through 3 levels of support, I got to the people who were able to get me a fix. Alas, it was a private patch which was only available upon request, which didn't help much as I was working for an ISV.

</comment><comment><USER17> Am I correct in believing that from a high-level view, this NTFS error resembles the ext4 bug currently on the front page?

[https://news.ycombinator.com/item?id=9576917](https://news.ycombinator.com/item?id=9576917)

Edit: That must be why this post from 2013 (update the title!) discussing an issue fixed in 2011 hit the front page...

<comment><USER18> Similar, but the NTFS one was worse in that it was potentially a security vulnerability, since the corrupted data that _it_ wrote inappropriately into the middle of files came from elsewhere in the filesystem, rather than zeroes.

(Software is hard and often buggy, filesystems included. Check your backups! Even if your filesystem is perfect, I spilled water on my laptop yesterday, and you could, too.)

<comment><USER19> If data isn't backed up, it doesn't exist. If it's not backed up offsite, it's not backed up. These are words to live or die by.

I don't think it's likely that I'll spill water on your laptop, though.

<comment><USER20> 3) if you haven't successfully tried to restore it, it's not backed up.

As the old saying goes, nobody cares about backups — people care only about restores.

<comment><USER21> Yeah, I like to extend this out and make it generic like this:

If you don't test it, how do you know?

For example, one person told me he can't understand antivirus software and why people buy it, because he never got a virus. I asked him "how do you know you didn't get a virus?". He just looked at me, not saying a word. I hope my point got across though. If you aren't checking, you don't know. Same could be said about hacking these days. You secure your system, that's good, but if you don't have something to detect hackers, you are the same as the guy without antivirus and the guy without tested backups. You just have no idea whether or not you are protected.

<comment><USER22> Though to be fair, the people telling me that I might have a virus are the people who want me to give them money.

"How do you know you didn't get a virus?"

I don't. But it's not epistemically clean to let other people set your priors for things like risk, if they have a financial interest in making you worry.

</comment></comment></comment></comment></comment></comment><comment><USER23> When you reported the bug did you include a repro? I would appreciate it if someone could post it here.

To be specific, I wanted to know the specific conditions the article talks about under which this causes an issue. Flush will cause writes (obviously) so issuing writes to a file which is pending a flush is an interesting scenario.

<comment><USER24> >> We reported the bug to Microsoft and included a short program that easily reproduced the issue.

Now we just need a copy of it.

</comment></comment><comment><USER25> Ah, reminds me of a Windows bug that I chased in Win2000 Server. (For all I know it might still be there - I've stopped writing Windows code in 2007).

When you wrote to a file (using WriteFile or fwrite()), it first extended the file length, and then committed the buffer. This is supposed to be atomic - that is, you should never be able to see the length already extended but the data not yet there. And it apparently was atomic if both reads and writes came from the local machine, or both came from the network - however, if the write was on the local machine but the read was from the network, locking was missing, and it WAS possible to read zeros instead of the real data (but only because of a race condition - reading the same file again later would give the expected answer)

Tried to get Microsoft to at least confirm this bug, to no avail - there was no one interested in talking to a lone freelance developer back then.

</comment><comment><USER26> I think the trickiest bug that I heard of was USAF F22 jets losing all computer systems (navigation, communication etc etc) as it crossed date line while flying to Hawaii for the first deployment on the island.

The flight of 4 jets were able to return to US mainland only because the accompanying tanker was able to guide them back.

</comment><comment><USER27> Yeah, well Microsoft never managed to find why Liberation fonts caused a BSOD:

[https://news.ycombinator.com/item?id=5468390](https://news.ycombinator.com/item?id=5468390)

</comment><comment><USER28> In retrospect, I wonder if there was a better way to report that bug. Clearly the first person didn't get it, at all.

<comment><USER29> Public disclosure as a security bug (information leak)?

</comment></comment><comment><USER30> I love the blog design

<comment><USER31> I hate it, skinny text, low contrast, non-consistent background. It's everything wrong with modern web design. If, say, as you scrolled down the gradient went away, I'd be fine with it, but since it's fixed it's distracting.

<comment><USER32> Agreed! I genuinely wanted to read the article but found myself squinting just to try read the text on that awful background. It was excruciating so I just gave up.

</comment></comment></comment><comment><USER33> I might agree with at least one thing the MS guy said. I really do not trust the OS so I would be zeroing out memory. That is me, I am an un-trusting soul.

<comment><USER34> >I really do not trust the OS so I would be zeroing out memory.

If you don't trust the OS, don't use it. If you use it, you're giving it access to all your files, full stop.

<comment><USER35> Sound simple but reality is much different. What if the intended users of your software use it?

<comment><USER34> Anyone using your software on a system they don't trust should have no expectation of the data being safe.</comment></comment></comment></comment>


Why Health Care Costs Exploded After World War II - <AUTHOR> https://mises.org/blog/why-health-care-costs-exploded-after-world-war-ii <comment><USER2> The alternative theory is that modern medicine was born around the time of World War II. That was the time when the pharmaceutical industry really took off and, for the first time in human history, permitted physicians to treat disease.

Before that, with the notable exception of surgery, they could only give a prognosis and hope for the best. Now they can prescribe pills that do work. There was a reason that Hitler promoted homoeopathy and all sorts of natural healing stuff - he could claim his Germanic naturopaths did not perform worse than the (traditionally Jewish) medical faculties of the time. [1]

[1] Before anyone throws about accusations of antisemitism - this is the thesis that Viktor Klemperer makes in this "Lingua Tertii Imperii". It's recommended reading about the insanity of Nazi Germany.

<comment><USER3> Interestingly, Viktor (Victor?) had doctors in his family, such as Georg Klemperer (see [https://translate.google.com/translate?hl=en&sl=de&u=https:/...](https://translate.google.com/translate?hl=en&sl=de&u=https://de.wikipedia.org/wiki/Georg_Klemperer&prev=search)): [He] was a German internist. ... [He was] a son of the Reform rabbi Wilhelm Klemperer and had seven siblings, four sisters and three brothers. His brothers were the writer and literary scholar Victor Klemperer , the physician Felix Klemperer and the lawyer Berthold Klemperer (1871-1931). The conductor Otto Klemperer (1885-1973) was his cousin.

As to Viktor or Victor, this makes me think its the same person: [https://translate.googleusercontent.com/translate_c?depth=1&...](https://translate.googleusercontent.com/translate_c?depth=1&hl=en&prev=search&rurl=translate.google.com&sl=de&u=https://de.wikipedia.org/wiki/Victor_Klemperer&usg=ALkJrhiShmqv93XzDsblN4XoVbTa_MGTRA) . The article there mentions his treatise LTI - notebook of a philologist (LINGUA Tertii Imperii: Language of the Third Reich).

</comment></comment><comment><USER4> The money quote:

 _What were the real reasons for the return of medical price inflation?

A: Undoubtedly, moral hazard.... There are two aspects to moral hazard that are at play in health care. [...] The [second, more important] aspect of moral hazard stems from the fact that every single medical encounter or medical act can be said to be ordered toward the preservation of life or toward the well- being of the person.This by itself presents a strong incentive to use medical services, and the behavior should not have the same negative connotation as in the first aspect of moral hazard. In fact, economist John Nyman has argued that the behavior by which insured people would use more health care is a social good.

The bottom line is that one does not need to be sick to utilize medical services and that all that is needed is a plausible argument that if a medical action is taken, life may be prolonged or enhanced. Such plausible arguments are not hard to come by, especially in a health care system where doctors and hospitals are largely paid on a fee-for-service basis. There is no objective limit on what can be considered "desirable care," and if cost is not a consideration, more medical actions will be taken._

<comment><USER5> When we had a $10 copay for in network visits we took the kids in every time they were a little sick. With 3 kids thst could mean 3 visits in one week.

My copays are now $35, it adds up - if was paying full price I can see how I would first call the nurse hotline or go to the pharmacy to describe the symptoms and get OTC medication

<comment><USER6> I never understood this amongst my cow-orkers when I worked at Microsoft ("co- pay? What co-pay?"). I don't care if a doctor visit is free, I'm not so starved for entertainment or human contact that I'm going to drag kids to a doctor because they have the sniffles.

<comment><USER7> That's a pretty uncharitable way to look at it. I don't have kids but it's a lot easier to imagine that they're thinking something more like "I'd rather not take chances with my kids' health". It may not be particularly rational when you consider the time cost, but it's a hell of a lot more understandable than insultingly assuming they're "starved for entertainment or human contact". In general, plausible explanations that don't require being a dick tend to be better.

<comment><USER6> _In general, plausible explanations that don 't require being a dick tend to be better._

Oops, guess we both failed. I wasn't "explaining" anything, as I clearly stated that I didn't understand it. One will assume what they assume when there is a lack of information, whether you find it insulting or not.

</comment></comment></comment></comment></comment><comment><USER8> Where is the source to support that claim of moral hazard?

The US has much less doctor consultations per person per year than other OECD countries which is an indication of the contrary:

Page 101: [http://www.oecd- ilibrary.org/docserver/download/8115071e.pdf](http://www.oecd- ilibrary.org/docserver/download/8115071e.pdf)

<comment><USER9> Compare, if you will, the US system to the French system.

In the US, if I'm going to an in-network provider (any provider), I have a defined co-pay. I could go to the Mayo clinic, a family physician, or even urgent care.

In France, I pay full price for the visit at the time of the visit. My insurance provider then reimburses me at 80% of the "reasonable and customary" cost of the visit.

(This is changing, with French insurance companies creating networks and selling additional coverage that works more like the US system)

<comment><USER10> Interesting! I didn't know that. I wonder if the US system worked like that (pay up front, get reimbursed later) it would have any impact on costs?

I'm thinking it might for two reasons: (1) it pushes patients and providers to lay out costs _before_ starting treatment [in non-emergency cases] and (2) it allows patients and providers weigh the economic costs relative to the potential benefit.

Trying asking what something costs in the US before getting treated and most of the time you'll get a blank look from your doctor's office. Or, they tell you "about $1000" and you get a bill later showing the cost was $7000. It's impossible to weigh the economic costs because you never know them until after the fact.

<comment><USER11> Paying upfront is different from having transparent pricing though--even if you pay first and insurance reimburses you later, you still might not know the price until you get the bill.

In the end the two systems differ only in liquidity requirements, and perhaps counterparty risk (if insurance stiffs you). Otherwise the costs are the same, and since liquidity requirements affect primarily low-income people and those with little to no savings, it would disproportionately affect them.

<comment><USER9> The French system grants special cards to low-income people that allows them to charge their outpatient visits directly to insurance.

</comment></comment></comment></comment></comment><comment><USER12> What's _always_ missing from these discussions is culture. Nobody wants to point out that a century ago, the zeitgeist regarded death as a natural thing, and took only nominally prudent steps to avoid it.

Now, we will expend enormous efforts, all available options, just to trivially extend the life of anyone and everyone with health problems.

<comment><USER13> While your argument makes sense from practical short-term standpoint, I think it also should be viewed more long-term. Each effort to extend life / save from immediate death brings experience, technology advancement. And what today might be just a short extension of life, in few years might bring several years of quality life, and in 100 years - even more.

<comment><USER11> Most of these short-term life extending efforts basically amounts to putting people on chemical and mechanical life support, which isn't going to be a source of significant improvements in life quality.

</comment></comment></comment><comment><USER14> No mention of the switch to sedentary lifestyles and processed food, which also happened at the same time.

<comment><USER15> Mass automobile ownership off of manufacturing capacity built for WW2...

<comment><USER16> And the not unrelated explosion of the interstate highway system, the rise of the suburbs and the corresponding decline of the walkability of many population centers.

Declining rates of physical activity, a rise in cheap subsidized processed food, and a TV in every home . . . .

</comment></comment></comment><comment><USER17> Moral hazard is universal, while US health care costs are out of this world

</comment><comment><USER18> The main issue is that they artificially limit the number of doctors.

<comment><USER19> Explain yourself, I don't understand how they're artificially limited.

<comment><USER18> "Medical-school applicants basically need to have near-perfect GPA's and very high MCAT scores to get accepted to an accredited U.S. institution. Even among that much better qualified pool of applicants, only about 50 percent get accepted." [http://www.cnbc.com/2015/04/30/doctor-shortages-heres-the- re...](http://www.cnbc.com/2015/04/30/doctor-shortages-heres-the-real-culprit- commentary.html)

<comment><USER20> There's medical school graduates that can't get into residency programs. The bottleneck in the US right now is residency slots.

<comment><USER10> And the reason for that is that Medicare (CMS really) pays for all the residency slots. There is pressure to keep the Medicare budget from growing too fast which translates to slow/no growth in residency openings.

<comment><USER20> That's an explanation, not a reason.

Providers with billions of revenue could easily afford to fund slots. They'd probably even benefit financially from it.

<comment><USER3> The words "reason" and "explanation" are nearly synonymous. (I went to [http://www.merriam-webster.com/dictionary](http://www.merriam- webster.com/dictionary) to be certain of this.) If anything, an explanation is built from a set of reasons.

So refurb gave a reason for a bottleneck, and now we need to figure out why providers apparently aren't taking steps that address it.

<comment><USER21> The same reason IT guys oppose H1B visas? They like their earnings right where they are thank you.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Rising health care costs are a classic example of the tragedy of the commons[1].

In general, human needs are boundless, and as long as the people who make decisions about healthcare use do not bear the associated costs, health care costs will keep increasing.

The costs are two-fold : the financial cost of the medication, the doctor's visits or the procedure and the moral or existential cost to the person who receives the care.

I argue that even in a fully subsidized, "free" healthcare system costs would not rise as fast as they are now in the USA (and elsewhere in the developed world) as long as healthcare use was only decided by the patient, who is the only one to suffer during futile procedures.

It is not surprising that care is most expensive in the ICU and the long-term facilities for the demented or otherwise disabled — in those setting the patients themselves do not decide, and their families bear nor the actual costs nor the sufferings incurred.

Anecdotally, those family members who care the least in everyday life, who never come to see the patient, are those who push the most for expensive, pointless care, who demand that "everything be done". Every day, demented patients are shipped, alone and frightened, to emergency rooms, where they are put into restraints and treated for their tenth episode of aspiration pneumonia while their next of kin stay home watching TV and never bother to come.

[1] [https://en.wikipedia.org/wiki/Tragedy_of_the_commons](https://en.wikipedia.org/wiki/Tragedy_of_the_commons)

</comment><comment><USER23> Their explanation of moral hazard [1] is incorrect. A moral hazard occurs when someone who is insured subsequently pays less attention to preventing the deterioration/damage of the ensured object, in this case one's own body, than would otherwise be the case if they did not have insurance.

People do not pay less attention to their health because they know they are insured. Nobody wants to be sick or obese, and it is an absurd, academic, and out-of-touch to argument. It makes sense to apply the moral hazard concept to something like a car (driving recklessly if insured) but not something so integral as personal health.

Health care costs exploded because people (myself included) are weak-willed and uneducated, and will satiate their cravings for sweet/salty/mind-altering without a strong government to provide adequate health education, curb the bombardment of junk food/tobacco/alcohol/drug advertising, subsidize healthy lunches in school, and keep pharma regulatory capture in check.

Does anyone think: "I'll eat McDonalds twice a week, smoke a pack a day, and drink all I want because I'm insured." Come on...

[1] "the tendency for insured persons to utilize medical services more than they would if they did not have insurance"

<comment><USER4> OP describes two separate aspects of moral hazard. You explain the first "I'll smoke all I want because I'm insured" which OP admits is the less important of the two aspects (although I'd bet most people who have even been uninsured for a period of time can relate to the extra fear of going skiing, renting a moped while traveling, or something similar).

The second aspect is what you cite in your footnote and falls in line with the definition of moral hazard, which more accurately is increased risk-taking due to not directly bearing the cost of those risks. In this case the "risks" taken are, for example, check-ups and preventative treatments which may or may not have a benefit justified by the cost.

<comment><USER23> I see your point, but I'd posit that the second aspect is the opposite of how moral hazard is normally taught and explained, which is a ratcheting up of risk due when one is insured, rather than an overuse of some public good, which is normally thought of as a tragedy of the commons: I have access to a public good, I may as well milk it for all its worth. Tragedy of the commons does not affect how somebody treats their own body.

At a higher level though, you need to look at what is actually driving healthcare costs. Is it the (relatively) inexpensive but overused checkup/preventative costs, or is it the expensive and overused prolonged treatments for preventable/chronic diseases such as type-2 diabetes, lung cancer, heart-attack/stroke, etc.

 _Eighty-six percent of all health care spending in 2010 was for people with one or more chronic medical conditions._

[http://www.cdc.gov/chronicdisease/overview/index.htm](http://www.cdc.gov/chronicdisease/overview/index.htm)

</comment></comment></comment><comment><USER24> Barking up the wrong tree. Costs are driven down mainly by innovations at the production side not due to consumer behavior.

The cost problem is almost entirely due to myth, paranoia, and authority worship, which means innovation that would drive down costs comes very slowly and painfully. These are the wages of refusing to question dogma.

<comment><USER25> No on denies that innovations drive down costs, this is from a libertarian blog...which basically worships market innovations and their effect on driving down costs.

But, if you ignore bad incentives and human behaviors in terms of driving up costs, you're gonna have a bad time.

<comment><USER24> You missed my point, which was that factors that influence productivity are more fundamental than those that influence consumption.

Nobody (sane) enjoys going the doctor.

<comment><USER26> No one missed your point. Your point is obvious and terrible. You want the demand side of the equation ignored. Your world view requires that demands for health care be unrestrained and unquestioned and you perform whatever mental contortions you must to allow that view to remain plausible inside your head. You're mentality is common and identified in the story here:

"many academics and health care leaders found the idea of health insurance so appealing as to have a bias _blinding them_ to the negative impact of moral hazard"

Your point has not been missed. It's just wrong. But don't worry; you have lots of company and you won't be left wanting for support from lots of other wrong people.

<comment><USER24> Yes, you missed my point, because no, I don't want the demand side of the equation ignored.

</comment></comment></comment></comment></comment><comment><USER27> I'm surprised that the libertarian Misces Institute doesn't mention the mainstream theory that fringe benefits like health care were due to high taxes - _%93_ was the top rate. So employers were incentivized to attract employees using benefits.

<comment><USER20> What percentage of the workforce was paid that rate? I imagine it was small enough (and they were wealthy enough) that it was not a big driver.

The article does mention an incentive to provide benefits over wages though:

 _More importantly, insurance programs benefited greatly from the federal Stabilization Act of 1942 which allowed companies facing scarce labor (during a time of price and wage control) to compete for this labor by offering health insurance benefits and by making those benefits exempt from payroll taxes._

<comment><USER16> It was mostly jacked that high so that American businessman wouldn't profit too much from WWII.

</comment></comment></comment><comment><USER28> Wait, there was real Health Care before World War II???

</comment><comment><USER29> If moral hazard really is the problem (which I doubt), then surely the simplest way to guard against it is to introduce an "excess" charge that must be paid for each consultation?

<comment><USER30> Isn't that what a co-pay is for?</comment></comment>


The Growing Underclass: Jobs Gone Forever - <AUTHOR> http://economix.blogs.nytimes.com/2010/01/28/the-growing-underclass-jobs-gone-forever/ <comment><USER2> This article suggests that perhaps the way to get out of the recession is to force people to accept reality:

"Workers whose entire occupations...are disappearing (think: auto workers) will need to start over and find a new career path. But the new skills they will need take a long time to acquire."

Reality: auto work was not highly skilled labor, and it just paid as if it was skilled due to union coercion. This turned out to be unsustainable. Former auto workers must now accept low skill pay.

"...some workers may need to move to new places in order to start a different career....Homeowners who are "underwater" ...may not be able to sell their house for enough money to enable them to buy a home in a new area."

Reality: you speculated on real estate and lost. You can not afford to own a home anymore. Rent.

<comment><USER3> _Reality: you speculated on real estate and lost. You can not afford to own a home anymore. Rent._

Look at the silver lining. Due to ridiculous cultural issues in the U.S., you got to live well beyond your means for quite a long time.

<comment><USER4> cultural? Please explain. The trickle-down of Wall Street irrationality, perhaps.

</comment></comment></comment><comment><USER5> One thing Congress could do immediately is cut the minimum wage. It is now at $7.25 per hour. This is a price control on labor. You can't make a worker's $5.00/hour skills magically worth $7.25.

They could also make it cheaper for small businesses to hire people. That $7.25/hour labor really costs $14.50.

<comment><USER6> Nobody's labor is worth as little as $5/hour. That's not a living wage anywhere in the US, and as a result it borders on slave labor to hire people for that little. The high price for small businesses is, however, a more realistic problem.

<comment><USER7> By what process do you come to the conclusion that no labor is worth as little as $5/hour?

<comment><USER6> By virtue of the fact that it's not possible to make enough to provide food and shelter on that amount (an untested hypothesis on my own part, admittedly). If someone is not trying to make a living then there well may be labor that is worth that little, but I'm not sure how you would make a meaningful distinction to avoid exploitation without a ton of other, more onerous regulations.

<comment><USER3> sure you can, here's how $5/day on food $10/day rent $5/day utilities + entertainment $2.50/day transportation

$22.50/day or $8,218.13 per year in expenses. At $5/hr, you are making $10k a year for a full time job w/ 2 weeks vacation.

<comment><USER8> $300/mo for rent and $2.50/day for transportation? Sign me up.

FYI a single ride on the bus/light rail in the Bay Area (VTA) costs $3.75.

<comment><USER3> That's your issue. You want to live in the bay area. Many cities have monthly passes for under $60.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> _Or maybe the culprit is a corollary of Moore's Law, the idea of exponential advances in technology over time. That might suggest that innovation and automation displace more and more workers by the time each recession rolls around._

This is also Marshall Brain's thesis in Robotic Nation:

<http://www.marshallbrain.com/robotic-nation.htm>

In the broadest terms, automation and computerization increase productivity, which means fewer people are needed to do the same amount of work. Conventional wisdom holds that new jobs will be created for displaced workers, but it's as yet unclear what those new jobs might be.

<comment><USER10> In a more general sense, increased productivity means more value is created per unit cost. This could mean the same value with less jobs; it could also mean the same amount of jobs with more value.

A growing pool of displaced labour is also a growing un-tapped resource (or a growing revolution, depending on how well society manages it).

</comment></comment><comment><USER11> This makes me wonder what may end up being the "auto worker" job in 2035? Software/web development? University teachers? How do you even prepare for such an eventuality?

<comment><USER12> "Web development" quite possibly. However, one of the reasons I chose my career in programming oh-so-long-ago is that I don't forsee the end of _programming_ coming for a long time. Or, if you prefer, "automation".

Our level of abstraction that we operate at may rise ever higher and someday we may all be programming nanobots instead of "computers", but until full and true human-level AI comes along there will always be a need for programmers to be programming something, and while I doubt the nanobots will be programmed in Java there will still be significant carry-over from current skills. And sort of tying into the recent discussion about how the iPad is for "everybody else" who isn't a programmer, the idea that everybody will want to be programmers or will be programmers is clearly false. The iPad is apparently forcing some people to face up to that.

And since "full and true human-level AI" is basically the Singularity, I haven't tried to plan my career past that on the grounds that it's totally impossible to make plans.

<comment><USER13> There was a story yesterday about using genetic programming for automated debugging. Granted, its probably not putting out the best code in the world but if it works isn't that what business is going to truly care about (maybe its the sliced bread of software development, in that it sucks compared to bread from a bakery but you can still make an edible sandwich from it)

While debugging is only a part of the software development process, it seems like it creates an evolutionary path for automated development.

<comment><USER12> "Running the evolutionary process" has a small chance of being one of the ways I referred to that might involve us moving up the abstraction chain.

However, someone will have to know how to tweak the genetic algorithms and feed them the right data. If you think it will _ever_ be "just specify the problem and run the GA/GP", you are _gravely_ mistaken. It is not that simple, and there will be ways of phrasing the problem that will make it easy for the GA and ways that are hard, and problems that GA will not be able to deal with at all. There will still be programmers.

As I recently said in another post, the gulf between GP hype and GP reality is pretty much the largest I know of in the realm of computer science. There's a lot of very tricky theory, and my expectation is that this will never be a practical way to program (as opposed to fixing bugs), and even if it is, it will take a _lot_ more knowledge and skill than a current programming job, which also means that fewer people will be able to do it. In my estimation, it will just plain be harder than writing it conventionally and thus never be practical.

</comment></comment></comment></comment><comment><USER14> It is commonly accepted wisdom that the higher quality job you pursue the longer your job search will be; this makes sense as the matching problem becomes much more difficult.

Therefore the more skilled the labor force the longer time "between jobs" is going to be optimal from the job seekers perspective; it's worth it to get the match right.

I'll let you make your own conclusions on what this implies for the percentage unemployment rate after recessions.

</comment><comment><USER15> Jobs gone forever? That's depressing news.

If only there were a way to make more. I mean actually make more, not just tax the people with jobs so you can hire and pay the people who don't have jobs to do work nobody really needs them to do. You know... jobs the employer can afford to pay for not because the employer forced earned money out of everyone's wallets, but because free-willed participants in a fair market agreed to pay for those services without being threatened with jail time.

Wouldn't that just be the bee's knees! If the government could create more jobs out of thin air like that? Well, for the government it'd be thin air anyway. For everyone else involved, it'd be blood, sweat, and tears. Almost makes you think it's unfair who gets the credit for job creation.

Maybe that's why the government makes it harder than it needs to be by getting in the way a little: because government leaders know they don't deserve the credit but there's no way avoid it, so they decided the only way to receive less undeserved credit for job creation would be to make it harder for people to create jobs. Sure, those people might have to bleed, sweat, and cry a little more to create those jobs for others, but in the end our noble government leaders know that sacrifice is worth being able to maintain their humility. Being a politician is a hard job, you know.

</comment><comment><USER16> And there was me thinking this would be yet another Apple story...</comment>


Show HN: EasyALPR Parking Enforcer – iOS-based automatic violation detection - <AUTHOR> https://easyalpr.com/products/parking-enforcer <comment><AUTHOR> I'm in YC Startup School on this product. I've been working on it for about 2.5 years. This product is the result of a ton of customer feedback. Happy to answer any questions.

<comment><USER2> Cool dashboard, what is it based on?

<comment><AUTHOR> Thank you!

It uses the Inspinia wrap bootstrap template.

It has a bunch of bells and whistles including: API-based, dynamic list loading. Mouse-over image previews and solid mobile-responsive dialogs for on- the-go workflow.</comment></comment></comment>


Microsoft Surface Keynote [Video] - <AUTHOR> http://www.youtube.com/watch?v=OCmudUDv3GA

<comment><AUTHOR> Not quite blue screen of death but damn tablet failed during demo...</comment>


Flow – All your team's communication,  clear and organized - <AUTHOR> https://www.getflow.com/

<comment><USER2> This is probably posted because of their newest feature that was just announced: Chat. [https://www.getflow.com/blog/2015/09/chat/](https://www.getflow.com/blog/2015/09/chat/)

</comment><comment><USER3> How does it compare with e.g. slack, which appears popular these days?</comment>