Ask HN: What should I tell my cousin who wants to go to a "coding boot camp"? - <AUTHOR> She's a recent grad with an international relations major.  Now wants to go to a local web dev boot camp, which looks to me just more-or-less legit.  Any alternative ideas? <comment><USER2> I did one.

I HIGHLY suggest vetting the placement "statistics". For me, I just read 95% get a job, went to the open house, listened to a couple "rah rah" testimonials and did it. It was a big mistake.

A friend of mine from the class estimated that only 30-40% of us got actual dev jobs. The rest are either in customer service at a tech company, sales or testing (keep in mind this is people who dropped $15k+ to do the bootcamp), back in our old industry or in the case of one, working at Trader Joes.

I was under the impression that 95% get good jobs. If I had known only 30-40% did I would have never done the boot camp.

How did they manipulate the numbers? I never dug deep but here are my thoughts:

* to qualify as "actively looking" you can't have a job to support yourself. That's right you're supposed to not have an income while job searching, kinda hard when it can take more than six months. If you get a job, you get dropped from career support and your statistic gets placed in the "not actively looking" category

* "industry related jobs". If you go to a dev boot camp, you want to be a dev. You're paying $15k to do it. A customer service job at a tech startup is better than nothing but you don't have to pay $15k to do it. Likewise for sales.

As a positive point, all the females in our cohort got dev jobs, including the only one who actually failed the class. Startups are pretty aware of the gender discrepancy and actively looking to hire those with double x chromosomes. Not complaining about affirmative action, just wanted to give you as full picture as possible

<comment><USER3> Things have changed over the last few years and what was true in 2013 is no longer true.

In 2013, the few bootcamps that existed and the fewer cohorts they each had were much more selective and they were producing in total many fewer candidates. The result is that bootcamp grads were very high quality (albeit very junior) and they got snapped up quickly.

In 2017 there are bootcampers everywhere flooding the market.

So I'm not sure they are outright lying but maybe they are using data to market their programs that is out of date.

<comment><USER4> The first two CS courses at my top university are enough to be qualified for your entry-level junior engineer: the intro course "Programming with Java" (recently changed to Python now), followed by the second course, Data "Structures & Algorithms."

All the bootcamp would have to do is be similarly very selective and do the same exact curriculum, and the people who "survive" these two weed-out courses (you needed to score higher than half your classmates in each course to receive a passing grade, otherwise you had to keep re-taking it) would be the ones able to get hired with nearly 100% placement.

<comment><USER5> > you needed to score higher than half your classmates in each course to > receive a passing grade

Was this actually the rule dictated by the professor/curriculum or just a rule of thumb?

<comment> purple-again This is common in highly ranked programs in the United States. We had the exact same system in my accounting program which was ranked 11th in the nation at the time.

</comment></comment></comment></comment></comment><comment><USER6> I'd tell her to do some work on her own before signing up. The internet is jam packed with courses, guides, tutorials and references for all the skills needed for web dev, for free. Pick a tutorial and work through it. Then dream up a really simple project—todo app, pet store, tick-tack-toe or whatever—and build it from scratch, using the same stack.

Then with that under her belt, sign up for the boot camp. The advantages of this approach are:

      - she'll find out if this is something she really wants to do before plunking down thousands of dollars
      - with a bit of background knowledge, she'll be better able to absorb what's being taught at the bootcamp
      - she'll have a better idea of what she wants to specialize in and can select the right boot camp for her

Also, find the community she wants to join. There are a gazillion places where web devs hang out online and talk shop. While doing her prep work she should seek out the places appropriate to the stack she's chosen and lurk. Stay engaged through the bootcamp and during her job search afterward.

Finally, pay attention to open source. Not a lot of professions do their work out in the open like that, so take the opportunity to see how the sausage is made! Find the open source projects that these communities contribute to, and watch them do it. Follow the discussions on mailing lists, Github issues and pull requests. Look at the code and try to understand the criticism arguments. Ask questions. People are shockingly willing to help newbies who are trying to understand.

The bottom line is, there is real value in getting an expert to teach her how to code, but the more work she puts in herself, before, during and after the bootcamp the more she'll get out of it. If she's looking to pay $15K and get a high-paying job in exchange, she'll just waste the money.

</comment><comment> et-al Which one?

Key things are:

\- you get out what you put in. attending a boot camp is not a guarantee you'll land well-paying job. you have to demonstrate to a new employer you've mastered the skills to help their company

\- depending on the bootcamp, it will take 8-10 hours a day. your social life aside from the days off will be shot. and the days off are spent doing laundry and playing catch-up on life

\- don't neglect your fitness. since you're inside 8-10 hours a day, go to a gym and sweat for balance. otherwise you might suffer from burnout

\- save up for at least 3 months of joblessness after the bootcamp while you look for work

\- ask the bootcamp if they do interview prep. while it's cheating the system in some ways, it's extremely helpful for people who haven't been through the interview process. if you don't think well on your feet, or suffer test anxiety, this may be an issue

\- lastly, if she hasn't done any programming at all, it'd be prudent to sign up for a local junior college course, or udemy to see if she actually likes doing it. i have a friend who talks all day about joining a coding school, took a python course, and realized it's not for him. it's better than accumulating more educational debt

