Brain connectivity reflects human aesthetic responses to music (2016) - <AUTHOR> https://academic.oup.com/scan/article/11/6/884/2223400 <comment><USER3> It's fascinating that music elicits strong effects on some people, and none whatsoever to others.

When I hear someone say "I don't much care about music" it's so hard to understand, as personally I feel it's a direct plug to emotions like none other. I regularly experience frissons when listening to an interesting piece - I've always thought everybody did! - and it can change my mood dramatically and instantly. I always feel I should listen to MORE music, but it's such an all-encompassing activity I can't do much while music's around. Some people fall asleep to music, and my brain instead just goes into (positive) overdrive.

EDIT: an anecdote about frissons: ages ago under the influence of strong psychedelics my frissons turned into multiple intense full body orgasms-like waves of pleasure, and it was clearly related to the music I was listening to, the relationship between instruments and the harmony and movement of dissonant sounds to final resolution. Such an amazing, transcendent experience I'll remember all my life. I've never been able to listen to Funkadelic's Maggot Brain album again after that day.

And all this has no clear value for survival? How did it evolve? Is there anything else we do, apart from appreciating "aesthetics", that has no survival reason?

<comment><USER4> > has no survival reason?

This is going to sound crazy but maybe it does have a survival reason. In societies where music is enjoyed (all major societies today), music has the capacity to not only gather people but also have them experience a shared emotion or thought. Not only that, but music has the capacity to carry a story through time, from generation to generation, and thus the capacity to carry the morals of that story through time too.

Maybe music is a way to disseminate important cultural information across a population and across time, and the societies that did not have music were weaker (eg. due to less shared morals across the society and across time) and therefore lost when they were confronted in battle by a society with music. If music is used in war to inspire courage in soldiers, perhaps it has a function beyond aesthetics and is actually used for survival, in a literal darwinian sense.

<comment><USER3> Definitely makes sense.

I imagine a prehistoric tribe dancing in trance around the fire, playing with improvised instruments.

The human experience is so "lonely" \- we all are separate entities in desperate need to belong - and sharing a common experience and emotion definitely bonds people. It would help glue a tribe together, which is decidedly a survival advantage. And the poor fella who didn't join in because he didn't care much for music would have been marked as an outcast :-)

<comment><USER5> _I imagine a prehistoric tribe dancing in trance around the fire_

This is basically how I, and others, tend to feel when attending goa/acidcore/dnb (that one to a lesser extent though) parties. All together in front of the speakers, just us and the music, then the sun coming up. Pure bless. And that's even without drugs, or at least not a lot, go imagine what it's like with certain substances :P.

I tried hard, but this doesn't work for me at all with more popular/known genres, presumably both because of music and audience, too much people just chatting instead of dancing etc, and also never got that connection with metal etc. Would love to see research on that.

</comment></comment></comment></comment><comment><USER6> If visual aesthetics enter through the front door, music flows through the side window you always leave unlocked. What music lacks in observability, compared to visual arts, is made up for in low level access.

I find it uncanny to even consider the meaning of achieving objective measurements along these lines. Very exciting for sure.

</comment><comment><USER7> An intriguing study of an evidently cross-cultural experience! The authors identify physical brain differences between those who report chills (intense emotions) when listening to music and those who do not. These effects are not attributable to gender, ethnicity, IQ, languages differences, years of musical training or personality!

</comment><comment><USER8> I have a theory that music feeds other "essential for survival" sub-systems in the brain, in manners we don't understand. Don't just take a shallow look.

<comment><USER9> E.g. certain sounds give alert of coming danger. People are good to remember previous events by traits they see. E.g. hear ice cracking - realise you may fall through soon.

Music rides on the same thing. Since music is frequently enjoyed in specific settings (e.g. festivities), it brings back those memories. Even if subconsciously.

</comment></comment><comment><USER10> Anecdote time.

Just for background story before I come to the music:

I had chronic heavy metal poisoning diagnosed almost a decade ago (fortunately I had all relevant values - hair, blood, urine significantly elevated, usually chronic exposure is much harder to prove). Using chelators for years I got amazing recoveries, for example, for a few months each time after getting a chelator IV (DMPS, DMSA) the area around the side of my thyroid was "working". It was the side that was double-sied with a cold nodule, tested and seen decades ago and again just before the chelation treatments started (going to the endocrinologist again was part of my desperate search for answers that ended when I finally had the crazy idea it might be heavy metals, something only "crazy people" think, but which the lab results fortunately supported). The nodule had disappeared and the thyroid was normal size when I had the endocrinologist do another UV check because I had that crazy idea that what happened through chelation was just that miracle.

Anyway, to the music (slowly).

My brain for long periods of time was not very usable. Lots of "brain fog", stuff that I had firmly in my hands falling out, periods where I crashed into every obstacle in my flat for no apparent reason, hands shaking when I was holding my kindle (had to hold it with two hands), lots of word finding issues, _extreme_ focus on details combined with an ability to let go - <USER2> disturbing, for example, when (without wanting to) you concentrate on a tiny insignificant detail and cannot think of anything else, this one thing races through your head for hours, and believe me, I'm not talking about anything reasonable or sane here, it is quite _extreme_. After a few years my brain was doing very very strange things, but with experience of years I knew it now was on the path to recovery. I needed LOTS of time, lying down, and the brain would do very strange things that I cannot describe but which are definitely not part of normal life.

During that time the one thing that helped me was _music_. My brain _needed_ music! The beat ("time"), the melody. Especially the timing aspect. Music was medicine. And I'm not talking about some "nice to have" psychological needs, I'm talking about a hard requirement. The right music held my brain together and helped it get or remain organized. Of course, I making that statement "by feel", I wasn't hooked up to an EEG, I have no proof, just my own experience. I _did_ take several neuroscience courses (the best one the big one from Duke on Coursera by an excellent teacher[0]) and lots of anatomy, physiology, statistics), during the last few years, but obviously no scientific rigor was applied to the stories of my own experience.

I didn't have music running all the time. in fact I _loathe_ "background music". I needed it during certain times, especially during the first half of the day, and I would go for a walk and with good inner-ear headsets concentrate on the music. Having it play in the background when I'm doing something else would not have helped at all, quite the opposite, my ability to endure distractions was very limited during those years. I _did_ (involuntarily, broken equipment) perform tests of how I would fare with and without the music. I felt much worse without.

I'm not talking about the usual "helps you in a bad mood" kind of benefit. It's impossible to convey unfortunately, I never did and by now I don't have any more the need for that kind of help from music, so I suspect the vast majority of people won't ever experience something similar in their lives.

These days I can easily not listen to music for days, but during the height of my "strange brain activities" I could not, as I said, music was medicine (for my brain).

So the article does not surprise me because I had already concluded such a relationship, including why different people will react very differently.

PS: By the way, I think we can all agree that the Russian Dance from Tchaikovsky's Swan Lake is the best piece of music ever written, right? :-) [1]