</comment><comment><USER7> Before going through a dev-bootcamp, I recommend (especially if you're a coder already) to get her through Learn Python The Hard Way.

[https://learnpythonthehardway.org/book/](https://learnpythonthehardway.org/book/)

Best case it'll take less than a month (2 exercises per day, 52 exercises), is basically free, and if she's happy with everything at the end of it, she'll be FAR more prepared to jump feet-first into a dev bootcamp.

I compare learning to program to learning a language. 99hrs of having French slapped across your face won't make you a native French speaker, it's a long road to proficiency and mastery. Neither will 99hrs of Programming make you a native "Programmer".

However I'd pick someone who went through that 99hr drill over most people who hadn't even started.

<comment><USER8> I could not resist...

but do you want to confuse her with python2 vs python3? When python2 should be out of the question, even if it's default on macOS. Though to be fair the difference should be learned, but it shouldn't be promoted to learn python2 for beginners. It will just confuse them. Even though many years have passed, but I think soon many libraries and frameworks will not support python2 at all (e.g. Django's next version will not), any new code I write - I write it in python3 and never think about python2.

The LPTHW is built for beginners in a sense, that it's easy to read and follow, though author is extremely __butthurt__[0] against python3 [1]. I guess it's the authors _shtick_ to be extremely opinionated, to a degree of incoherent blabber [1].

[0] sorry for my language

[1] [https://learnpythonthehardway.org/book/nopython3.html](https://learnpythonthehardway.org/book/nopython3.html)

P.S. Though "Appendix A: Command Line Crash Course"[2] is probably one of the best promotions and intros into CLI .. and that is very useful to learn, instead of locking yourself as a beginner into some IDE.

[2] [https://learnpythonthehardway.org/book/appendixa.html](https://learnpythonthehardway.org/book/appendixa.html)

<comment><USER9> Your remarks are extremely sound. The good news is that LPTHW is now Python 3[1] :)

[1] [https://learnpythonthehardway.org/python3/](https://learnpythonthehardway.org/python3/)

<comment><USER8> That's good news. Though it's still not complete

Before in examples there were stuff like this:

        $ python -V
        Python 2.5.x

</comment></comment></comment></comment><comment><USER10> We've hired a few people from bootcamps. I admit that I was a bit skeptical going in, but I am very happy with everyone we have hired from that direction.

There is nothing in CS that you can't learn on your own and/or on the job. You do not need a school to teach you. Having said that, you need to _want_ to learn this stuff and it is a _long_ road. Decades after I graduated, I'm still learning new things (especially math -- since I sucked at it in school). So my first piece of advice: Realise that after a boot camp you will not know enough, nor have enough experience to really be qualified to do the job. Anybody who picks you up is taking a chance that you will grow into the job. Attitude is by far your biggest selling point.

If you go in with a hunger for learning and infectious enthusiasm, you will be a benefit to your team, even while being under qualified. If you go in thinking, "I don't really know if I want to do this, but it seems like an easy job that pays well", just stop now. I really can't stress that enough. Don't pay thousands of dollars to go to a boot camp to see if you want to do this stuff. Like I said, you can boot your own camp trivially. Computer + Internet + passion for learning will get you there. A good boot camp can really help you focus and point you to efficient ways of learning, but it can't give you the drive you need to succeed. My second piece of advice is to experiment first.

Finally, all of the people we have hired from bootcamps have had experience in other industries. Let me put it bluntly: They know how to show up to work every day and put in a full day's work. They know how to show up to meetings on time and pay attention. They know how to deal with difficult political situations. They know how to avoid being hung over on a weekday. Finally, they have experience being in a job that they hate and they have spent considerable amount of time and effort understanding what they want from a career.

My final advice: Don't graduate from school and go straight to a boot camp, unless you know for sure that you missed the boat and are desperate to be a programmer. Get some experience in the job world. Save some money. Think critically about what you want from your career. Then if you still want to make the jump, go ahead. Like I said, computers and the internet are everywhere these days, so it's not going to stop you from learning on your own.

</comment><comment><USER11> I wouldn't be discouraging here or 'looking for alternatives'. I'd be congratulating her on entering a field with a low supply and high demand for talent. This industry pays very well and we need more female developers. So why would this be a bad choice? (rhetorical question - actually this may be a horrible choice, but keep reading)

I completed an online coding bootcamp about 5 years ago and got a job almost immediately afterwards. I've since become a Lead Dev for a local SaaS company, a mentor at that same school I graduated from, and a part time curriculum contributor.

This level of skepticism towards coding bootcamps is fair. I've seen some horror stories. But here is the thing: All failures involving more than 2 parties are usually the fault of both parties. Here is what I mean:

I'm currently mentoring about 5 students. Out of those 5, 4 are doing incredibly well. They are picking up the concepts, putting them into practice, and showing true growth. 1 of them is struggling hard. What is the difference? Well, in my opinion the difference is motivation. The 1 that is struggling did well his first few months, but when it got hard, he just wanted to start applying for jobs with what little he had learned. He didn't want to put in the work to finish his education. He was solely focused on the $$$ and not the thrill of solving problems with code.

So how could she decide if she will actually enjoy learning to code vs become someone that is only excited b/c of the money? Easy - try the free/cheap stuff first:

1\. Codecademy.com 2\. Codeschool.com 3\. Lynda.com 4\. Learn_____TheHardWay.com

The list goes on for a while. Tell her to sign up for one or two of the courses here and build something from start to finish. Nothing major. A todo list webapp, simple blog, or the like will do.

Then ask here: "Can you see yourself doing this 8 hours per day/5 days per week? If she can give you an honest 'yes', then offer her all the support you can give. If she hesitates, have her do more of the cheap/free stuff till it is clear. If it is a no, then it is a no.

Hope this helps. Sorry for the wall of text.

</comment><comment><USER12> If she wants to be a software engineer, tell her to teach herself. I think the reason why many of the graduates don't get jobs is because Tech is really hard, and almost all of it you have to figure out yourself to be a good engineer. A lot of the boot camp attendees are the type that need to be taught, it actually looks better if you teach yourself. It shows your independence and drive, which are very hirable qualities in Tech. That said a good mentor can go a long way too (there are plenty of those for free as well) :)

<comment><USER13> I've been developing for 12+ years in many different languages & frameworks. I don't code much anymore due to having to support myself financially, but I certainly didn't find that anyone was impressed with the fact that I taught myself. I never got an offer and likewise ended up choosing the boring but well paying supervisor position in an unrelated field.

<comment><USER12> I think that probably has more to do with how you market yourself. Me and two of my friends all taught ourselves and all of us work on major top level projects now only about 3 years later. I think my point is that there is a type of person that makes a really good software engineer and those types of people typically don't need a coding bootcamp. If you market yourself as having found your passion and built a lot of awesome stuff on your own I guarantee that you will have work.

</comment></comment></comment><comment><USER14> I just want to point out that anyone giving advice on this issue, as with anything else, will have their own personal biases. For example HN has a high percentage of startups and "bleeding edge" tech companies which may value skillsets and credentials differently then say a midwest enterprise software company. If your cousin needs advice gaining entry to midwest enterprise companies, it may be more valuable to pose this question locally or else risk giving the wrong advice to your cousin.

</comment><comment><USER15> My answer would depend on several factors.

Has she ever tried coding, and if so does she see herself enjoying it as something she'd be doing several hours a day?

What is her reason for an interest in programming? Is it an interest in tech, solving big problems with tech, money, something else?

Would she be OK knowing that the job search for a bootcamp grad with no prior coding experience may be rather challenging (many grads go to work for the bootcamp itself, which is mutually beneficial as it boost placement stats while also giving the grad a job)?

How is her financial situation? Can she absorb a hit?

Is she incredibly bright and dedicated to the point of potentially being able to enter the field based on n months of self-directed education for free (MOOCs, online tutorials, videos, books, etc)?

The question is a bit more complex than it seems.

</comment><comment><USER16> My company has hired several coding boot camp alumni; some directly from bootcamps, some after a coding bootcamp + some years of work as a dev. We've had good results and most of the grads I know have had positive experiences.

It's important to note that coding bootcamps are not created remotely equally -- some have stringent application requirements, whereas many are essentially scams / chop shops. I strongly caution against the latter.

In particular, at least one bootcamp that I know of only charges tuition after you get a job as a software engineer, and charges a % of your first year's salary. It's a really great way to align incentives between the bootcamp, students, and employers and I'm a particular fan of this program.

<comment><AUTHOR> I'd be grateful for specific pointers on vetting the camps. The one in question is legally an LLC, with no industry sponsors, but some association with a local religious college. Interested to see your positive view on the percent of salary tuition arrangement. There are at least two such camps: in SF, and in Seattle.

<comment><USER16> Have seen good results from App Academy (in NYC in particular) - they follow the business model that I mentioned above. I don't know the details of all the bootcamp alums on my team, and am also unfamiliar with the tuition structures of different bootcamps. My info is also about 2 years out of date.

IMO these bootcamps are producing a basically undifferentiated product curriculum-wise (which, by the way can be learned via self-teaching on the internet). Only a few have real brand recognition. Drive, curiosity, raw horsepower, etc are a lot more important.

For specific pointers: your cousin should speak to as many recent alumni of various programs as she can to ensure that she has a legit program on her hands. Speaking with hiring managers is a good bet as well; "I've never heard of that place" is bad; "That place is a scam" is worse. She should also ask what the pass/fail rate is for students in the program. High graduation rate + upfront payment is arguably bad (shows they're incentivized to just get you out the door).

Best of luck!

</comment></comment></comment><comment><USER17> Dev Bootcamp circa 2013 alumnus here.

I can't speak for how bootcamps are now, or the state in which DBC exists in 2017, but I can say that my cohort(s) were made up of lots of men and women and people ranging from border-line genius level to those with no programming experience. Those who came out and landed careers were the same individuals who had the drive and the passion, plain & simple. A person looking to be handed knowledge on a silver platter, eventually leading to a golden key to land a job, will be sadly mistaken no matter what kind of school they go to.

As others have said, it would be good for her to start learning to program on her own so she can see if she actually has any interest. It will sound cruel for me to say this but, if she hasn't already taken the initiative herself, the chances are low that she's cut out for it. Note that what I said just now is strictly my opinion. It certainly doesn't mean it's too late for her to begin now, but the drive is super important. This is coming from someone who went into a field knowing very little about it but expecting that passing the courses was going to land them a high-paying job. I switched to programming because I was forced to look in my heart and decide whether or not I was going to struggle to bestow bad art on to the world(as if there isn't too much already) for some short-lived glory. Plus I was already programming and already had the drive; I just needed reality and some good people to give me a good kick in the right direction for me.

Determining the legitimacy of a boot camp is difficult. I don't know that you really can. But what I got out of my boot camp was not so much an education but the space and the resources to accelerate my process into taking a full dive into web development, Agile, etc. On a technical level, there's almost nothing that a boot camp does that you can't get out of an online course. Heck, you could form your own "boot camp" with a Meetup group and spend maybe 1/100 the amount you'd spend on a boot camp tuition. A person has to go into a boot camp expecting a space, resources, and some leadership, rather than a concrete curriculum. At the end of the day, you can work for a company and not even include your education on your resume so long as the work that you have done stands out.

</comment><comment><USER18> Someone I know graduated from Hackbright, the bootcamp for women that has a decent reputation but also fairly expensive. It's been a couple of years and she hasn't gotten a programming job, I don't even mention it anymore.

So your mileage might vary. I'm deeply skeptical of anyone from a bootcamp, to be honest. I think if you can really learn something and get your foot int the door with a small startup, then it opens the doors, but it's also hard without signficant amount of dedication.

<comment><USER19> In defense of Hackbright, I have hired multiple grads from there and had we had the room, hired more great candidates we talked to and all were great. Consistently produced good candidates. Just like any class though, there's going to be a distribution in results.

</comment></comment><comment><USER20> Why do you feel the need to stop her from going? She's not going to become a master at computers, but maybe it will spark an interest in the field. It seems like this is always the case with people either forcing coding onto people or trying to persuade people to not even touch a computer. Just let people do what they want.

</comment><comment><USER21> For beginners, it's critical to learn concepts of software development instead of the syntax memorization and regurgitation that seems popular to collect like scout badges. The fewer syntaxes one has to learn in the beginning, to do the most, the better. To keep a list to the minimum, I'd probably start with HTML, a bit of CSS, and then go to Javascript to teach web and then mobile development.

I am not a day to day js framework/backend guy.

<comment><AUTHOR> I hear you on that -- I've been looking for a path that starts with the best- structured languages, as vehicles for learning the more powerful concepts: static vs dynamic typing et al. So, Golang, Python, or Typescript. School in question is a bit behind the curve -- "PHP/MySQL".

<comment><USER21> PHP/MySQL is fine to learn to build web apps too. The problem is when you have to learn 30 different things in some languages to create your own stack (Ruby, node, etc) for beginners.

</comment></comment></comment><comment><USER22> > _Any alternative ideas?_

From the comments so far, I think there's some confusion about what you mean by this.

Are you trying to dissuade her? Motivate her? You're neutral, but asking for suggestions of things she might do to satiate coding desires other than a 'boot camp'?

<comment><AUTHOR> A few months previous I suggested online self-instruction, but didn't hear back on the idea. Perhaps some people prefer the social structure of a classroom for learning.

</comment></comment><comment><USER23> Why do you need alternative ideas? You could just let her go to what she wants to. We technology people seem to have this built in need to get people to try other things than what they want to do. It's a form of controlling behaviour.

<comment><USER24> Would you say the same if she wanted to go to an expensive acting workshop that promises she will land a job with Hollywood in just 12 weeks? (And that might not even be a lie, since someone needs to be the extra that gets shot in the first 5 seconds.)

Not saying all or even most coding boot camps are like that, but based on my reading of HN submissions, some definitely do overpromise and underdeliver.

Finding potentially more fitting ways of getting into the field could simply be helping out.

<comment><USER25> A sincere question that I have often: what if the jobs these people land (and that many that we here do) are _not_ Hollywoodian at all? What if that does indicate that a lot of the things we can do can be done by someone with this level of experience and aptitude?

Related: [https://www.wired.com/2017/02/programming-is-the-new-blue- co...](https://www.wired.com/2017/02/programming-is-the-new-blue-collar-job/)

</comment></comment></comment><comment><USER26> Try pyschools.com or codeschool.com and see how much she gets it on her own. I truly believe being a programmer is a third logical intuition another third resourcefulness, and lastly discipline. She has to be able to demonstrate them all and the websites I pointed to (especially the former) will certainly test her.

</comment><comment><USER27> A friend of mine used to teach at one of those programs. He quit because he got sick of parroting placement numbers he knew were fraudulent.

The ones who got good jobs were good applicants. They would have gotten the Dev job anyway. The ones who weren't strong got swept under the rug.

Your cousin might do better taking a year of CS classes and working on outside projects

</comment><comment><USER28> She should not go in cold. She should work through "Learn Python the Hard Way" or Chris Pine's Learn to Program first, at least, before committing to something like this. I did a bootcamp some time ago. Everyone who came in completely cold failed the program. Standards now might be such that she survives the program, but she will be unhirable. If it's a finishing school after putting in much work on her own, then maybe it makes sense. Assume every number you see related to job placement to be fraudulent at some level. Getting a job coming out is likely to be difficult - the market is saturated with bootcamp grads. All that being said, if she finds out she really, really likes programming before starting the bootcamp, puts in months of work beforehand, and is willing to put in thousands of hours outside of work in the years that follow, then go for it.

<comment><USER29> No familiarity with bootcamps specifically but, even with more traditional CS degree programs, this seems to be good advice. I don't program professionally but have done some on the side for a long time.

Even checking out some of the "Intro to Programming" MOOCs from better institutions, it was pretty obvious to me that I'd have been utterly overwhelmed going into any of these cold as a student. If even a text editor or a command line is a new experience, there's just too much foundational knowledge/experience that has to be gained to move forward with what you're actually supposed to be learning.

(I know there have been efforts at places like CMU to teach intro courses that are actually real intro courses.)

</comment></comment><comment><USER30> (Foreword: I went through a bootcamp, had a positive experience).

The only reason not to go through a bootcamp, presuming it is reputable, is price sensitivity. They offer better value than a college degree (salary offer wise, both for technical and non-technical roles in tech industry), accelerate the pace of early-stage learning, and create healthy habits that are distinct to programming (e.g. tests, debugging, pseudo-code).

Long list of positive reasons here, as long as mindset going in isn't "I'm going to be a developer in 9 weeks" (true only on the loosest definition of the word).

</comment><comment><USER31> Mattering your location and whats around I would advise meetups and/or hackerspaces. It would give your cousin a good feel for the local environment. As well she might meet some people that try the boot camp out. If she does do the boot camp I would advise her to do some self study before hand. These boot camps try to cram as much info they can into a short period of time. She would probably get more out of the boot camp if she tries to learn coding on her own first. There is a ton of free resources she can try before hand.

</comment><comment><USER32> Actually I think this self-learning approach is a great example of what it takes to be a great developer regardless of background (or formal training).

[http://signaltower.co/jennifer-dewalt/](http://signaltower.co/jennifer- dewalt/)

She built one project each day for 180 days learning a bit more each day. She chronicled her mistakes and successes. HN had a post on it at the time and the majority of developers that responded were very supportive.

</comment><comment><USER33> Taking for granted most of the other answers here ('make sure she has tried and likes coding' et c.): Have her look up reviews of the program on [https://www.coursereport.com/](https://www.coursereport.com/) and www.switchup.org. Have her visit local meetups and conferences, there will surely be students/grads there that she can talk to and can get eyewitness reports from. Have her ask around to disinterested third parties that have had contact with the program and see what their appraisal of the program is. Have her contact the program and see if they will provide contacts to grads that she can talk to (while they may be biased, a 'yes' is much better that a 'no'). (Full disclosure: I went to a bootcamp and got a good job very soon afterwards which I have had for a year. True, some programs are shady, but these seem to shut down quickly. A bit of research seems like all that needs to be done to make a decision and if it works for her there is no reason to worry.)

</comment><comment><USER34> I did one and had a bad experience; I still think they are worthwhile.

Much like colleges the rigor varies a lot BUT unlike colleges you're class will have a massive impact on your educatoion.

I studied a lot before I went in, it is highly recommended. Some other students struggled because they did not do much prep. Some students were annoyingly inquisitive and volunteered off-topic stuff frequently, eating into class time.

Have a capstone project or goal in mind when going in and try to do some pared down version for a final project(nearly all I have researched have several projects).

If you (op) can, help her get familiar w/ a dev environment. Explain things in depth and assume little. I was learning the _absolute_ basics and someone introduced me to git, rails, terminal, scaffolding and ruby over a 10min convo. Obviously, it is great to dive in, but finding out what is important and how things work is important. Show her text editors, basic command line, git ect. Resources like hacker news, stack overflow, and maybe shell into an AWS instance.

I think they can be great, but they require a lot of prep, and a lot of research

</comment><comment><USER35> To try FreeCodeCamp first:

[https://www.freecodecamp.com/](https://www.freecodecamp.com/)

</comment><comment><USER36> Boot camp is a good supplement to college, not an alternative, so tell her to work hard and have fun, and ask lots of questions.

</comment><comment><USER37> Freecodecamp.com is free if price is an issue.

<comment><USER38> Really found the community and structure of freeCodeCamp to be amazing for me to make progress. The actual teaching is not very detailed- they show you a little but then intend that you learn to Google and use the documentation to find stuff out. I recommend having some other source of learning in parallel with FCC. Can also be free.

</comment></comment><comment><USER39> Great idea. Communicating about systems and their properties is a key programming skill, which is more likely to be gained learning in a social environment such as a web dev boot camp than solo. Success will require long solo hours, but I don't think social learning is ever a bad idea... especially when changing careers.

</comment><comment><USER40> Try looking at the consultancy end of tech. Typically, if they like your face and grades, they'll put you though an internal bootcamp, or send you somewhere, at no cost to you. Starting salary should be maybe $70k+ and up for a new grad.

This is a much better idea than dumping money into a bootcamp.

</comment><comment><USER41> I would advise trying free/cheap lessons first. E.g. freecodecamp, Lynda, udemy, CS50x, etc.

</comment><comment><USER42> [https://www.railstutorial.org/](https://www.railstutorial.org/) it's free _, self-paced, with great instruction and lots of lectures /discussion scattered throughout the internet.

_ support hartl :)

</comment><comment><USER43> Spend 80 hours on Lynda.com first. Then decide if coding is really where you want to be.

</comment><comment><USER44> Tell her she should look at it as a way to beef up the "skills" part of her resume and also help her build a personal portfolio. She will not be handed a job upon finishing, but will have a better resume.

</comment><comment><USER45> I would say: go for it! Why not? I don't actually get what's the doubt.

<comment><USER46> "Why not?"

Well, I might start at the $10-$15k price tag.

</comment></comment><comment><USER47> I recommend John Guttag's _Intro to Computation and Programming Using Python_ to people interested in starting to code, as the accompanying video lectures are available on MIT OCW and the book itself is enjoyable to read. That book (+ the Django tutorial) might be a good way to get started before doing a boot camp.

As others have pointed out, there are other ways to learn the material, but it may be that the 'career day' activities, etc. are worth the price of tuition.

</comment><comment><USER48> Read a coding book first, see if she has a nack?

</comment><comment><USER49> Spend £10 on a Udemy (or wherever) course and see how she likes that. If she picks things up and enjoys it then maybe the boot camp will be a good idea or maybe she finds she can do it herself or maybe she finds she hates it all.

For £10 you can't really complain whatever the outcome IMHO.

</comment><comment><USER50> Why not just apply to a master's program? She can probably get a dev job while enrolled. At least then she'll get a better signaling artifact than a boot camp certificate and probably spend less doing it.

</comment><comment><USER51> Grit your teeth and don't give up. If the person is a she, just get a hard skin, don't let anything affect her resolve until she knows for sure if she wants to code or not.

</comment><comment><USER52> Cool! I usually suggest people pick up a book and try learning enough to build something simple first so they get a feel for what's involved and whether they like it.

</comment><comment><USER53> tell her to get a real job - that she can count on. sous chef. turbine maintenance mechanic. accountant.

<comment><USER54> As a chef, please only people with passion, we have enough mediocre chef's, and really the pay is shit.

</comment></comment><comment><USER55> waste of money, invest in either getting a new gear(high-end laptop, licenses etc...) or a recognised qualification or a cert

</comment><comment><USER22> > _As a positive point, all the females in our cohort got dev jobs, including > the only one who actually failed the class. Startups are pretty aware of the > gender discrepancy and actively looking to hire those with double x > chromosomes. Not complaining about affirmative action, just wanted to give > you as full picture as possible_

You _should_ be complaining! _Especially_ given the rest of your story.

This kind of thing is such bull shit.

Before you down-vote me: a man passed and now works at Trader Joe's; a woman failed and got a software engineering role.

Reverse those genders, and if you're outraged, have a think about whether you should still be down-voting me.

<comment><USER56> It's called "positive discrimination" for a reason. We're positively discriminating _to the benefit_ of women (or minorities, or whomever) now, to make up for the decades of negative discrimination that these groups have suffered.

Don't think it's fair? Interesting feeling, eh. Not very nice, eh. Be glad you haven't suffered it for literally your entire life.

<comment><USER22> > _Be glad you haven 't suffered it for literally your entire life._

I am. I'm young enough, though, that I'm acutely aware that the roles are going to be completely reversed for men not that much younger.

I've been unable to attend technical talks at my university that sounded interesting, because they're 'women-only'. There are exclusive events, clubs, networking for women - but of course there aren't equivalents for men! Disassociate yourself from the poor fool who dare suggest such a horrid thing!

I'm all for equality, but manifestly not for 'positive discrimination'. At some point, the tables will turn, and the generation of men below me will perhaps have this feeling of having 'suffered it for literally [their] entire life', and will want to positively discriminate back.

Or, we could just consider people on their merits, rather than their gender. Y'know, what women say they want?

<comment><USER57> My car pulls to the right slightly, I turn the steering wheel slightly to the left to adjust. We do that in society, folks start to complain. I have to suspect they're not out to fix society, but rather to preserve their good position in it.

<comment><USER58> Or instead of a band-aide solution you could just get an alignment and solve the underlying issue.</comment></comment></comment></comment></comment>


JavaScript- Lodash vs Js function vs. for vs. for each - <AUTHOR> https://github.com/dg92/Performance-analysis-es6 <comment><USER2> There's no description of what's actually being tested but you can find it in the formulas.js file: [https://github.com/dg92/Performance-analysis- es6/blob/master...](https://github.com/dg92/Performance-analysis- es6/blob/master/formulas.js)

Even on one of the first lines, there was already a mistake with how reduce is called:

        let avg = 0;
        console.time('js reduce');
        avg = posts.reduce(p => avg+= (+p.downvotes+ +p.upvotes+ +p.commentCount)/3,0);
        avg = avg/posts.length;
        console.timeEnd('js reduce')

The way he's using it makes it no different from a forEach. It should be `posts.reduce((p, accumulation) => accumulation + blah, 0)` instead.

Also the timing isn't very sophisticated. Doing microbenchmarking right is basically black magic but the mistakes he's making are really basic (only running each version of the code once, not preventing dead code elimination, etc). Someone mentioned elsewhere that the timing for the large case is faster than the small and my guess is that the entire calculation got JIT'd out since it's unused.

<comment><AUTHOR> Thanks for pointing out a mistake on reduce, I missed that.

The data collected is not on running it once, the results are avg. of running same code at least 15 times.

</comment></comment><comment><USER3> Not mentioned here, but worth considering: Lodash's forEach works on "array- likes" not just proper Arrays.

It works on `arguments`, it works on strings (iterating through characters), it works on objects (passing the key as the iteratee's second parameter in place of an index value), it works on HTMLCollection pseudo-arrays. It also doesn't throw on null or undefined.

<comment><USER4> As of ES2015 you can convert an iterable like HTMLCollection into a regular array by using the spread syntax:

        [...iterable]

<comment><USER3> You have always been able to convert them with:

      Array.prototype.slice.call(htmlCollection);

Which has been the canonical way to cast them. But it will still throw on null or undefined.

</comment></comment></comment><comment><USER5> In the context of a large client application, I often advise engineers that if we're optimizing things like the types of `for` loops we use, we've won the performance lottery. That is, I've never found a critical performance issue that is the result of using `forEach` instead of `for`.

<comment><USER6> I had the opposite experience. We had a large client application that was too slow, with no obvious bottleneck on the flame graph. I replaced all the functional iterators by for loops among other similar optimisations, and improved the performance by a factor of 50. If you use programming constructs that are 50 times slower on average, your program will be 50 times slower on average.

<comment><USER7> > If you use programming constructs that are 50 times slower on average, your > program will be 50 times slower on average

Well, yes, but the relative difference between a for and foreach loop is _miniscule_ \- not 50x difference. In absolute terms, the overhead of both is barely measurable, and is extremely unlikely to be a bottleneck in any client- side application.

</comment></comment></comment><comment><USER8> I haven't had a chance to dig through the code yet, but some of these results seem a bit off, especially surrounding the for loop.

For example, here are the results for the for loop 'reduce' on the small data set:

100 items - 0.030

500 items - 0.574

1000 items - 0.074

That doesn't make sense to me. How can a reduce on 1000 items be drastically less than on 500 items. Unless I'm misunderstanding something, I can only conclude that it's either A) a typo or B) they only ran this test once and the random data for the 500 test was exceptionally tough to deal with.

Either way, I would love a little more detail with the data before I trust it.

<comment><USER9> Haven't tested it (or even read the article :) ), but maybe some kind of JIT optimization kicks in the 1000 element case (ie afer the "loop" ran enough times) but not in the others?

<comment><USER10> The best case would then be that at the 501st element, the JIT has suddently made the code so fast each subsequent item is practically instant. In that case, the 1000 run would be as fast as the 500 run, not significantly faster.

EDIT: Maybe what happened is that the 500 case made the engine conclude that the function is called frequently enough to be optimized, and the 500 run both spent a while with the slow version and spent some time optimizing it, while the 1000 case got to exclusively use the optimized version.

Just goes to show that benchmarking complex multi-stage JITs can be hard.

<comment><USER9> True! That was just off the top of my head. I suppose you could imagine some kind of really smart dynamic analyzer which looks at the list length _before_ starting the reduce and goes "oh, I'm going to repeat this over 500 times, better JIT it now". In that case the 1000 element case _could_ be faster. But I don't know much about JIT compilers/analyzers and this is just theoretical, so you're likely correct :)

</comment></comment></comment></comment><comment><USER11> It does not specify a vm or version. I assume it's v8 on node, but there's no way to infer what version was used.

If using node, use process.hrtime() rather than console.time()/timeEnd(): [https://nodejs.org/api/process.html#process_process_hrtime_t...](https://nodejs.org/api/process.html#process_process_hrtime_time)

Then, computing the length multiple times is not a good idea. You should save the length in a variable:

        // no
        for(let i=0; i<posts.length; i++) {

        // yes
        for(let i=0, n=posts.length; i<n; i++) {

Finally, it is not recommended to analyze performance in this manner. A slight little change elsewhere in your program can affect the performance very abruptly.

This is because the gatekeepers of performance are: inline caching, hidden classes, deoptimizations, garbage collection, pretenuring, etc.

<comment><AUTHOR> So, after working on this for some time and reading a lot, i realized that this example is more of a practical analysis for day today js code writing that we do. so the result is more kind of related to it and what should be the choice from those 3.

However, you are right about the performance benchmarking factor. Good news, I have done analysis on the inline cache, warm cache and working on how to get GC in place and hidden classes to get better results.

</comment></comment><comment><USER12> Performance aside, also consider Ramda.js

Although Ramda has forEach, I augment it with a version of each(func, data) where data can be an array or map, and func(val, key) where key is the key of the map item, or the index of the item in the array.

I feel this abuse of notation makes for more readable / smaller / uniform code [ having no explicit for loops ]. Also takes less conceptual space.

<comment><USER13> +1 for Ramda -- I've been using it for around 2 years now and once you get comfortable with how to compose it's various functions (and some of your own) it's super powerful. Might not be the best choice if your team is allergic to FP though, some people have a difficult time wrapping their head around it (or just getting used to the syntax). I've gone out of my way to document everything thoroughly knowing people who are mostly unfamiliar with FP will be looking at it though, and that's kept everyone happy.

<comment> Rick-Butler Lodash is fairly ubiquitous, you can sneak in some lodash fp into projects. Dalton even has it aliased for ramda. The artity for certain functions might be different I didn't check.

[https://github.com/lodash/lodash/commit/6b2645b3106b0ed9ebec...](https://github.com/lodash/lodash/commit/6b2645b3106b0ed9ebec2fc2f81a372462c6ff0d)

</comment></comment></comment><comment><USER14> I looked at [https://github.com/dg92/Performance-analysis- es6/blob/master...](https://github.com/dg92/Performance-analysis- es6/blob/master/formulas.js) briefly and saw that the different algorithms always run one after another.

Does the first algorithm get an unfair cold cache disadvantage?

<comment><AUTHOR> um..i am not sure, i will debug this over weekend and update :)

</comment></comment><comment><USER15> In the results shown there, why is the "For loop" row highlighted in each of the tables?

<comment><USER16> I was wondering why it was red when it was the fastest. Red implies slow commonly right?

<comment><USER15> It's not the fastest in all of the tests, but it is the one highlighted in all of them.

Take a look at the array size 500 results for example. It is slowest for Reduce. Or take a look at 5000. There it is second fastest for Reduce, and slowest for Map, Filter, and Find.

<comment><USER16> Even more confusing then.

</comment></comment></comment></comment><comment><USER17> What is going on with the highlighting here? The first few, have the for loop highlighted as red and red scores the lowest time (best score). After that, it's all over the place. But it's always the for-loop that is highlighted red. This makes it look like the for-loop always wins but that is not the case. What the hell?

<comment><USER7> This confused the hell out of me too - I've no idea what it's meant to show.

</comment></comment><comment><USER18> For completeness, I feel like for...of should be included. [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Statements/for...of)

</comment><comment><USER19> JIT compilation cannot perform expensive optimizations by design, it has to be low-overhead. Functional iteration can only be fast when its optimized in to a simpler form - with JIT and dynamic variables everywhere. For loop is already the simpler form and is easier for JIT compiler to reason about. Sure the imperative code is often longer and less cool than a functional one-liner that chains everything to be done, but it has no hidden performance costs and is obvious to read and debug.

</comment><comment><USER20> The real lesson is to avoid iterating over large result sets in JS by filtering them in your DB.

<comment><USER21> This often isn't possible.

<comment><USER22> Often?

There are cases where large data sets are generated in the browser, but that is not even close to often.

<comment><USER23> Don't forget that JS != browser necessarily... If you're writing a Node app you could very well end up doing this kind of thing a lot (think any kind of ETL process).

<comment><USER22> True, but if you need to handle large data sets in the server Node is definitely the wrong choice.

</comment></comment></comment></comment></comment><comment><USER24> Isn't there a jsperf of this?

<comment><AUTHOR> not yet but yes. i will add it soon and share :)

</comment></comment><comment><USER25> Missing the Exec Summary.

<comment><AUTHOR> I am still analyzing the results, also as mentioned in the above comments, i need to consider more things before making a conclusion, i am working on it and will update soon.

<comment><USER17> Ah the good old fashioned early release

</comment></comment></comment><comment><USER21> His for loop modifies the data in-place, compared to map, which returns a new array. This is just one of many things wrong with this test.

<comment><USER26> However, this is a thing you can do with a for loop. Why cripple it artificially? Isn't this also introducing a bias?</comment></comment>


Ask HN: What macOS email client do you use? - <AUTHOR> I have tried Polymail, Front and others. I haven't really found anything better to replace Gmail on Chrome. <comment><USER2> Mail.app. I haven't found anything else I like as much for handling inboxes from multiple accounts.

</comment><comment><USER3> Heya, I'm the PM for Nylas. We have a Mac mail client called Nylas Mail that's totally free that we launched on HN a couple of months ago: [https://news.ycombinator.com/item?id=13417616](https://news.ycombinator.com/item?id=13417616)

Built on Electron and the code is open source: [https://github.com/nylas/nylas-mail](https://github.com/nylas/nylas-mail)

Happy to answer questions about it if you have any -

(And, yes, we are working on getting Windows and Linux out - even though it's an Electron app, there's a lot of platform specific stuff we need to do so that it doesn't go all T Rex on your memory and CPU.)

<comment><USER4> Hi, had a couple of questions:

* Any plans to offer an app to purchase vs subscription model? I need support for Exchange and rules but can't justify the monthly price tag * Is the app downloading the messages directly or do you store them on your server? From your website, it implies the latter.

<comment><USER3> * No plan for a one-off purchase option at this time. * Nylas Pro (formerly N1) stores messages on the server; the new Nylas Mail downloads directly to the client.

</comment></comment></comment><comment><USER5> Mailplane has been my go-to--it's basically a native wrapper around Gmail, but has integration with a number of popular Mac apps and native-style keyboard shortcuts and easy account switching if, like me, you have multiple GApps/GSuite logins.

Kiwi is similar, but doesn't have quite the level of integration Mailplane does although it has a more modern interface.

That said, I missed extension interoperability with Gmail enough that I largely just access the Gmail website directly through Chrome or Safari now.

</comment><comment><USER6> Well I tried inbox by google for a while and must admit i preferred it over normal gmail.

But recently I switched back to Mac own mail app and am very happy.

i do plan on giving ms outlook for mac a try sometime though after reading this:

[https://blogs.office.com/2017/03/01/outlook-2016-for-mac- add...](https://blogs.office.com/2017/03/01/outlook-2016-for-mac-adds-support- for-google-calendar-and-contacts/)

</comment><comment><USER7> I recently switched to Spark, which is both on macOS and iOS.

<comment><USER8> Same here. It's the only one that I've tried that actually syncs correctly with gmail and handles multiple accounts well.

</comment></comment><comment><USER9> I've been using Airmail for about 2 years now and I like the markdown mode.

But right now, I'm testing both Polymail and Nylas because they both have these specific features that Airmail lacks (and that are deal-breakers for me):

\- inbuilt open tracking \- templates / canned responses \- rich contacts (like Rapportive)

I much prefer a desktop client than the native web interface for email.

<comment><USER10> Let me know if you have any feedback about Nylas Mail :)

</comment></comment><comment><USER11> I like Airmail ([http://airmailapp.com](http://airmailapp.com)), they have a markdown mode which I enjoy since most the tools I use involve markdown

</comment><comment> tony-allan I just use webmail clients that come with the mail services I subscribe to. This gives me portability across any number of clients.

</comment><comment><USER12> Mail.app but only because integrated GPG support (with OpenGPG tools).

</comment><comment><USER13> Mail.app

</comment><comment><USER14> Windows Live Messanger

</comment><comment><USER15> mu4e, in spacemacs.

</comment><comment><USER16> outlook</comment>


Ask HN: Possible to develop a 4HWW-focused startup from the beginning? - <AUTHOR> Lately I've been reading the very well known Four Hour Work Week ("4HWW") book by Timothy Ferriss and have been inspired by some of the startup stories from Indie Hackers, specifically the clever business called Instapainting started by Chris Chen (https://www.indiehackers.com/businesses/instapainting).
I know the 4HWW philosophy DOES NOT actually suggest you should start a business by outsourcing everything, but if you took that mindset from the get-go, could it produce good results?
For example, I'll make up a business similar to Instapainting: [BUSINESS PROPOSITION]: Upload a photo and get it custom printed onto a cell phone case and shipped direct to your door. If you took a moment to read about Instapainting in the link above, you'll notice slight differences, in that the people 'producing the product' were actually artists themselves and were fully capable of painting the reproduction. My example is a bit different in that it's someone requiring the equipment to produce the product... probably not the best example but I hope you can see where I was going with it.
For this example, a few things are needed: A simple photo uploader + payment processor attached to the form, and a person on your staff that can take the image, create the case, and ship it (or ship to you, and then you ship it [longer delivery time]).
I suppose the main point of this post, and the questions I would most appreciate receiving some info/feedback on are:
1) What is the best way to go about finding outsourced staff that I can bring on to do the hypothetical case creation for me?
2) Where should I be looking to find them? <comment><USER2> Art department at a college?</comment>


U.S. military Twitter feed hacked, apparently by IS sympathizers - <AUTHOR> http://www.reuters.com/article/2015/01/12/us-cybersecurity-centcom-hack-idUSKBN0KL1UZ20150112?feedType=RSS&feedName=topNews <comment><USER2> Relevant xkcd: [https://xkcd.com/932/](https://xkcd.com/932/)

I will say it still is a fairly effective attack from the point of view of propaganda, and I'd be interested to know which was the chain of events that allowed this particular hack. But I am neither particularly scared, nor particularly surprised that this is possible, nor should anyone with any sort of computer security background.</comment>


Electronics makers push for home networking standard - <AUTHOR> http://www.cbc.ca/technology/story/2008/04/30/tech-homegrid-forum.html?ref=rss <comment><USER2> These companies are very short-sighted. There is already a networking standard, ethernet.

"Home networking" standards have come and gone (Remember HPNA anyone? Or the early Proxim wireless gear and proposed standard?). The problem is that people inevitably want to connect things like laptops and such to their home networks, devices which already have wired and/or wireless ethernet capabilities.

What they _really_ need to develop is a protocol and QoS for A/V equipment to intercommunicate. Good luck trying to get 10,000 companies to all agree on, and consistently implement, any sort of ubiquitous communications protocol.

These companies simply can't help themselves from breaking "standards" in situations like this. There would be an agreed-upon method to have your A/V receiver talk to your DVD player and display, for example. Except if you had all Sony gear, then there would be an "enhanced" mode that added some trivial feature. Then Panasonic would copy the concept, but with their own "enhanced mode". Then Denon would steal Sony's method and Kenwood would steal Panasonics, and soon the whole thing becomes fractured and broken.

There is a reason that most A/V gear still connects with simple cables and minimal interoperability... I don't see this changing anytime soon.</comment>


Shrturl.co: You'll Never Trust a Shortened URL Again - <AUTHOR> http://thenextweb.com/dd/2014/06/05/shrturl-co-youll-never-trust-shortener/?utm_source=social&utm_medium=feed&utm_campaign=profeed <comment><USER2> Another reason why when browsers announce their next version won't even show the URL bar, I shiver.

This said, the page editing is well done</comment>


Ask HN: 423,430 views in 1 day on YouTube, any ideas how he does it? - <AUTHOR>

http://www.youtube.com/user/seoconference?ob=0#p/u<p>Still can't figure out where he got those views for all his videos in less than a day or so.. <comment><USER2> I don't know if this is what they did, but many embed their video in a pop- behind when buying traffic (for far less then a penny per view), and as the video is played behind the site, they get a view.

It's a bit pointless though.

</comment><comment><USER3> Looks like hes gaming the system somehow. No video gets over 500k views with less than 6 comments and 2 likes, 8 dislikes.

</comment><comment><USER4> They are buying views.</comment>


In praise of nerds - <AUTHOR> http://economist.com/books/displaystory.cfm?story_id=10493332

<comment><USER2> This is how I discovered Paul Graham's essays:

In a particularly painful period of my high-schoolness, I sat staring into an empty browser window, and typed "why" into Google. The essay "Why Nerds are Unpopular" happened to be the second result. That's a pretty awesome use of a search engine, if you ask me.

This was one of the most memorable moments that year.

<comment><USER3> My first result is for a swinger-club named 'why not?'.

<comment><USER3> But I agree - your result was probably more meaningful.

</comment></comment></comment><comment><USER3> "Eventually, most of us work out that nerdiness tends to go hand-in-hand with higher-than-average levels of curiosity, creativity and enthusiasm. As such, nerds are not merely admirable but attractive. Nerds are cool."

Nerds make more money.

</comment><comment><USER4> Question: Would you give up your nerd abilities for pro-athlete level abilities (and hence pro athlete $)?

<comment><AUTHOR> No. Odds to success as a pro-athlete are little, the best pro-athlete money is way smaller than nerd's money (Gates), and you can't be a successful pro- athlete in your 40s.

<comment><USER5> Yeah... but ever see Andy Roddick play in front of a crowd? The girls are out there, in force. Sergey may have more money, but I suspect that Andy is having more fun.

<comment><AUTHOR> Who gives a whatever about stupid girls?

But, seriously, it is a phantasmatic desire. You always overestimate things you don't have (Andy Roddick's social capital), and underestimate ones you do.

Given this it is not possible to fully and responsibly address the initial question. And when it comes to emotions, there is no unbiased answer. If you want valuable discussion, you have to use some rational framework. I chose the odds of success, which are in case of athletics too small to bother.

<comment><USER5> I was assuming you have the talent to be a top 10 player. You're completely right in your response, though. I was looking through prize money for the top 100 players, and it drops off fast. The bottom half of the list often have prize money in the 200-300K range. Endorsements might be more lucrative, but it drops off quick once you're not in the tiny upper slice of the sport.

This is why parents get nervous when their kids to go into (sports, film acting, rock music). If you miss being one of the top 100 surgeons in the world, and only make the top thousand, well, hardly a problem. If you software startup fails to become the next microsoft, there are still thousands of other good outcomes.

<comment><USER6> In tennis you can't make a living if you are outside of top 100 or 150. That is you don't eat if you don't have other sources of income.

Even if you are a very good amateur player and you easily beat most fellow amateurs, you would get destroyed (6-0, 6-0) by an aspiring pro (top 1000 in the world) playing minor leagues (satellite tour), spending his own or other people's money to stay afloat.

I've met many mediocre programmers making a nice, corporate paycheck, driving Audi TTs.</comment></comment></comment></comment></comment></comment>


Denying Dystopia: The Hope Police in Fact and Fiction - <AUTHOR> http://www.rifters.com/crawl/?p=7809 <comment><USER2> Stories of dystopia are valuable because they help us build threat models.

Stories of utopia are valuable because they give us a vision to aim at.

Stories that assume new technology will lead to a better world are _anti- valuable_. Those stories are the concrete truck of good intentions. The truck used to pave the route to hell. The stories inspire people — into creating things without any awareness of negative impacts. These inspired "builders" are often even oblivious to the idea that there might possibly _be_ negative impacts! I've seen this play out with social media, with ML, and blockchain just to name a few HN relevant examples.

A good dystopia story seriously acknowledges some threat, and shows what it is viscerally like to live in that world, and perhaps how it came to be and what we might do about it.

A good utopia story seriously acknowledges some system problem or threat, and shows a way in which it is overcome on a large scale.

<comment><USER3> I think this is a great comment as it implicitly acknowledges that /stories/ are at the heart of everything we do. Every action we take expecting a reaction is based on a story we are telling ourself about causality.

I would argue that we need a healthy balance of dystopian and utopian stories but we also desperately need more complex stories. The human brain is already primed towards very basic linear cause and effect, when in fact we are embedded within very complex systems (social, economic, etc) that have very non-linear cause and effect loops.

The blindness you mention here is one that I often see as trying to create change with a very very limited set of causes and effects in the implicit theory behind it. I also think that much of the polarization towards "good actors" versus "bad actors" is a result of overly simplistic stories.

I'm not exactly sure how to create stories that help us build the capacity for understanding and appreciating how complex systems operate, but I think we desperately need them.

<comment><USER4> You hit the nail on the head about how we need more complex stories. I'm not sure if this is a result of me getting older but I think people in general are getting more prone to black vs. white thinking over time (which I suspect is due to becoming bombarded with ads which are always either very positive/funny/nice or vitriolic, or an increasingly polarizing and histrionic media, but I digress). Even movies made for adults usually have some fixed, obvious good guys vs. bad guys these days.

I don't think it's that nobody _can_ understand things anymore, or even that people don't _want_ to, I think people simply don't want to limit their potential sales by making things too difficult to understand. Big studios don't make movies like The Hateful Eight (which I thought was great because it _didn 't_ have good guys) because they don't appeal to enough people, and writers don't write with nuance anymore because you get the most impressions if you simply pander to a specific political camp.

<comment><USER5> There is also the issue of marketability, focus grouping, age group bracketing and the crafting of narratives that will appeal commercially across cultural boundaries.

We have these massive "story engines" but only the simplest stories can have _predictable_ universal appeal.

<comment><USER4> Very true. I hope one day we can have a better premium media market than we have currently so that businesses feel less pressured to appeal to everyone. I don't think you could pay me to sit through a Transformers movie but I would have paid $25 to see the Hateful Eight in theaters.

</comment></comment></comment></comment></comment><comment><USER6> A while back I saw some comments on HN arguing that dystopic fiction writers are literally evil and a threat to humanity. That made me slightly but genuinely scared. When people start outright attacking _caution_ , that is when the bubble is about to burst (sorry, been thinking about Bitcoin lately).

For some reason some people seem to take dystopia and cynicism as meaning we should give up on technology altogether and go back to living in caves. That is a false dichotomy. Please, hold some nuance. It's true that corporations and governments have shown themselves eager to abuse technology. The blame for that lies with those organizations, not with writers who merely notice the trend.

I think we can come up with some technical solutions to align the incentives of these organizations with the people they should be serving. To me, most dystopian fiction is pointing out the gap between that and internet refrigerators. Utopia is hard, let's go shopping.

</comment><comment><USER7> The writer is Peter Watts. He writes science fiction, with arguably dystopic aspects. One of his books, Blindsight, is available to read for free on his website: [http://www.rifters.com/real/Blindsight.htm](http://www.rifters.com/real/Blindsight.htm)

In fact, it was HN that introduced me to this writer.

<comment><USER8> He's got quite a following here. :)

As for dystopic, I'd describe his works as... ananthropic. There are no people in his books, just collections of matter ambulating around according to their phenotype and the laws of physics. It's stark realism taken to its depressing conclusion. Fascinating stuff, though.

Edit: Fixed some broken causality.

<comment><USER9> Stark realism indeed.

 _" Whenever I find my will to live becoming too strong, I read Peter Watts."_ — James Nicoll

</comment></comment></comment><comment><USER10> > She praises algorithms that analyze your behavior and autonomously order > retail goods on your behalf, just in case you're not consuming enough on > your own: "We'll be giving up our privacy, but gaining the surprise and > delight that comes with something new always waiting for us at the door" she > gushes

That has to be intended as a joke, right?

<comment><USER11> Possibly because I just finished reading "player piano" last night, but it's like someone took the main ideology of the engineers and managers in that book and said: "but what if we pretended it was a blueprint rather than dystopian satire...?"

</comment></comment><comment><USER12> I mostly agree with this, but the digression about carbon pricing in the middle makes absolutely no sense. As long as you auction a fixed pool of carbon credits, the prices will go up the more people are willing to spend to pollute. This is basically the simplest, most straightforward way to force capitalism to produce the amount of carbon you want.

<comment><USER13> I think the concern is that selling pollution credits is kind of like selling indulgences. If you offer the wealthy a fixed price for which they can destroy the entire planet then what else is not for sale? And since money is just created out of thin air, you can always make enough money to pay the price.

<comment><USER14> This enviromnentalism as religion attitude is hugely counterproductive. It might help motivate the believers, but it also contributes to the culture war that sees conservatives denying climate science.

Everyone pollutes; when we breathe, when we shit, let alone when we drive or fly, so there is no hard boundary between normal and "sinful" activities. The rest of your comment is simply wrong; Pigovian taxes and auctions are dynamic, so can adjust to any change in price levels, and in any case money supply is governed by central banks, not by polluters.

</comment></comment></comment><comment><USER15> I don't think his point is limited to SF. It seems to be a thing where if you criticize any sufficiently popular view, you get the hammer down much harder than before. The only things that can be criticized are unpopular things, because they are safe to do so.

Like in SF, no one says "oh, you need to show hope in dealing with religion!" That's because among that crowd, religion is beyond the pale and doesn't need to be appeased. There are other things, but there's an awful lot of true groupthink today, and since the culture is so connected, its easier to shout down or tire contrarians.

</comment><comment><USER16> > Run like hell, even though it means abandoning your giant flatscreen TV

In this analogy, a steady diet of disaster shows has already convinced you that running like hell is pie-in-the-sky thinking and quite impractical, so anything you hope to do has to be prefaced with the acknowledgement that you can only manage a slow walk, and even then you can only expect to move a maximum of 15 meters.

<comment><USER17> The funniest part is that it's the rich folk up on the hill who pushed the boulder ;)

</comment></comment><comment><USER18> _The Hope Police_ are typically fragile people. My favorite philosophical take on perspective and attitude is found in _Jake Long American Dragon:_

[http://disney.wikia.com/wiki/Sara_and_Kara](http://disney.wikia.com/wiki/Sara_and_Kara)

</comment><comment><USER19> > _The problem is not that we are paralyzed with despair; the problem, more > likely, is that we haven't really internalized what's in store for us. The > problem is that our species is already delusionally optimistic by nature._

> _Not all of us, mind you. Some folks perceive their contextual status with > relative accuracy: they're better than the rest of us at figuring out how > much control they really have over local events, for example. They're better > at assessing their own performance at assigned tasks. Most of us tend to > take credit for the good things that happen to us, while blaming something > else for the bad. But some folks, faced with the same scenarios, apportion > blame and credit without that self-serving bias._

> _We call these people "clinically depressed"._

</comment><comment><USER20> Seriously? He thinks people are being _too optimistic_?

All I ever read anymore is how the dark forces of technology are coming to steal my private information and break into my house via my IOT.

Now I want to go buy Terri Favro's book, just because she's apparently not a total downer.

<comment><USER21> He's not talking about the noise people make to get clicks, he's talking about our actual decisions. And yes, in that domain people are outrageously optimistic.

</comment></comment><comment><USER22> Not sure if other industries are the same but I find this sense of forced optimism almost oppressive in SV tech companies. The place where I work holds optimism as an explicit value. So when they cut a perk or change things in a way that makes everyone's job more difficult, etc, there is a low-level pressure to talk about how it's actually good. That type of thing.

Of course optimism goes out the window when we need to figure out how people will defraud the company, or when a change that would make employees' lives better is considered. Very conditional optimism, you know.

</comment><comment><USER23> >your giant flatscreen TV?

Yeah, I'm not taking advice about the future from someone who still thinks a flatscreen TV is somehow different from a plain TV.

<comment><USER24> Which is more likely: 1\. Peter Watts added "flatscreen" because he believes CRTs are still popular. 2\. Peter Watts added "flatscreen" because it makes the sentence flow better. ?

<comment><USER9> I read it as parodying the person in the scenario by implying that _they_ think that flat-screen TVs are somehow particularly desirable.</comment></comment></comment>


Mandelbrot's last talk on TED - <AUTHOR> http://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_of_roughness.html

<comment><USER2> I had no idea he died a few days ago :-((

PS: why the fuck are we being redirected through Facebook for this?

</comment><comment><USER3> Non-Facebook URL: [http://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_...](http://www.ted.com/talks/benoit_mandelbrot_fractals_the_art_of_roughness.html)

</comment><comment> rw- Please don't use this fu __ __* Facebook redirector!

</comment><comment><AUTHOR> Sorry for the facebook redirect, when I realized it was too late.

</comment><comment><USER4> .</comment>


A Beekeeper's Perspective on Risk - <AUTHOR> http://blogs.hbr.org/cs/2012/06/a_beekeepers_perspective_on_ri.html

<comment><USER2> Am I the only one that thought this article was near worthless?

This article typifies the type of hand-waving that happens in business school (yes, I have my MBA):

1\. Identify a business problem. 2\. Do a "high-level" analysis to figure out what went wrong, completely ignoring the small details (which are usually immensely important) 3\. Come up with brief "lessons" of what not to do in the future, giving no allowance for unique situations or how the future may look nothing like the past.

I took one (yes, only ONE) strategy class in b-school that was worth paying attention to. The prof had developed a single theory on analyzing corporate strategy. He had spent years researching it, devising case studies that supported his theory (right down to a minor details). The theory is actually very useful to analyze future business strategies because it makes you go through a systematic process to evaluate the opportunities. That has value. This article does not.

<comment><USER3> Would you mind sharing information on that strategy?

<comment><USER2> His theory was that innovation strategy was more than just coming up with the right product, you had to make sure all the pieces were in place in order to get adoption (customers, suppliers, competitors, etc). His analysis of why the Newton failed, but the iPad succeed is very well supported. As is his work on why electronic medical records have failed to be adopted despite the obvious advantages to the paper system

It's a complex enough of a theory that I can't do it justice in a HN post.

Do a google search for "Ron Adner". I'm sure he has some stuff on the web. He just published a new book as well.

</comment></comment></comment><comment><USER4> I suspect that corporate executives would also be a lot more cautious if the failure of their businesses directly lead to death. It's a worthwhile perspective to consider, but bee-haviour is definitely not close to a solution for humanity's problems.</comment>