[0] [https://www.coursera.org/learn/medical- neuroscience](https://www.coursera.org/learn/medical-neuroscience)

[1] [https://youtu.be/5wOBNjgCg6M](https://youtu.be/5wOBNjgCg6M) (not actually my favorite peformance, but I could not find the one that I like most so easily)

<comment><USER11> > By the way, I think we can all agree that the Russian Dance from > Tchaikovsky's Swan Lake is the best piece of music ever written, right?

As great as it is, the one that always gives me the chills the article spoke of is the third movement in Vangelis Mythodea[1].

[1] [https://www.youtube.com/watch?v=0AHAX_QGHTU](https://www.youtube.com/watch?v=0AHAX_QGHTU)

<comment><USER12> Wow, I didn't like it at all. Stopped it half way because it was boring. What do you like about it?</comment></comment></comment>


Ask HN: How should we go about marketing our app? - <AUTHOR> So I'm not looking to be spoon-fed an entire marketing strategy - we are doing lots of reading on the topic at the moment. Rather, after having worked on the app so long we've lost a certain sense of clarity, and would appreciate some fresh eyes and outside opinions.
The app itself (http://www.getchowderapp.com) is a collaborative restaurant finder, and came about after many frustrating incidents trying to decide where to eat with my girlfriend (usually something along the lines of "What do you want to eat?" – I don't mind – "Do you want pizza?" – No – "How about seafood?" – No – "Then pick somewhere!!"). A friend and I had some fun developing an app to try and ease the friction of making food decisions when out in a group. It's a little like Tinder for food, only you're matching restaurants, not people, with your friends.
When we initially did our market research, we were aiming solely at indecisive couples who had troubles picking places to eat because they were overwhelmed with options, but later realised that there was a much wider audience and shifted our focus to groups of friends. However, while we've had plenty of people respond with "Huh, neat idea" when we pitched it as an app for groups, I feel like it resonates much more strongly with people when pitched as an app to 'help couples decide where to eat'. When pitched as the latter, we got responses where people explicitly mentioned having this problem with their SOs, as opposed to the former where it was maybe more like 'Cool idea, I could see people using this'.
Given our incredibly limited budget and lack of funding, I'm beginning to think it might make more sense to focus on couples first and expand from there. I'd be very interested in hearing other people's thoughts!
Ultimately we're both just looking forward to the opportunity to launch something in the first place - the experience gained thus far has been very beneficial, and we've had a blast developing it.
Many thanks in advance. <comment><USER2> I have been watching the app/food space for many years. The idea you describe has been tried many times over.

It's one of those problems that everyone faces one evening, but the hassle of using an app is usually higher than actually having a 2-minute conversation about where to go.

That being said, you never know what will work, so don't give up just because of random Internet advice.

It looks like your app doesn't need to have network effects to be useful. That's a good thing. So you'd be fine with even 10 people using this every week. That would be a sign that your app is useful. Once you reach that stage, you can focus on scaling. But just even getting 10 couples to use this weekly is a tough challenge. Do you use it? Does any of your friends actually use it?

Looking at your website, if you are disappointed by the conversion rate, target a smaller niche first and see if the conversions increase. Right now it sounds like a generic "restaurant recommendation". The couples angle is not there. You go with more punchy headlines: "no more arguing Friday night about where to take your SO".

Bottom line: go from 0 to 10 users by sheer force of persuasion. Then come back here and we can chat some more :-)

</comment><comment><USER3> I don't think the Tinder model and/or Tinder UI is a good fit for your case.

I'm hesitant to "like" a restaurant suggestion because if I was to match, then I'm stuck going to that restaurant for dinner when there is possibly a better match that just had yet to be suggested to me. The original Tinder model works because there is no risk of being locked-in (lol).

That being said, I think this is a great idea and IMO your initial use-case and test users should be startups trying to decide what to order the team on Seamless. Print out some flyers that say "Team can't decide what to order for lunch?" and post them around co-working spaces.

If I was building this app my first iteration would have been to show the users a list of the top 10 nearby restaurants weighted by stars on yelp and filtered by price/distance. Let them give a 1-5 thumbs-up rating of as many restaurants on that list as they want and total up the number of upvotes for each option.

Goodluck!

</comment><comment><USER4> Is anyone using it right now?

If so, what are their pain points and how are they being addressed?

If not, then getting one user is more important than a marketing strategy, and harder. People using the app validates the beliefs:

      1. the app solves an actual problem

      2. there might be a profitable product

Most importantly, it provides feedback to iterate upon and word of mouth advertising.

Good luck.

<comment><AUTHOR> Thanks for your feedback. Both myself and my girlfriend, and my business partner and his girlfriend use the app regularly. Occasionally we use it with family too. We launched a beta recently and got some users, but didn't get much engagement - I think partially because we pitched it for groups of friends.

<comment><USER4> Why don't groups of friends have a high level of engagement?

<comment><AUTHOR> The app requires each person of the group to have the app. Like messaging apps, no-one will use it unless all of their friends use it too. We're currently implementing a 'hot-seat' feature to mitigate this and make it even easier for couples to use.

</comment></comment></comment></comment><comment><USER5> If I were you I'd switch the main focus. I use iMessage to chat about where to eat. If we're in a place we don't really know then yelp is my to-go app. It has more info that I need and it works well. In zero case I'd need to download another app just to show me pictures of food or names of restaurants nearby. Do you get that one? So since you already have everything, your app is out, coded, showcase-able, etc. "All" you need to do is to tweak the use case a little bit in order to make it essential for someone who's looking for a place to eat. Bring value on top of what's out there. That's why an app with coupons would go viral before a scheduling app for example. Make it a game where the app picks everything for you based on people's tastes and in only one click you can book a spot and pre-order a meal. All you have to do is to get to that place and that's it. The app would be a personal assistant with an actual first name and it would be smart enough to do all the research for you in order to present a meal you and your girlfriend would like, different from what you guys had previously. It would give you price details, what people think about that meal and place, etc. Again, based on some settings/profile you would have to setup at the beginning in the app. It would also learn about where you went, liked and disliked and re-ajust the future choices. So your new use case would be something like: "Hey Siri-for-restaurant, what should we have today? I'm with Kate". "Hey Bob, how are you today? You guys should try that pineapple fried rice chicken at the new place called the Hipster Asian- fusion-Mexican Temple located on market and washington st. It would cost you guys $40 with desert and a beer. Do you want me to book it for 2 at 1pm today?". YES/NO. Done.

</comment><comment><USER6> Facebook ads targeting mobile users sounds like the best place to start. Try a bunch of mobile ad networks and see which work the best. 15-second video ads tend to be a good way to drive installs on mobile.

Also try pitching food blogs and technology/lifestyle blogs to review. Write up some stories like "My wife and I kept ordering gross pizza because we couldn't decide where to eat -- here's how we saved our relationship!" Make them entertaining and relatable, and offer them as content for food and restaurant blogs. Find some quality food blogs or youtube foodies, offer to pay for their dinner if they will use your app to decide where to go.

Find larger food/restaurant apps and sites, ideally ones that complement and not compete with your concept, and look for ways to cross-promote. e.g. they make a post or ad or something to drive users to your app, and in return you put a prominent button on in your app for six months that says "View this in BigFoodApp" and opens their product.

I like the approach suggested by the book "Traction", which boils down to try a bunch of things a little bit to see which one works, then focus on the channel that gets you the most return.

</comment><comment><USER7> FB/IG video ads have been doing very well for apps. You can target people in relationships.

I would try a basic video that just is informative showing off your app.

I would also see If you could get a short video made that is somewhat humorous involving a couple arguing over dinner and then using your app, it could have potential.

</comment><comment><USER8> I'd love to have something that does a good job of recommending restaurants, but this seems like a thin wrapper around yelp... which is what I already use to solve this problem.

</comment><comment><USER9> How do you plan to make money from it?

<comment><AUTHOR> Currently it costs us practically nothing to run, so we're just focused on getting users.

Monetisation will come primarily from providing analytics to restaurants. Because of the way the app works, we can go to a restaurant and give them info like "x number of people were interested in going to your restaurant, but they went across the road to your competitor instead". In addition to analytics, we planned to do the usual promoted results and coupons etc.

<comment><USER10> Think about the sheer number of users you'd need to have to make this useful to a random restaurant in a random city (or even a popular one).

Now think about Foursquare and how even they have not been successful in offering something similar to local companies.

I'd quit before I'd waste any time on this venture.

Unless you view this as a learning experience or side project.

<comment><AUTHOR> You make a good point. I hadn't heard about Foursquare in a very long time, so I had no idea that they were trying to do something similar to monetise it.

Like I said though, it costs us practically nothing to run and it's been a great learning experience so far - I don't see any reason to give up just yet.</comment></comment></comment></comment>


"Commodore Emilia" - <AUTHOR> https://twitter.com/sibachmann/status/1250853353728299009 <comment><USER2> Very nice looking machine. FS-UAE under Raspian and you have a working Amiga without leaky batteries and bad caps!</comment>


Apple Announces New Privacy Features - <AUTHOR> https://www.nytimes.com/2020/06/23/technology/apple-announces-new-privacy-features.html <comment><USER2> > Have you ever noticed how sluggish Macs feel compared to Apple's mobile > devices?

Not really. In a courtroom, this would be considered a leading question. It's going to be interesting to see how pundits try to explain the advantage of Apple Silicon to the general public, most of whom couldn't care less.

<comment><USER2> In case anyone actually read my previous comment:

I want to add that I believe there actually IS a compelling case for Apple Silicon. But it's not performance, it's control and customization to make the SOC more useful to current and future Apple customers. Apple Silicon will make Apple's walled garden even better, especially for Mac users.</comment></comment>


Ask HN: Are compiler engineers still in demand, and what do they work on? - <AUTHOR> I have just graduated and would like to get into the Compiler Engineering field.<p>Is the field still in demand? Are there any opportunities? What will I be working on? What tips can you give me? <comment><USER3> I lead a PL/VMs/compilers research group and the number of organisations interested in hiring people in this area keeps growing and growing. Now, that's not to say that there are ever going to be hundreds of thousands people working in this field, but it turns out that lots of organisations have realised they have pressing language needs. It varies all the way from those wanting to make mainstream language implementations perform better on their codebases to those wanting to reimplement a major internal language in a modern fashion.

At the moment -- and I expect for the foreseeable future -- demand quite significantly outstrips supply. Because of that, organisations are often quite flexible in how they view potential hires in this area. Simplifying a bit, there are two main ways to get in to the field: obtain specific training in the field (e.g. a PhD); start / contribute to a project (not necessarily OSS) that shows expertise (e.g. if you start filing high quality PRs against Rust or LLVM, people will fairly quickly realise you know what you're doing).

Best of luck -- it's a really fun field, with lots of interesting challenges, and a good group of people!

<comment><USER4> Any comment on the salary in these positions? Are they higher than for the average software developer, and if so, by how much? I am wondering since to my experience, the application and development of logics and verification procedures to be used in programming language development requires vastly different and more rigorous personality and working methods than in your average web developer gig.

<comment><USER5> I worked as a compiler engineer at a big tech company in SV and lived very comfortably, was able to put a lot of money aside. The demand outstrips the supply, it's hard to hire qualified people, so the salaries have to be high to attract those qualified.

Tangentially, I think the supply is small because compiler engineering is not a fashionable field of study. Everyone wants to do "AI" these days.

<comment><AUTHOR> I hope am not being pushy but could you please say how much you made and in which company? Thanks

<comment><USER6> I'm not a compiler engineer, but I'm willing to venture that the lower bounds of a "competitive salary" for an engineer in silicon valley is somewhere between 200 & 250k. Compiler engineers may make much more, I don't know, but it's unlikely they make less than that. Perhaps that answers your question?

<comment><USER7> > an engineer in silicon valley

Good point. The biggest factor that determines an engineer's salary is location, followed by years of experience. Not whether they work on compilers/embedded/web/whatever.

<comment><USER8> _Not whether they work on compilers /embedded/web/whatever._

Not true! See: salaries for people who know kdb+, that embedded engineers almost always get screwed on comp.

<comment><USER9> > salaries for people who know kdb+

If you are suggestingn that kdb+ salaries are extremely high, like I often read here, I disagree. I did some research in this area, and despite the rumors, found lots of kbd+ jobs posted with very mediocre salaries. It seems unlikely that such jobs would been filled if salaries are as high as people have suggested on HN.

For example, here's a senior kbd+ deb job in Manhattan (high cost of living) that pays 165-185,000/year. I make almost that much as a senior dev in a low cost of living area. I'd expect to make at least $250,000/year in NYC or California.

<comment><USER8> I know multiple people who have jobs using kdb+, and I use an array language myself for work.

 _Every_ type of job site will have postings that are way below market rate. The market rate for kdb+ devs is well above that, I can assure you.

<comment><USER9> So would you please give me an idea of what market rate is for a senior dev working with kbd+ in NYC? Roughly? If it's well above 180,000, what is it? Thank you.

And I don't mean quants. I mean software developers.

And yes, it's true that every job category will have outliers (high _and_ low), but after spending some time several years ago looking at jobs and speaking with recruiters, I'm skeptical. I've enjoyed learning about array languages, and had heard the rumors of high kbd+ salaries, which is why I was curious.

And I get that kbd+ is just a technology, and much more depends on individual qualifications. So let's say, an experienced, highly-qualified senior dev who has taught themselves kbd+, just for arguments sake.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I've worked in compilers (optimizations) at Microsoft (vc++) and NVIDIA(CUDA) - register allocators, schedulers and loop optimizers were super fun.

Then I worked on database (query) compilers. I managed Apache Hive at Hortonworks, and that has a compiler. These are very different beasts.

Now, my startup is working on code analysis and cross compilers for data engineering, including Spark.

Some of my colleagues are working in AI chip startups.

It's hard to find high quality engineers in both kinds of compilers. Just like database internals engineers there is high demand.

Plug - I'm hiring at Prophecy.io for compiler engineers.

</comment><comment><USER11> I work at Oracle Labs where GraalVM (graalvm.org) is being developed. I think this is one of the most exciting places to be right now for compiler engineers, and people with the right skills are certainly in demand. Some things that came out of this: partial escape analysis, the Graal JIT compiler, SubstrateVM, native-image, several Truffle language implementations (JS, Ruby, Python, LLVM), IGV for visualizing different layers of IRs, integrating GraalVM in the Oracle Database (MLE).

<comment><USER12> Basic/naive/stupid question that I've been genuinely curious about for a little while now:

What are the real-world motivations behind reimplementing the noted languages on top of Truffle? These projects are frankly incredible - <USER2> (thousands) of total man-years of work - and all to _re_build something that already exists. I'm missing context that I don't know where to look for.

Is there anywhere I might look online to immerse myself in the relevant discussion of the business use cases that drive these types of huge projects?

<comment><USER13> Truffle languages don't require hundreds or thousands of man years of work. That's the point of them: implementing a language on Truffle is very easy compared to writing something like V8. You "just" write an interpreter and then extra code after that is about performance.

Most of the Truffle languages have small teams, like 2-3 engineers tops, and that's sufficient to catch up with and then keep pace with even a well funded ecosystem like JavaScript. For instance the GraalJS team keep adding proposed JS language features that aren't even fully rolled out yet.

As for why, well, Truffle languages have a bunch of advantages over implementing engines in other ways:

\- They all interop with each other, with JVM bytecode languages, with anything that compiles to LLVM, and anything that runs on WebAssembly. All in the same VM with the same heap (i.e. they can all use pointers to each others constructs).

\- You get access to HotSpot and in particular its state of the art GCs.

\- Graal is an excellent compiler. V8 is better but only for JavaScript and only in warmup time; once code is warmed up (for servers) GraalJS produces code just as good as V8.

\- You get a lot of sophisticated visualisation and debugging tools, both to help you develop and optimise the language (IGV) but also to analyse programs in production (VisualVM, JFR).

\- You can support native extensions using [Safe] Sulong.

\- You get debugger support for free, because Truffle languages all support the Chrome DevTools debugger protocol.

\- They just added support for the language server protocol so you get some automatic support for IDEs.

\- You get a consistent sandboxing API for free.

\- Probably a lot of other things I forgot.

So you get a better engine than most languages can afford, for way less cost, with way more features and access to a huge ecosystem of libraries from all the different languages. Pretty snazzy.

</comment></comment></comment><comment><USER14> Not only is it still in demand, I think demand for compiler engineers is growing (and fast) due to the end of Moore's law, since that means performance improvements are mainly (and soon only) happening due to improving software and making specialized hardware, and both of those involve heavy use of compilers and compiler writers.

JIT compiled scripting languages and DSLs (domain specific languages) are all over the place, GPUs and the APIs that run on GPSs all need special compilers, embedded processors and custom chips often need custom compilers and/or custom optimizations.

There's certainly a ton of optimization work out there, so if you like designing optimizations on top of existing compilers, you can pretty much pick what kinds of API/software/hardware you want to work on.

</comment><comment><USER15> Intel, IBM, Nvidia, Google, Red Hat, and MSFT are all currently hiring complier engineers. Experience with LLVM is probably useful for many of those opportunities. [https://us-redhat.icims.com/jobs/75775/software-engineer--- l...](https://us-redhat.icims.com/jobs/75775/software-engineer---llvm-and--go- toolchain/job?mobile=false&width=708&height=500&bga=true&needsRedirect=false&jan1offset=-480&jun1offset=-420) [https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSit...](https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/2/refreshFacet/318c8bb6f553100021d223d9780d30be) [https://careers.ibm.com/ShowJob/Id/764855/Software- Developer...](https://careers.ibm.com/ShowJob/Id/764855/Software-Developer- Compiler/)

<comment><USER16> Arm is another company that is frequently and currently hiring compiler engineers (mostly for UK Manchester/Cambridge; looking at the current listings it's largely looking for people with some experience at the moment but there are also some intern/student placements.)

</comment></comment><comment><USER17> IMO, you should forget about compiler engineering as working on the backend of, say, gcc, or llvm. Yes, there are such positions (e.g., intel needs people adapting compilers to new processor instruction sets) but they are few and very specialized.

Instead, think about languages in general. There is a myriad of opportunities between the js eco system, JVM and .NET, things like Rust and even low-level languages like LLVM. It should be straightforward to pick features from one eco system and port them to another. Say linear types from Rust to the JVM. Pick one or two such features, port them to your favorite eco system and provide a prototype compiler/macro library on github. With that kind of experience under your belt, you should be the goto guy for any software company that does tooling in that ecosystem. From that vantage point you could start looking for ever more interesting work.

<comment><USER18> I wonder if the growth of "low-code" will lead to many more well designed domain specific languages.

LookML in Looker is one example I can think of - imo it has enabled Looker to solve the self-service data issue much better via a low-code approach than Tableau and Qlikview (both "no-code").

<comment><USER19> This is absolutely valid. There is a comprehensive analytics platform that I work on where we went from (a litany of) REST services to our own domain language. It not only allowed us to go across databases (Graph / RDF / RDBMS) but even across processing engines (R/Python). This is really where I think the industry should go. I am sure someone will point out there is a great talk by Brian Kernighan on this on youtube.

<comment><USER19> [https://www.youtube.com/watch?v=Sg4U4r_AgJU](https://www.youtube.com/watch?v=Sg4U4r_AgJU)

</comment></comment></comment></comment><comment><USER20> I have been curating this list [1] for the last little while, and made it public about a month ago.

While not a list or positions as the URL suggests, ands to help remind people that compilers are in way more companies than you think!

[1]: [https://github.com/mgaudet/CompilerJobs](https://github.com/mgaudet/CompilerJobs)

</comment><comment><USER21> Since there are people in the know here:

How would you go in the adjacent field of language design? I would be super interested in doing research on the mental load of different programming languages (and different representations of information). I.e. put a hacker in a fMRI and let her solve tasks in different languages.

<comment><USER22> People in academia are doing research in this area. Let me know if you want a PhD, I am hiring :)

</comment></comment><comment><USER23> There has been a resurgence due to the proliferation of more special-purpose processors, like Google TPU or Tesla FSD. I anticipate this trend to continue due to Moore's Law slowdown. However, if you're not really into this, there's no reason to not pursue some other subset as on a relative basis, higher levels of the stack likely will have many more opportunities than infrastructure.

<comment><AUTHOR> Is there a way I can integrate Machine Learning to Compiler stuff? I've been meddling with ml for a while and it's pretty interesting too.

<comment><USER24> Certainly! We do so :)

<comment><AUTHOR> Can you elaborate on that please? Like how do they merge together? I am really interested in those two fields

<comment><USER24> This is as good an overview as any: [https://arxiv.org/pdf/1805.03441.pdf](https://arxiv.org/pdf/1805.03441.pdf)

In general we can afford to treat the problem as a search problem since our kernels are small enough. Here there is a lot of stuff that ML aided stochastic search is amazing at compared to normal compilers and even in some cases human hand optimized assembly (!).

</comment></comment></comment></comment></comment><comment><USER25> I'm curious about whether there is a large skills overlap between engineers working on compilers and embedded DSLs (for the case of external DSLs, such an overlap would IMO be quite significant).

By the way, are there any people here (or, perhaps, you could recommend someone) who is very capable and would be interested in doing some potential contract work on a DSL (I'm still pondering about embedded vs. external - obviously, each category has their own pros and cons, but platform stack selection adds an additional complexity dimension)? Several people who I have approached so far, are definitely very knowledgeable, but they all work in academia and, thus, practically, have no time for consulting or contract work. :-( Not to mention potential issues arising from IP clauses in some experts' university contracts, hence the question above.

<comment><USER26> I have no specific experience with compilers (I missed the chance to take the class in college due to scheduling conflicts).

My current day job, at a research nonprofit, is working on a system whose behavior is driven by an external DSL. I get to work on the parser/compiler type thing that generates executable units and the interpreter that actually runs them. This is certainly not the "big leagues" as far as compilers are concerned, we're not executing anything directly on anyone's CPU, but I do find it tremendously enjoyable.

<comment><USER25> Thank you for sharing your experience. Do you use a more or less well-known toolset like MPS or Xtext or it is some kind of a custom framework? Any lessons learned and best practices regarding external DSL design and development?

<comment><USER26> We built everything ourselves. The parser in particular was written in-house by a Person Who No Longer Works Here who was a parser enthusiast (Conway's law). If we were starting from scratch today I would think we would use an off the shelf package. One excellent choice was to make the language [0] an open standard and now there is at least one totally novel implementation [1] in addition to ours [2].

0\. [https://github.com/openwdl/wdl](https://github.com/openwdl/wdl)

1\. [https://github.com/chanzuckerberg/miniwdl](https://github.com/chanzuckerberg/miniwdl)

2\. [https://github.com/broadinstitute/cromwell](https://github.com/broadinstitute/cromwell)

<comment><USER25> I appreciate your clarifications. Until now, I was aware of [0], but not [1] and [2]. Your implementation seems be much more popular than both the new alternative and a reference implementation. The (general and scientific) workflow engines universe is very large - it likely contains, at least, dozens of production-level implementations. Such diversity is both a blessing and a curse, though ...

</comment></comment></comment></comment></comment><comment><USER27> There's a lot of compiler work in query processors for analytical systems. High-level languages compiling down to machines at different levels of abstraction, LLVM being the lowest and database operator libraries a bit higher. I'd like to find someone interested in pursuing that direction.

</comment><comment><USER24> There's been a resurgence due to interest in specialized processors and new computing architectures and systems in general, mostly for ML.

</comment><comment><USER28> Mostly semiconductor companies. Compiler engineers do work for CPU/GPU/FPGA/AI chipsets.

</comment><comment><USER29> Quite a bit of work is happening around [https://nim-lang.org/](https://nim- lang.org/) and perhaps Status.im is still hiring.

<comment><USER30> i know an actual person who was hired to work on compilers/lang design there, so it's not out of the question, but it might require some kind of involvement with the language/community before that (if there are any open slots at all)

</comment></comment><comment><USER31> Definitely in demand! For example, there's a bunch of really interesting commercial work happening building or working on compiler toolchains for WebAssembly.

</comment><comment><USER32> What qualifies someone to be a Compiler Engineer?

Compsci degree? Working compilers? Opensource commits? Github repo full of parsers?

<comment><USER33> > Github repo full of parsers?

Definitely not that one.

<comment><USER34> Could be a C++ parser

</comment></comment></comment><comment><USER35> Apple has teams working on LLVM, Clang, and Swift. They have some open positions right now.

</comment><comment><USER36> What's a good paper (or book) reviewing _current_ trends in compilers?

<comment><USER36> I found this, but it's just ML, and not easy to read:

 _A Survey on Compiler Autotuning using Machine Learning_

[https://arxiv.org/abs/1801.04405](https://arxiv.org/abs/1801.04405)

</comment></comment><comment><USER37> There's some work happening in the blockchain space because people are starting to create their own smart contract languages. I don't know of any other space seeing so many 'new' languages being created in such a short space.

I've seen jobs advertised by teams developing Cardano, Tezos, and Ethereum. It's worth looking at their project pages, seeing which teams work on it, and then checking their careers pages. I know IOHK have been hiring in the space although that's specifically functional compilers - however nothings up on their careers pages right now.

<comment><USER38> Are these compilers or mere transpilers?

Not sure if I am being sarcastic or serious.

<comment><USER39> This stopped being a useful distinction a long time ago.

</comment></comment></comment><comment><USER40> Check out [http://www.compilerworks.com](http://www.compilerworks.com)

I worked there for awhile but compilers aren't really my thing. They're building cool stuff, though. Their tech converts database queries between dialects, and can even run as a translating proxy (for example, run Oracle code on Postgres) and provide performance insights into your code. Their clients are big name companies who need to maintain millions of lines of DB code.

<comment><USER41> Thanks for the kind words Karl.

</comment></comment><comment><USER42> We're hiring compiler engineers at Horizon Quantum Computing ([http://horizonquantum.com](http://horizonquantum.com)).

<comment><USER43> a bit off topic shot in the dark here, but no one seems to be able to tell me so far. what kind of machine code a quantum computer would execute. is it a instruction set like any computer or does it contain a lot of weirdness (instructions mapping to insane kind of micro-op sequences or something?) is there any information out on that topic at all? i am assuming it would still be mapping some electrical 1/0 kind of values to machine code up to higher level languages, but the concept just makes my brain fart a bit when i think about it. it would be super interesting to learn about or read up on

<comment><USER42> Quantum processors don't have the same gate sets as are used in conventional computers, since they can be in superpositions rather than in just the 0 and 1 state. Instead of NAND gates, a universal set of quantum gates will include a gate capable of producing quantum mechanical interference, such as a Hadamard gate. Almost all programming languages are currently at this gate level, often implemented through Python or another high-level language which you can use to build the circuit (e.g. IBM Qiskit, or Rigetti PyQuil). Our focus has been on building higher level languages to get to a point where the level of abstraction is such that the same code can be compiled for both conventional and quantum processors, which is not something that can be done with existing tools without resorting to the extremely inefficient direct simulation of quantum processors. The exact output we shoot for depends on the processor. For the Rigetti processors, for example, the native set of gates are limited to specific single qubit rotations and specific two-bit gates (CZ or parameterised XY gates). It is sufficient to construct a program using these gates, although we implement a transpiler to convert between any universal set of gates. For various reasons (usually to combat noise or increase performance of the processor) it is sometimes useful to be able to compile to lower level operations. In particular, for most quantum processors gate operations are implemented using laser/microwave/radiowave pulses, and so ultimately you aim to a sequence of such pulses. Being able to tweak the shape, phase, frequency and duration of such pulses is important for maximising the performance of the device. This is usually done to minimise error rates, but can also be done in an. attempt to realise faster logic gates etc.

<comment><USER43> Thanks a lot for the response. Even though admittedly I can hardly comprehend what it means, it certainly gives me finally some topics and concepts to dive a bit deeper into to try and get my head around such a complicated topic, especially your points on the logic gates used. i've always looked at it more from a down to up approach, but this explains exactly why that has gotten me no where so far. thanks a lot. :D

</comment></comment></comment></comment><comment><USER44> I'm interested in writing parsers, but my experience is only with small scale web editors for specific type of documents full of business rules

e.g user write documents with something like markdown and then editor renders document with things like auto numeration, displaying other referenced elements by syntax e.g '@element2'

Does there exist job in writing parsers?

<comment><USER39> Yes.

</comment></comment><comment><USER45> I always thought "Program Vector Representations for Deep Learning"[1] was an interesting combination of compiler technology (parsers, ASTs) and machine learning.

[1] [https://arxiv.org/pdf/1409.3358.pdf](https://arxiv.org/pdf/1409.3358.pdf)

</comment><comment><USER46> Obfuscators, I work for a company that builds mobile obfuscation at a compiler level (LLVM ir and Java bytecode). There are also gaming companies that use similar techniques and technology for anti cheat engines.

I also often see job postings for compiler developers in the embedded field.

</comment><comment><USER47> Julia computing hires compiler talent

<comment><USER48> I saw this position for Dart (in Denmark) on twitter: [https://twitter.com/mraleph/status/1218909246294765569](https://twitter.com/mraleph/status/1218909246294765569)

</comment></comment><comment><USER49> Codeplay Software develop compilers for new architectures and new high performance programming models. They are always looking to hire talented engineers.

</comment><comment><USER50> Definitely in demand! We are hiring compiler developers at www.edument.se (remote or onsite in Sweden or Prauge), contact me at tore (at) edument . se

</comment><comment><USER51> I work at an embedded OS company on the entire command-line toolchain (as opposed to the GUI-based IDE). That includes maintaining existing and doing new compiler ports.

We always have a great deal of trouble finding qualified candidates to fill open reqs. We find few are interested in this sort of technology, everyone want to either work on cool new applications (like self-driving automobiles) or high-profile web-based stuff. Our entire department is either waiting for retirement or a heart attack (whichever strikes first, and retirement is not a realistic expectation).

tl;dr compiler engineers are in demand and they work on compilers.

</comment><comment><USER52> A lot of work with compilers in blockchain/Ethereum.

But if you're considering an education choice, don't overspecialise. You will most likely change specialisation in 5-10 years (different market, different technology), so if all you know is just compiler engineering, it will be way tougher for you.

Also, make sure you learn a lot about algorithms / computer science in general. If you know that, switching engineering fields will be easy.

</comment><comment><USER39> You should add some contact information to your profile.

And/or get in touch.

</comment><comment><USER53> mostly i see people working in probabilistic programming languages and formal methods

</comment><comment><USER54> GraalVM

</comment><comment><USER55> Compiler engineer...

It is very sad how the engineer term has been corrupted.

You are an engineer only if you pass the FE exam and are a registered member of the state association of engineers

<comment><USER56> I agree, what's wrong with "developer"? I know what engineers do, and devs don't really do the same thing.</comment></comment>


The VP of Devil's Advocacy - <AUTHOR> http://techcrunch.com/2014/07/27/the-vp-of-devils-advocacy/

<comment><USER2> just hire any asshole attorney and he or she will justify the anything - including the exact opposite of what you want to hear.</comment>


What advice would you give your 16 year old self? - <AUTHOR> I'm 16 and have interests in programming. I know HTML and in the process of learning Objective C for apps. There is so much I don't know and I want to learn as much as I can. What advice would you give? <comment><USER2> I'm 44 now, and I know without any doubt whatsoever that my 16 year old self wouldn't listen to anything I had to say.

But you're smarter than I [am|was], so my advice to you is don't listen to others who don't build stuff. Or in a more positive way, only listen to people who actually build stuff themselves. Why the Lucky Stiff said it best:

      When you don't create things, you become defined by
      your tastes rather than ability. Your tastes only
      narrow & exclude people. So create.

<comment><USER3> _> only listen to people who actually build stuff themselves._

Wow, amazing advice. It echoes my sentiment about investment advice, which is to only listen to people who actually run money (e.g. run their own funds, and even then, be on the lookout for ulterior motives). This translates to: never listen to your "financial advisor" (which is a misnomer if there ever was one)

<comment><USER4> In this case it's actually backwards. Financial advisors who are involved in companies that sell financial products necessarily have a conflict of interest - they only get paid if you buy something they get a cut from.

Fee-only financial planners, however, are unbiased.

<comment><USER5> > Fee-only financial planners, however, are unbiased.

How so? Their bias is that they need to justify their fees, and, according to many studies, their fees can't be justified:

WSJ: "Darts Top the Readers' Stock Picks": [http://online.wsj.com/article/SB1000142412788732423510457824...](http://online.wsj.com/article/SB10001424127887324235104578243910435616872.html)

Someone earlier suggested buying and holding an index fund -- that's good advice, for reasons given here: [http://arachnoid.com/equities_myths](http://arachnoid.com/equities_myths)

<comment><USER4> I don't think we're talking about the same thing. My parents' financial planner is not even slightly involved in picking stocks. His advice was on how to structure our family's savings, which included buying and holding an index fund and pulling the college UTMA account my grandpa started out of whatever instrument it was in.

Unlike someone who worked for a bank or an index fund, though, he didn't have a perverse incentive to sell us one of his company's products.

<comment><USER5> > I don't think we're talking about the same thing. My parents' financial > planner is not even slightly involved in picking stocks. His advice was on > how to structure our family's savings, which included buying and holding an > index fund and pulling the college UTMA account my grandpa started out of > whatever instrument it was in.

Fair enough, but since this kind of general investment information is freely available online, I personally wouldn't pay someone to provide it.

> Unlike someone who worked for a bank or an index fund, though, he didn't > have a perverse incentive to sell us one of his company's products.

Except his own fees as a financial advisor, presumably ongoing. Also, you may not be aware of this, but if a financial advisor steers a client toward a particular fund, he gets a commission, despite the fact that he's an independent agent, not an employee of the fund.

<comment><USER4> > NAPFA defines a "Fee-Only" financial advisor as one who is compensated > solely by the client, with neither the advisor nor any related party > receiving compensation that is contingent on the purchase or sale of a > financial product. This definition is in direct contrast to most advisors, > who earn commissions, discounts, and other incentives when their clients > purchase financial products. Also, unlike other financial planners, NAPFA > members are required to clearly disclose the fee in advance.

Source: [http://en.wikipedia.org/wiki/National_Association_of_Persona...](http://en.wikipedia.org/wiki/National_Association_of_Personal_Financial_Advisors)

What you're saying is true of most financial planners, but _not_ fee-only planners. That's the whole point of being fee-only.

Also I will use the Internet as long as I can starting out, but things aren't always that simple. We hired an advisor this year because we received two complex inheritances (one foreign) and started drawing down college savings, all at once. My dad is a CPA and an ardent DIYer, but even he knew he was in over his head and needed to hire a professional.

<comment><USER5> You make good points, upvoted.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> "It will just happen" is advice for normal people, not you. Nothing will ever happen, not a single thing, that you don't work for. You have a chance to experiment and make mistakes socializing with girls and it's acceptable to even be rather crazy, and everyone will grow up and forget. Above literally all things, don't waste this chance. Going to a school program that has more men than women is a colossal failure of the kind of intelligence that actually matters. A relationship is the single biggest determinant of human happiness for you, weight it accordingly. Your window for finding one will end much sooner than you'd like so don't take for granted any little experience you ever have with a woman, because they will get rarer tending to zero.

<comment><USER7> Alternatively...

Recognize that you will never be happy in a relationship until you are happy with yourself. There is plenty of time to fall in love, seize the opportunity while you are young to explore and don't let yourself be tied down to a town/province/country.

My first serious relationship didn't come along till I was 24...by that point I had lived in 3 countries, visited dozens more and had hundreds of exciting opportunities (both in work and outside of work).

I know who I am outside of a relationship and I know that is a very attractive quality in myself and others.

"Going to a school program that has more men than women is a colossal failure of the kind of intelligence that actually matters."

Oh please! Going to a school program based on anything other than the quality of schooling program is a colossal failure of the kind of intelligence that matters. Schools have more than one department. Do what you love to do and make friends (of all kinds) from all over the school (Humanities, Hard Sciences, Maths, Soft Sciences..) - Life does not end with the classroom door.

<comment><USER6> You at 16 didn't need the kind of advice that I did. Congratulations, seriously.

</comment></comment></comment><comment><USER8> I agree with miles, build stuff. But perhaps more importantly _do stuff._ It is highly unlikely you've discovered even a tenth of the things that you could be passionate about.

Also don't drive by looking backwards. When I learned to sail my Dad told me that you could tell a good sailor from a bad one by the straightness of the wake left by the boat. I kept looking at the wake and trying to correct for the various wobbles in it, and that made it more wobbly. I got frustrated and told him it was impossible.

He took the tiller and proceeded to zoom straight across the lake we were on. He explained that the only way your wake would be straight is if you kept you eyes on your destination. When I asked how you could know your wake was straight if you weren't looking at it, he said "People with you can see it and will complement you on it."

It wasn't until I was much older (like 25) when it dawned on me he wasn't talking about sailing.

<comment><USER9> sorry, i think i'm a bit obtuse. may you elaborate more on this?

<comment><USER10> Perhaps: Pay attention to where you're going, not where you've been?

</comment></comment></comment><comment><USER11> Actually do something.

I talked about writing code more than I wrote code and that was a dumb mistake.

Also, if I could do it all over again, I'd make it a point to really work with C/C++. I feel like moving to any other imperative language is pretty easy if you have a firm grasp of that language.

I would also not learn Objective-C, but that's more of an opinion than anything.

<comment><USER12> > I would also not learn Objective-C, but that's more of an opinion than > anything.

        wouldYouMindExplainingPlease:whyYouAreNotFondOfObjectiveC:withAnExample:orMaybeTwo:

<comment><USER11> My big hang up is that it's not used much outside of the Cocoa environment.

Beyond that, I'm a really big fan of putting C in the hands of people who want to learn to program on the grounds that it forces you to develop good habits. You don't get awesome, abstract data structures, inheritance, etc. to help manage your project. You kind of have to develop good habits or else you end up with a mess of a project that is unmanageable after a point. Those skills apply to even modern, high-level languages. They are of course applied a little differently, but it forces you to learn good project management skills.

</comment></comment></comment><comment><USER13> 1) Math is way more than calculus. Writing proofs is the best way to train the general skills that will get you recognized as smart.

2) Stop being a coward. Always push yourself to do embarrassing, uncomfortable, or hard things, or you'll still be 16 when you're 21.

3) Gaming and computing is addictive. Don't waste precious life on it.

4) You're an idiot, and your unexamined decisions make you a bad person, though you don't intend to harm anyone. Find values to believe in, and use them to make hard or painful decisions with dignity. Foremost of those should be: treat your people well, even at your own expense.

5) Examine, accept, and embrace your feelings and your past, for better and worse.

6) Read more fiction to learn more about life.

7) You're a social animal. You'll never grow as much, or be as happy, as when you're surrounded by people.

8) Don't stop doubting yourself.

Very little of this has to do with programming or careers. But I don't regret not knowing C at 16 nearly as much as I regret all of the above. Learning to live well is so much more important.

</comment><comment><USER14> I'm just a few years past you (18) and I can tell you the most significant periods of growth I've had were when I jumped in WAY over my head.

I did design, got offered a front-end dev job, and learned HTML/CSS within 1 week after failing for 2 years.

Then I did HTML/CSS, went to a hackathon and had to dive into Rails to finish on time, and I didn't "learn Rails" but I learned a TON (and won 2nd place!)

Took up a job doing more traditional ColdFusion and XSLT sites - learned a ton in 3 days. I was also forced into learning SASS/SCSS - learned a ton within like 2 weeks.

Keep going. Get in over your head. Take on the projects that you're not sure you can finish, understand it's okay to walk away from them (jobs, too), but try your hardest not to.

Also, take CS101 at your local college ASAP. It'll get you off your feet wicked quick.

</comment><comment><USER15> _Dear Jacques,

Herewith some remarks:

1\. You have ADHD and are prone to clinical depression. Both are treatable. Spending decades suffering pointlessly isn't necessary to discover either of the former or the latter.

2\. Go find someone who can teach you Olympic weightlifting. You love it and wish you'd started much earlier. It will teach you important lessons about persistence. Plus you are one of those lucky blokes who can gain weight by frowning at a barbell, might as well take advantage.

3\. Don't go straight to university. Take some time to grow up a little first.

Yours &c &c

You._

Funnily enough, none of these are about a laundry list of technologies. When I was 16, people wrote web apps in mod_perl and DHTML was looked on as something you resorted to only occasionally.

<comment><USER5> > 1\. You have ADHD and are prone to clinical depression. Both are treatable.

Actually, according to recent findings, neither of those can either be reliably diagnosed or treated. Recent meta-analyses reveal that anti- depression treatments (both therapy and drugs) are in the majority of cases indistinguishable from the placebo effect. As to ADHD, diagnosis remains a very serious problem -- it's a throwaway diagnosis that anyone can either get or avoid, depending on their tastes. And, like depression, there's no meaningful treatment.

<comment><USER15> It was very difficult to draft this reply without becoming unproductive and I hope you take it as constructive feedback.

The contrarian articles you see linked here on HN or published in the _NYT_ are not a substitute for professional psychological and psychiatric advice. They are published _because_ they are contrarian. "Scientists still agree" is not a story.

Obtaining a diagnosis for ADHD is not "a throwaway" in most countries because the first line of pharmaceutical treatment is stimulants with addictive potential. These drugs are tightly regulated and the legal diagnostic bias is against their being prescribed.

That the mechanisms are not completely understood and that _some_ studies show a strong placebo effect does not mean that ADHD and depression can't be diagnosed or treated. The preponderance of evidence is that for most cases a judicious combination of pharmaceutical and therapeutic interventions can lead to long term improvements in quality of life for both conditions. Neither diagnosis or treatment is exact, but to throw them away for imperfection is an example of the nirvana fallacy that leads to preventable harm.

I encourage you to consider the possibility that you are deterring others from seeking help that could save their lives or significantly improve their quality of life.

In future you might consider refraining from doing so and encourage others you see struggling with mental health issues to seek out attention from a psychologist or a psychiatrist, either of whom is better versed with the current research than you or I.

<comment><USER5> > The contrarian articles you see linked here on HN or published in the NYT > are not a substitute for professional psychological and psychiatric advice.

Say what? Would that be why the director of the NIMH has recently decided to phase out the DSM as scientifically worthless, saying "Patients with mental disorders deserve better"?:

[http://www.nimh.nih.gov/about/director/2013/transforming- dia...](http://www.nimh.nih.gov/about/director/2013/transforming- diagnosis.shtml)

> That the mechanisms are not completely understood and that some studies show > a strong placebo effect does not mean that ADHD and depression can't be > diagnosed or treated.

No, it only means that diagnosis and treatment claims are anecdotal, neither scientific no reliable. Surely you are aware that health service providers are rapidly moving toward an evidence-based practice model, which when fully enacted would eliminate the majority of psychological treatments across the board, both drugs and therapy?

> The preponderance of evidence is that for most cases a judicious combination > of pharmaceutical and therapeutic interventions can lead to long term > improvements in quality of life for both conditions.

Unless you choose to count the placebo effect as a treatment success, that is absolutely false. The current literature shows that neither diagnosis nor treatment is efficacious _in any scientific sense_. As to cognitive-behavioral therapy, it has recently been shown to be indistinguishable from the placebo effect:

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

Quote: "These analyses, in combination with previous meta-analytic findings, fail to provide corroborative evidence for the conjecture that CBT is superior to bona fide non-CBT treatments."

Meaning: CBT, indistinguishable from any other therapy, is also ipso facto indistinguishable from the placebo effect.

As to antidepression drugs, a recent meta-analysis that includes studies the drug industry chose not to publish, shows them to be clinically indistinguishable from placebo in most cases:

[http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fj...](http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fjournal.pmed.0050045)

Quote: "Meta-analyses of antidepressant medications have reported only modest benefits over placebo treatment, and when unpublished trial data are included, _the benefit falls below accepted criteria for clinical significance_."

> I encourage you to consider the possibility that you are deterring others > from seeking help that could save their lives or significantly improve their > quality of life.

I encourage you to learn science, and bring yourself up to date on the present self-inflicted plight of psychiatry and psychology. You clearly are living in denial, ironic given the fact that you may be a mental health professional.

<comment><USER15> > _Would that be why the director of the NIMH has recently decided to phase > out the DSM as scientifically worthless, saying "Patients with mental > disorders deserve better"?:_

An alternative reading is that he correctly identifies that the DSM is based on consensus and that where possible he would like to replace consensus with classifications built on additional modes of observations that have only recently become available. I see that as a positive development.

> _Meaning: CBT, indistinguishable from any other therapy, is also ipso facto > indistinguishable from the placebo effect._

For someone who believes in the immaculacy of science, you enjoy leaping to conclusions.

> _I encourage you to learn science, and bring yourself up to date on the > present self-inflicted plight of psychiatry and psychology._

Your rhetoric reminds me of some of the other anti-psychology literature I've seen circulated by various organisations holding other beliefs that might be charitably considered as "exotic".

> _You clearly are living in denial, ironic given the fact that you may be a > mental health professional._

I'm not, but good luck with your Skinner Box vision of psychology.

In me you seem to see the fruits of a vast conspiracy against science and the public. In you I see a person whose determination to XKCD386 is going to cause active harm to others by spreading the idea that depression or ADHD should simply be accepted and not treated.

This one can't be settled satisfactorily. Let's stop talking.

<comment><USER5> > An alternative reading is that he correctly identifies that the DSM is based > on consensus and that where possible he would like to replace consensus with > classifications built on additional modes of observations that have only > recently become available.

An alternative to your comments would be for someone to read the original and discover that the problem is that, in psychiatry and psychology, these conditions are only described, not explained, and any meaningful treatment requires an explanation, an identified cause. Like in science.

> ... additional modes of observations ...

The issue is not "modes of observations", the issue is a widespread move toward using the methods of neuroscience to identify the causes of these conditions, and treating causes rather than symptoms.

> Your rhetoric reminds me of some of the other anti-psychology literature > I've seen circulated by various organisations holding other beliefs that > might be charitably considered as "exotic".

You aren't arguing against my views. You're arguing against the views of the director of the NIMH and dozens of other qualified critics including the editor of DSM-IV, all of whom hold the same general views I do. You're arguing against a historic move toward science.

> I'm not, but good luck with your Skinner Box vision of psychology.

It's instructive that you've posted no evidence for your position. As to a Skinner-box view of mental health treatment, I direct your attention to this account of deep brain stimulation, a procedure in which a neurosurgeon was able to erase all symptoms of depression in a severely depressed person by throwing a switch:

[http://www.nytimes.com/2006/04/02/magazine/02depression.html...](http://www.nytimes.com/2006/04/02/magazine/02depression.html?pagewanted=all)

Quote: "Deanna later described it in similar terms. "It was literally like a switch being turned on that had been held down for years," she said. "All of a sudden they hit the spot, and I feel so calm and so peaceful. It was overwhelming to be able to process emotion on somebody's face. I'd been numb to that for so long."

"As it turned out, 8 of the 12 patients he operated on, including Deanna, felt their depressions lift while suffering minimal side effects — an incredible rate of effectiveness in patients so immovably depressed. Nor did they just vaguely recover. Their scores on the Hamilton depression scale, a standard used to measure the severity of depression, fell from the soul-deadening high 20's to the single digits — essentially normal."

End quote.

I emphasize this is a preliminary result, and at the moment it's expensive and risky invasive surgery, unsuitable for any but the severely depressed. My point is that I doubt the severely depressed clients who received this treatment will object that they're being turned into updated versions of B. F. Skinner's lab rats.

> In me you seem to see the fruits of a vast conspiracy against science and > the public.

Locate that part of my posts in which this paranoid delusion finds support. There is no vast conspiracy, there is just mediocrity, denial and shortsightedness.

> ... by spreading the idea that depression or ADHD should simply be accepted > and not treated.

Another example in which, with no evidence, you invent a position for someone else. The issue before psychiatry and psychology is not whether to treat or not to treat, the issue is that there is no reliable evidence that present treatments work. This is why alternatives are being explored, and why the DSM is finally being put aside.

> This one can't be settled satisfactorily.

Of course it can. Ask the director of the NIMH. Ask those who have received meaningful scientific treatments for depression. Ask the victims of recovered memory therapy whether they think that treatment merited the public support it received. This issue certainly can be resolved satisfactorily, and the first step has been taken -- the DSM, the "bible" of psychiatry and psychology, has been set aside as having no scientific value.

</comment></comment></comment></comment></comment></comment><comment><USER16> (1) Exercise everyday

(2) Try to get enough sleep

(3) Make a very conscious effort to get out of your comfort zone and try unfamiliar things, even if you only try them briefly.

(4) Understand and accept that sometimes it takes years before a project gives any substantial results, so don't get discouraged if a project seems impossibly hard and going nowhere at first.

<comment><USER17> I love number 3. I have stepping out of my comfort zone for the past year and I have done things I thought were impossible for me.

A great book for facing your fears and expanding your comfort zone is the Flinch: [http://www.amazon.com/The-Flinch- ebook/dp/B0062Q7S3S](http://www.amazon.com/The-Flinch-ebook/dp/B0062Q7S3S)

</comment></comment><comment><USER18> Publish, even if you don't think your work is ready. Better to publish five papers which all have loose ends in need of tying up than to publish a single work of undoubted genius. Other people will tie up the loose ends, and everybody will remember you as having the original ideas.

When I was 15, I did my first significant research, discovering a novel (and significantly faster) algorithm for computing GCDs of polynomials over algebraic number fields; but I was never fully satisfied with it, since it was only applicable to fields spanned by low-degree algebraics. My supervisor encouraged me to publish it nonetheless, and in hindsight I should have done so -- if nothing else, so that the two Master's students who extended it over the following years would have had something to cite.

In your case, you're interested in programming rather than mathematics or computer science, but the same principle applies: Don't hesitate to release something because it's "not quite perfect". If you've built something cool, release it -- you can always improve it further and do another release later.

Oh, and I'd give my 16 year old self one other piece of advice: Where girls are concerned, don't waste your time. Wait until your friends are partnered and decide they want to help you. It's much easier once you have a circle of friends who can offer help and advice and encouragement.

</comment><comment><USER19> I'm a bit younger than you, but the biggest hurdle for me was just starting. Don't teach yourself Objective-C. Make an app.

I'd love it if you'd shoot me an email at zchlatta (at) gmail.com. I'm always interested to talk to other passionate people.

</comment><comment><USER20> Listen to dad. Hes right about everything, you'll realise when you're older. Be kind to mum, you owe everything to her.

<comment><USER2> When I was 16, my parents were idiots. I'm 44 now, and they sure have smartened up a lot :D

<comment><USER5> > When I was 16, my parents were idiots. I'm 44 now, and they sure have > smartened up a lot

"When I was a boy of 14, my father was so ignorant I could hardly stand to have the old man around. But when I got to be 21, I was astonished at how much the old man had learned in seven years." –Mark Twain

</comment></comment></comment><comment><USER21> The most important attribute that young programmers lack is empathy. All of the weird-sounding miscellaneous advice you get really flows from it. Commenting the "why" rather than the how, documentation, adhering to coding conventions, these are all just manifestations of being kind to the maintenance programmer, which is empathy. Making the user interface attractive and usable, providing helpful support and performing rigorous testing are just manifestations of being kind to the user, which is empathy. Cultivating articulate expression, in code, speech and writing, is empathy for those who must start from scratch to understand you and what you've done. Egoless programming is empathy for your coworkers. So you can throw away almost all of the specific advice I have mentioned and instead focus on being empathetic, and you won't go astray.

</comment><comment><USER5> > What advice would you give your 16 year old self?

I'm 68 and I know exactly what I would tell my 16-year-old self:

1\. Learn more math and science, and don't delay -- the longer you put them off, the harder they are to absorb. Math and science are the real deal -- nearly everything else is contentless opinion, much more heat than light.

2\. Try to minimize time and energy spent on dating and sexual behaviors -- they're the most overrated waste of energy ever invented.

3\. Learn how compound interest works, and avoid as many discretionary purchases as possible. "Compound interest is the eighth wonder of the world. He who understands it, earns it ... he who doesn't ... pays it." \-- Albert Einstein

I literally spent decades recovering from bad decisions made when I was young, all having to do with the above points. If I were able to confront my 16-year- old self today, I would kick myself down the stairs.

</comment><comment><USER22> I would tell myself to not be afraid of publicly failing. I had, and sometimes still do have, a really hard time putting myself out there. So, do not be afraid of the judgment of others; if you are proud of what you're doing then that's all that matters.

</comment><comment><USER23> Don't put anything on the shelf for "later". Do as much as you can now, even if it means less than perfect grades. Beware of psychological burnout if you're feeling discomfort with doing stuff. Don't go to college if you're having any doubts about its utility, but look at the course sequence for a candidate school and degree and acquire the books used for the core classes. Look for free lectures online too. If you don't have any, make at least one friend whom you can talk technical with anytime. Consider going to interesting Meetup.com meetups in your area -- especially when you're looking for a job.

</comment><comment><USER24> 1\. Broaden your interests as much as you can. When I was 16 the filed of information architecture and usability didn't exist, so as time goes on tech will be less about code.

2\. Actually play with putting together hardware. The era of building your own PC is coming to an end and you should experience that before it's gone.

3\. Life advice: Treasure your older relatives while they're still alive and tell them that you love them. Try to capture as much family history as you can and write it down.

</comment><comment><USER25> Really try to finish projects when you start them. It will be tempting to drop what you're working on when you get a new idea, or things aren't turning out the way you saw them in your mind; keep a journal for those new ideas. Keep things simple. Keep working the broad strokes before getting too wrapped up in the details. Do things in drafts, and refine in subsequent passes. Try to find like-minded people to collaborate with.

</comment><comment><USER26> Study (& enjoy) math ...that's what I'd tell my 16 year old self.

</comment><comment><USER27> Never, ever drop out of advanced math class. You will live to rue the day.

<comment><USER28> Yes, learn as much maths as you can...

</comment></comment><comment><USER29> Many of the advices that i would give to myself i'm giving them to my nieces, is good to have internet to back up some of them.

* be aware of its own cognitive bias (there is a nice listing in wikipedia)

* studying is not a waste of time, is forming a culture to better communicate with others and gaining a toolchain that will prove useful. And is not something passive, teachers guide, but is your responsibility to learn in a way or another.

* the boring math proofs worth at the very least as a training for better, more rigorous thinking, no matter if you ever see math again.

Regarding programming, recommended them to play with Scratch when were younger, and probably would recommend them to play with python as the next step, if they were interested in programming, at least.

But if I really could had given something to my younger self, probably would be the Grays Sport Almanac 1950-2000

</comment><comment><USER30> Go to college anyway even if some of the material seems boring or irrelevant. Always own at least one musical instrument. Money is quite useful but is ultimately an instrumentality. Learn enough about law and economics to appreciate the limitations of formal systems and statistical methods. Subscribe to _The Economist_. Don't smoke tobacco, but do brush your teeth regularly. Find some physical activity you enjoy a lot, which will save you from having to exercise. Don't be afraid to admit you don't know, but don't underplay your ability to find out either. Employ adjectives sparingly. Read books that you find difficult to understand.

</comment><comment><USER31> It's okay to quit things you don't like.

</comment><comment><USER32> 1) Don't worry too much about your future, follow your interests.

2) Don't panic about needing to learn everything at once. Take your time.

3) Learn how to finish things, even if that means taking on smaller tasks than you'd like.

</comment><comment><USER33> This exact question was recently asked. Many comments from seven days ago [0].

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

</comment><comment><USER34> Tell myself to finish a lot of the ideas I had started. That they were excellent ideas. It's what actually drives me a lot now when I have ideas and at points doubt what I'm doing.

</comment><comment><USER35> Learn to learn. Find out and become aware of how your focus & energy level shifts through out the day and allocating those time in well spent manner.

Deciding on what experience will likely increase % of you working with high quality people on hopefully, meaningful work. Check out one of gazillion on going opensource projects that interest you.

Read books, learn to find good books, repeat

and of course do allow some balance in life, not everything should be about being 100% productive man.

gl

</comment><comment><USER36> Don't try to be someone you're not. I spent a lot of time in my mid to late teens trying to be what I thought others wanted me to be.

</comment><comment><USER37> 1\. Do a hard degree at a good school

2\. Sleep around more

3\. Try new stuff, but it's ok to say no to somethings

4\. Make enough money that you have 6 mths savings and a few months lying around to invest - when an opportunity arises it will hit you that day and its great to just say yes.

5\. Don't worry if you can't do all this now - time your life in decades not weeks.

6\. Sleep around more. Seriously. Don't be a jerk about it but just have fun.

7\. See 6. :-)

</comment><comment><USER38> "You can do it".

Sounds super lame, but I've always suffered from from self-doubt and anxiety - especially as a young dude. If I knew at 16 that I was just about to fall in love with computers, get into university, travel the world, have a string of great jobs, then become my own boss, AND marry an amazing girl... I would be pretty fricking happy.

</comment><comment><USER39> I would advise myself to use search engines[1] when they're available so my younger self could find relevant information[2].

EDIT: dmunoz beat me to it.

[1] [https://www.hnsearch.com/](https://www.hnsearch.com/)

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

</comment><comment><USER40> Work in as many different countries as possible.

IT is one of the few jobs where you can travel/work easily. So do it.

</comment><comment><USER41> Advice to me at 16? Forget [girl A], and instead, go for [girl B] or even [girl C]. Do whatever it takes to convince your parents/grandparents to buy, in your name, 100 shares of Microsoft stock _and never sell it_ (because by the time they start paying dividends, you'll never have to work).

For a 16 year old, now, interested in programming computers, learn assembly language, even if it's just for a 6502 or Z80 [1]. It will give you a feeling for how the computer works.

Also, learn how to learn. What you learn now will change drastically over the next twenty years (when I started college, Fortran was still taught, you had actual _multiuser_ systems, and there was no such thing as a "webmaster," and Perl had just been released into the wild).

Another thing to keep in mind---there really is nothing new under the sun. Arguments about writing an application in Python over C++? Old hat (C vs. assembly). Languages targeting a virtual machine? Old hat (UCSD Pascal, and before that, various IBM computers from the 60s and 70s). It just takes new forms, which need to be learned (see previous lesson).

And one lesson that might be unorthodox---never cut-n-paste code. Take the time to type it out. That's how an entire generation of programmers who grew up in the late 70s/80s learned---by typing programs in (from books and magazines) by hand. It's hard to see how this helps, but it does. It forces you to _look_ at a program as you type it in, to see how it's constructed. No, really. In fact, if you read up on successful authors, you'll find a good portion of them actually copied (long hand, or typewriter, or computer) entire books by authors they liked.

Never be afraid of trying something out. It may not work, but now, you'll know a way of _not_ doing something. Or _why_ a certain approach won't work. Or will. You might surprise yourself. Don't let your lack of knowledge keep you from trying something, because you might in fact do something that so call experts said couldn't be done.

Oh, and keep this quote from H. L. Mencken in mind: "No one in this world, so far as I know-and I have searched the record for years, and employed agents to help me-has ever lost money by underestimating the intelligence of the great masses of the plain people."

That's all I have for now.

[1] Personally, I'd lean towards CPUs made by Motorola, as they're a bit more sane in the assembly language department, but really, _any_ CPU assembly language will help. Well, maybe not the Intel 80x86 family. The 8086, 80186, 80286, 80386, 80486, Pentium ... it's just an insane family of CPUs.

</comment><comment><USER42> get more friends and leave the computer alone from time to time

</comment><comment><USER43> Don't waste time in grad school unless you want to be a professor.

Work out a little, girls like muscles.

<comment><USER44> Don't get hung up on the girls who are only looking for guys with muscles.

</comment></comment><comment><USER45> 1\. Get involved with open source software.

2\. DO something with your skill

3\. Be well mannered.

4\. Be very careful what you put on the Internet. When I was young, I barely put my real first/last name anywhere, and the word 'avatar' meant 'cool picture of something I like, because there is no way I would put a picture of my face on the internet'.

</comment><comment><USER46> i. Study as much math as you can handle. ii. Put effort into learning foreign languages; at least one well enough for easy reading and non-painful conversation. iii. Be wary of alcohol.

</comment><comment><USER47> Actively pursue girls and recreational drugs more than you are.

<comment><USER2> What horrible advice. Be yourself, and learn to be friends with women. If you want to marry just one lady for the rest of your life, you're going to have to be "just friends" with every other woman on the planet anyway.

And recreational drugs? Learn to deal with life on your own without having to rely on crutches. I've seen too many people destroy their lives with drugs (including alcohol) and many more who need a hit/taste/boost/shot in order to deal with the stresses of life.

<comment><USER48> Sobriety can be a crutch as well. If you can't trust yourself to make reasonably sane decisions when you're totally loaded, how do you know you can trust yourself when it matters?

For the OP: Don't trust people who tell you drugs are bad when they haven't used them extensively. There are lots of ways to hurt yourself. I've seen plenty of people hurt themselves with drugs, but I've seen more of them hurt themselves in cars and on bikes and with crummy jobs. But don't over-do the drugs thing. And don't do drugs if you're not interested.

</comment></comment></comment><comment><USER49> * Get PhD. Everyone should know at least something inside and out and have contributed to that little a bump to the human knowledge. At minimum stay in school as long as you possibly can.

* Take a year off before you decide to be a corporate employee or start a corporation of yours. Go see world. There has never been time like these to experience literally 100s of cultures that has evolved during past 1000s of years. If you postpone this to later age, most likely it's not going to happen because you will have job with limited vacation or partner who has different preferences or kids who can't travel safely to wild places. You are living Marco Polo's dream. Don't waste it.

* If and when you decide to seek employment, give money the least priority. A lot of young people are fixated on money in initial years either because they want to feel safe or want to prove themselves. This puts them on path to become corporate slaves that you see all around you and get disgusted. A lot of non-profits, pure science/art organizations and academic jobs has higher possibility to unlock your potential and give you enjoyment and satisfaction than initially higher paying jobs in big corporations and likes of wall street.

* When you are young (which I mean by less than 30 years old), involve in as many physical activities as possible. Mountaineering, rock climbing, kayaking, hiking, backpacking, swimming, marathons... Pick an activity, set a yearly goal and train for it. For example, swim a mile in open ocean or run a marathon or climb a 14000 footer or do your first 5.10 rock climb. Subscribe to local groups that does these so you have motivation. All these are going to get much harder to pick up as you age. If you had started training for at younger age, you would continue to enjoy it in your 40s, 50s and sometime even in 60s. There is absolutely nothing more important than to be physically fit in your old age and you likely won't get there unless you are active through your life.

* Make _physical_ things! Have something non-trivial to show for each year that you _made_ by your own hands. This would require to learn electronics, carpentry, machine tools, automobile engineering, plumbing, sewing, cooking and so on. Pick one of these skills, enroll in to real course at community/professional colleges and set a target to make something. These are skills takes years to perfect and unless you start at early age, chances are that you are not going to master it.

* Don't rush to get married. A lot of times you will find a person who you think is perfect for you. You might even have anxiety to lose her/him. Take as much time as you possibly can without getting married. This is essentially to get to know person and them to know you. Once you get married, life is very different. You will take less risk and you will have far less time for anything else and your choices will be governed by mutual agreements instead of your own will. It's not a waste of time but it's different. If one you or both decides you have children, your life will change even more dramatically again. With even less risk taking, even less hard core exploration and even less time for anything else. Having children is rewarding but while you are young, do things and invest your time in things you can't do later.

</comment><comment><USER50> Create.

</comment><comment><USER51> Invest in some kind of fruit company

</comment><comment><USER52> Launch cheap, build value.

</comment><comment><USER53> join the army after college

<comment><USER23> Why after? Most do it before, I think that's the better strategy if you're going to do it at all. Easier to get fit when you're younger, the army will happily fund your college costs after, and if you're smart you might get to work with some neat tech in the army you wouldn't otherwise...

<comment><USER53> well for me I was finished with college when I was 20... maybe it would have been better to do it right after high school. Based on my personal life I think after college at 20 would have been a solid time to hit it, also noting that I graduated high school in 99 and college in 02, so I considered it during the nationalistic wave of that time period.</comment></comment></comment>