Teach Yourself Programming in Ten Years (1998) - <AUTHOR> http://norvig.com/21-days.html <comment><USER3> I can relate to it through the lens of Karate. I've been studying just about 10 years and I'm just beginning to see the depth of the art. Its almost like you spend those 10 years building the foundation before you can start building the house.

One of the points in the article really jumps out and again, I use martial arts as a lens for comparison. Talking to other programmers extensively accelerates your growth. If I had tried to piece together the knowledge my Sensei taught me through "Youtube, books, & self-study", I would have not gotten as far as I have. There's something about having a mentor that can warp-speed your progress. Anyone who has mentored under a master in their field would attest to that.

The programming culture is one where you're encouraged to go out and figure it out. Yes, there are teams and pair programming but I don't see most companies emphasizing mentorship as much because its not directly tangible on the books. Its more of a long-term investment and they see employees jumping around every couple of years, so why bother?

It would be interesting to see master programmers (30+ years of exp) offer year-long intensives for serious students who wanted to accelerate their growth. I bet you would get some excellent programmers.

<comment><USER4> I believe Kent Beck does a mentorship program like this at Facebook.

<comment><USER5> The F# foundation also has a mentorship program for people that is free iirc.

<comment><USER6> Thank You a zillion!. I followed along, got a free membership and am chatting with their helpful community on slack. Their Feb Mentoring program is closed but they have another one coming up for September cohort. All in all looks promising.

</comment></comment></comment></comment><comment><USER7> Old but good. I have been seeing an interesting discussion around project based learning vs. more formal CS type program lately. As a self taught programmer who got started and became passionate about technology because of MUDs I can confirm project based learning worked well for me. It kept me engaged and pushed me to solve hard problems I might not have ever tried to otherwise solve.

So, to me, making programming interesting is one of the keys. I know I have a common learning and work style that heavily favors the experiential and interactive. Other promgrammers I have worked with can Zen focus and design for days before touching code. I can't. I like to interact, prototype, outline with code, think in smaller bursts, and then iterate. I have learned to be more patient over the years, but that is still my default paradigm.

I think I generally agree with Norvig here. Most of the criticism of his article is misplaced. He isn't saying you should only learn to program in 10 years, but that it is a hard discipline with immense depth.

</comment><comment><USER8> According to the owner of this company, it takes at least 3 days for somebody with absolutely no computer skills to learn programming. Apparently its the career path of choice for telephone operators in a call center.

What is funny, after programming professionally for about 30 years, Is I want that job in the call center answering telephones. Even more ironic, it takes 1 month of intensive training to do that job.

<comment><USER9> Having worked in a call center for 3 years I can assure you it doesn't take 1 month of intensive training. It takes a variable amount of time to get up to speed depending on how much you are asked to think.

In some call centers, you will be following a script about 90% of the time and that takes very little training. In others you actually have to think and troubleshoot issues, those take a bit more time to get up to speed on.

All that being said, I can assure you that you do not want to work at a call center. I'd take whatever programming job you currently have over the call center I last worked at. For whatever reason, call centers attract the worst kinds of managers in this day and age.

</comment></comment><comment><USER10> I entered the work force in 2009. This year is the first time I feel like I know wtf I am doing.

<comment><USER11> Don't worry, that feeling will pass and you'll feel like an imposter again in no time.

</comment></comment><comment><USER12> Already in the first few lines of the article, there's a reference to a post-1998 date, so I started wondering about the veracity of the (1998). There's no clear reference to the original publication date, buy plenty of references to dates much later - the copyright notice says 2001-2014.

But, lo and behold: [https://web.archive.org/web/19980206223800/http://norvig.com...](https://web.archive.org/web/19980206223800/http://norvig.com/21-days.html)

It's a very different article, but at the core, it's the very same idea. Pretty fascinating that it apparently has been "ghost-edited" to stay current.

</comment><comment><USER13> It was about 10 years ago that I read Norvig's "10 years" post: [https://michaelwhatcott.com/10-years/](https://michaelwhatcott.com/10-years/)

</comment><comment><USER14> Many previous discussions at [https://hn.algolia.com/?query=Teach%20Yourself%20Programming...](https://hn.algolia.com/?query=Teach%20Yourself%20Programming%20in%20Ten%20Years%20points%3E10&sort=byDate&dateRange=all&type=story&storyText=false&prefix=false&page=0).

</comment><comment><USER15> Last year was the first time I managed to write some code that didn't obviously suck. It was great! (And about 9 years after I started.)

Though still, 95% of the time, I walk away from my check-ins feeling like my code could be a lot better, but not seeing how until much later.

</comment><comment><USER16> How can this be from '98 when it mentions Malcolm Gladwell and someone's death year as 2004?

<comment><USER17> And it mentions Go which I believe was invented in 2009. It was on the site previously as 2001 which also seems wrong [https://news.ycombinator.com/item?id=3439772](https://news.ycombinator.com/item?id=3439772) . Maybe it is just being updated.

</comment></comment><comment><USER18> I must be blind, I'm not seeing where this was written in 1998? I see some couple-year-old comments. I only ask because I was going to express surprise that the Amazon links still work.

Does the (1998) in the title maybe not mean it was written in 1998?

<comment><USER19> use "view source" and see the fourth line: "Changed by: Peter Norvig, 13-Jul-1998"

<comment><USER20> Clojure was built in 2007, so it's clear there have been some changes.

</comment></comment></comment><comment><USER21> >> branch misprediction: 5 nanosec

Turns out it was a lot more than just "5 nanosec".

</comment><comment><USER22> Old post but a classic one. Reminds me of the 10,000 hour rule of gladwell's book outliers

</comment><comment><USER23> Great article. I think programming is a discipline that's especially susceptible to ineffective learning approaches because it's intimately bound up with utility. Part of this stems from the fact that we're not yet at the point where it's learned ubiquitously at a young age.

For example, compare programming pedagogy to the typical way in which children are taught to read. We begin learning to read at such a young age that the actually utility of reading is more or less completely factored out of the equation--we go to school, reading is a part of what we do there, and so we sort of just accept that and spend a great deal of time engaging in the activity intimately--exploring its nooks and crannies, playing with it, joking, discussing it with classmates. In the case of programming on the other hand, a lot of autodidacts have selected the discipline not for any love of the game (of course there are _several_ who do have a genuine love for it) but rather for some perceived use-value it provides. For example, if I learn to program I can get a better job, or I can offload some menial task, or I can ultimately do some other thing that happens to require programming (e.g. making a video game is what I _really_ want to do, and if I have to learn to program to do so, so be it). This sort of utilitarian frame makes it very easy to engage in behavior that frustrates learning--reading for information only, rushing through material, copying and pasting examples, seeking out solutions to exercises when stuck rather than exploring and working through them. In general it's much harder to be a good learner if you've attached some ulterior motive to your learning activity.

There's a lovely German word Mitgefuhl, which is often translated as compassion but literally means "feeling with". I think it's a fundamental concept underlying a great deal of successful human endeavors--just as you need to exercise compassion in order to really understand someone's emotions or perspective, I think there's a lot of merit to dwelling with, or, as ancient monks practiced, ruminating (chewing the words) intellectual material. Taking one's time is important, as is checking in periodically to ensure you're still consuming things consciously. When I read a book, no matter its subject, I like to imagine I've signed a lease to rent out an apartment with its author--to really get to know the consciousness behind the words--not in any psychological sense, but in a purely epistemic one, to achieve a better understanding--to learn how myself and this consciousness might live in harmony, to imagine conversations--to 'feel with.'

As someone who is self-taught when it comes to programming myself (and still has an incredible amount to learn) I can say my own experience of learning and the rate at which concepts solidified definitely increased once I broke my interest in the practice free from any concern over utility and decided it was simply something I found _interesting_ \--something I valued irrespective of its practical application.

</comment><comment><USER24> good link - <USER2>

</comment><comment><USER25> 10 years is a bit too much don't you think. I mean comparing 24 hours or 21 days with 10 years is highly demotivating. I think 1 year or 6 months would still be an inviting title and it's not that farfetched. I've seen people become good with a programming language in lesser times than a year.

<comment><USER26> I don't think Norvig is too worried about giving pep rallies.

At any rate: lately I've been having to interact at work with some folks from another company whose entire outlook of what "programming" is revolves around web CRUD stuff and some interactive-looking front-end... web stuff. So "I learned some new programming skills" to them is closer to "I learned how to make an HTML5 caroussel using jquery and Laravel" than "I learned how to calculate road distances using GIS LineStrings and Djikstra's algorithm". Their whole world looks like a CMS. There's a threshold of "meta" they cannot cross.

I think this is both why PHP is so popular and so despised: it attracts people who wouldn't be able to grok concepts at a higher level of abstraction (say, Python @decorators) so they don't need it. PHP -- and really, Laravel, whatever _that_ is -- is all they need.

<comment> Anthony-G As a system administrator, I'm regularly amazed by the number of web developers who have little or no understanding of HTTP, the protocol that underlies the bulk of their work. Many don't know even know what a transport protocol is in the first place. They know that most form submissions (or AJAX requests) should be POST and that some can be GET but they don't know that these are HTTP _methods_.

I've had to teach quite a few people the basics of HTTP: a user-agent makes a request and a server replies with a response, that both requests and responses are composed of a header and an (optional) body, and some of the important information that might be included in the headers (cookies, character encoding, caching information, etc.).</comment></comment></comment>


The Cost of Software-Based Memory Management Without Virtual Memory - <AUTHOR> https://arxiv.org/abs/2009.06789 <comment><USER2> You could do it half-way, like the Transmeta chips, having an MMU for data only. Code doesn't need an MMU if it is relocatable, if it is installed as one big blob like busybox, or if it is the result of a trusted JIT.</comment>


An Open Letter to the Uber Board and Investors - <AUTHOR> https://medium.com/@mitch_freada/an-open-letter-to-the-uber-board-and-investors-2dc0c48c3a7#.wk1fnq4ax <comment><USER3> This is a great example of why you should make sure that your goals align with those of your investors.

Kapor Capital has a strong focus on social impact companies that benefit the disadvantaged.[1]

Travis is a phenomenal salesman and fundraiser. Travis convinced Kapor that, amongst other things, Uber was a platform for democratizing transportation, citing things like racism amongst taxi cabs to spin Uber as social good.

So now you have a company that isn't actually what it pitched itself to be. For many investors, hyper-growth and skyrocketing valuation will wipe out other concerns around culture, impact, etc.

The Kapors are showing (awesomely, in my personal opinion) that they are serious about their social mission. They're doing what they can to influence a portfolio company to live up to their expectations. Travis probably doesn't like that—it sucks to be called out!—but that's why you take investment based on aligned interests and not just awesome salesmanship.

[1]: [http://www.kaporcapital.com/who-we- are/](http://www.kaporcapital.com/who-we-are/)

<comment><USER4> _Travis is a phenomenal salesman and fundraiser. Travis convinced Kapor that, amongst other things, Uber was a platform for democratizing transportation, citing things like racism amongst taxi cabs to spin Uber as social good. So now you have a company that isn 't actually what it pitched itself to be._

But that's not true. Uber is still a platform for democratizing transportation. It has more or less completely fixed the issue of racism in taxi cabs (or auto rickshaws), which was previously a daily experience for me. In Maharashtra they've literally made an enemy of Shiv Sena, racist/nationalist political party, because they are undercutting the Marathi autowales.

It's also improving women's safety worldwide, which is a major issue outside the west. Literally days after an Uber driver raped a passenger in Delhi, my girlfriend at the time still insisted on taking a radio taxi home (wasn't Uber, which was shut down for a little bit) because she felt safer than in an auto rickshaw or taxi.

Uber is working - fairly successfully - to partially fix the issue of cronyism in governments around the world. They've taken private battles public and shown the world exactly how much people like Bill DeBlasio hurt the public.

This would all be a huge net gain for the world even if every >$150k/year engineer at Uber was horribly mistreated/marginalized/had their butt patted before shifting to another $150k/year engineering job.

The Kapors are not calling out Uber based on a utilitarian calculation. Uber is still exactly the force of good they promised to be, and their goals align just fine with the _stated_ goals of the Kapors. It's just that their personality doesn't appeal to the zeitgeist, and it looks like that matters more to the Kapors than the actual good they do.

<comment><USER5> My girlfriend gets harassed by Uber drivers all the time, to the point where she had to switch to using Lyft or call the regular car services here in NYC (which used to be amazing pre-Uber, by the way).

The one time I took Uber Pool in Brooklyn the driver refused to let a black couple into the car, which we all protested and complained about, but nothing came of it.

In New York Uber isn't necessarily safer or less racist, although I'd concede it probably is in other countries.

<comment><USER6> Does your girlfriend give those drivers 1 star reviews?

For what it's worth, my girlfriend has taken an uber in NYC 100+ times, and has _never_ complained about any kind of harassment from an Uber driver. She's complained to me about sidewalk/subway harassment, and workplace harassment, so I don't think there is a reason she would hide Uber harassment from me.

Also: Regular car services were horrible pre-Uber...which is why Uber took over NYC car transit.

It was basically: Call up a number, get answered by a guy with a heavy accent on a low quality landline, tell him what you want, and hope and pray that he understood what you said and the car shows up. If it doesn't, call another company and repeat.

<comment><USER7> Can't rate a driver who didn't start a trip. That's how they fly under the radar. Forcing the driver to be the one who cancels will get them on the radar and out of the system. Excessive cancel rates get drivers deactivated more than anything.

<comment><USER6> Drivers harass a woman by _not_ accepting a trip?

</comment></comment></comment></comment></comment></comment><comment><USER8> I'm a former uber s/w engineer. I've been with uber for nearly 2 yrs and most of the article content are valid. Employees voicing out genuine concerns will be met with severe rebuke. This will be swept under the carpet sooner or latter. For customers, the quality and experience of their ride is the only thing that will matter. This won't even affect their business.

<comment><USER9> while Uber's culture problems are legendary...I've seen this type of complain at every single company I worked for (which is almost 2 dozens at this point), including when it was not true at all and people were just whiny that their idea for office decoration did not get accepted.

So we're starting to suffer from a "boy who cried wolf" syndrome, where when the complain is real, no one cares.

That's a big problem.

<comment><USER10> > So we're starting to suffer from a "boy who cried wolf" syndrome

It seems like you're somewhat sympathizing with Uber HR's decisions regarding this individual on account of the "boy cried wolf" syndrome.

This seems like hardly that at all. The events at Uber read like a systemic failure to deal with problems, and an extreme indifference to sexual harassment for the benefit of retaining "good" engineers.

Fuck this mentality.

edit: Forgive me if I am misunderstanding your comments.

<comment><USER11> Not the poster, but I think he means that Uber is the very wolf we've become too desensitized to recognize.

But I have not seen the endemic spiteful complaints he has. My impression is this place is full of wolves that are seldom called out.

<comment><USER12> To take the middle ground - I think there's been a lot of wolves crying wolf - Mostly on sheep, because that provides good cover. Sheep are afraid to cry wolf, even when being attacked, because of fear of ostracization - <USER2> unfortunately, we're very bad at telling wolves from sheep in a fight, particularly as a herd.

</comment></comment></comment></comment></comment><comment><USER13> I would be exceedingly reluctant to work with an investor who writes an "open letter" to a company in a situation like this, and particularly when that letter calls out the CEO in a pretty gratuitous way ("and we have both been contacted by senior leaders at Uber (though notably not by Travis, the CEO)"). You're supposed to be able to be open with investors and other advisors, so this is a deep breech of trust in a non-public company. I can't see taking advice from and sharing confidential or sensitive information with someone who has done that to you in the past.

(The sad part is I agree Uber has a problem and needs to change; Susan Fowler's blog post was remarkable.)

<comment><USER14> You know what? I am disgusted and ashamed that a message board that I read and participate in daily is reacting this way.

I'm sick of how Silicon Valley always puts money and internal graft ahead of inconvenient things like morals and acting like decent human beings. Beyond that, I'm tired of how everyone then tries to pretend that these actions that are taken out of greed and ambition to "rule the world" are somehow in the public's best interest.

I see no reason why you are reprimanding a pair of human beings who realized that the company that they have aided, abetted, and implicitly condoned through their investment, and then decided to do what little they could to try to influence that company to fix the situation.

<comment><USER15> Well said. Either SV is different than business is usual... or it's not.

And if it's not (and not willing to self police to a higher ethical standard), then we should really start asking whether we're comfortable with these companies having the amount of access to our lives they do.

Would you trust Walmart with an Echo type device in your house?

<comment><USER16> What company _would_ you trust with an Echo type device in your house? I think the entire proposition is insane given the state of the law.

<comment><USER13> In terms of "business model", clearly Apple is the one I'd trust the most, Google/FB the least, and Amazon in the middle. But I agree with laws the way they are, it's very problematic. Either the tech needs to change, or the law -- I have a lot more confidence we'll finally see a (not really re)-surgence in privacy protecting consumer tech.

</comment></comment></comment></comment></comment><comment><USER17> I'm sure this will be an unpopular opinion since most of us agree with what Mitch is saying and rightfully want change, but as a founder, this sort of behavior from an investor seems to be a giant breach of trust.

In early rounds, founders are looking for investors who will trust management to make decisions in the best interest of the company. EVEN if they don't agree with those decisions, it's expected that they'll be a team player and provide support in whatever way possible.

I'm sure Mitch thinks what he's doing is in the best interest of the company (and it probabily is!). But, he surely doesn't have perfect information on what's going on (only management has a full picture).

<comment><USER18> As an investor, I'd never give money to a founder who exhibits this sort of attitude.

Uber is facing a catastrophic crisis. This could kill the company, or at least cause massive attrition. If Uber isn't willing to take advice on how to get out of this terrible situation that it has created, it may well die.

And in situations like this, I find it a general rule to _never_ give management the "benefit of the doubt".

Of course, I'm not trying to give you money, but I'd hope other founders don't learn from your behavior.

<comment><USER19> >...or at least cause massive attrition.

[https://twitter.com/physicsNcoffee/status/834566962998960128](https://twitter.com/physicsNcoffee/status/834566962998960128)

Blind app is anonymous, so obviously this is yet to be substantiated. If this attrition is actually taking place, we'll know very shortly.

</comment></comment></comment><comment><USER20> Made a throwaway name because I have an unpopular opinion.

We've likely read Susan Fowler's blog post. If true, it's awful behavior on the part of HR and management at Uber, and action should be taken.

But that's the thing: a blog post does not establish truth. We've heard from only one side of the story. No one ever asks about the other side, or about whether we are being misled. We only talk about the bravery of the author and condemn the other side.

I think the saddest part of our collective behavior is how quickly we come with pitchforks to a witch trial. We must remember that justice is not decided on Twitter, or on blogs. Justice is not decided by the voice of the accuser.

Did you see evidence besides Susan Flower's putting phrases in quotation marks? She mentions screenshots of improper behavior but provides none. What if tomorrow new evidence comes out that this whole thing was exaggerated or flat out wrong. How would it feel, to being so easily manipulated into drawing a conclusion, into retweeting a fiction, into writing an open letter?

<comment><USER21> _No one ever asks about the other side, or about whether we are being misled._

That's just not true. There are numerous comments on HN that reflect exactly this sentiment, as well as every other point in your comment.

<comment><USER20> The other side is not Uber, it's the accused.

<comment><USER21> Can you please elaborate? Your initial comment makes the point that no one is questioning Susan Fowler's allegations, that it's only one side, that her "blog post does not establish truth." That's the point that many other comments have made, whether it be about what happened at Uber, or more generally about whether the allegations are true at all.

At this point, the accused (or Uber, for that matter) is perfectly free to make some announcement if they so choose. I wouldn't expect them to—nor fault them—as it wouldn't make any sense, politically or legally, to do so at this point, at least until the conclusion of any investigation.

</comment></comment></comment></comment><comment><USER22> What would an ideal way forward be for Uber? Recent incidents combined with a tainted past make public trust in Uber not the best.

Lot of people have suggest these problems stem from the culture. Culture of companies and people is similar to the culture of, say, bread. The starter really matters and sets the tone. I'd be interested in hearing from people who have seen a drastic change in culture at a big place or better yet, have been behind that change.

The other idea is it could just be a few rotten apples giving everyone a bad name. I don't know the answer.

<comment><USER23> >The other idea is it could just be a few rotten apples giving everyone a bad name.

There's no such thing as this.

Honestly, is everyone these days completely ignorant of what happens when you leave a few rotten apples in a big bunch of apples? In case you don't know, the correct answer is that very soon, ALL the apples become rotten. That's why we have the old saying about "bad apples": "one bad apple ruins the whole bunch". Somehow, these days, everyone seems to have forgotten the "ruins the whole bunch" part of the phrase which is so important to its meaning.

It applies outside of apples too: it applies to police, corporations, any human organization really. There's no such thing as "only a few bad apples". An organization that tolerates rotten people very quickly becomes thoroughly rotten.

<comment><USER22> That may be a good analogy to make but it is not that simple. I am going to try find it, but there was at least one paper showing how it really depends on the placement of the kind of actors in a system. Enough (but an easy minority) of good actors in a system could "clean up" the system by ensuring everyone acts well. If you want a more relatable simple analogy is a benevolent dictator cleaning up the mess.

<comment><USER24> You've flipped the situation. Arizhel isn't making an analogy, they're correcting your misuse of one ("a few rotten apples") to defend a conclusion that is the exact opposite of the one it implies.

</comment></comment></comment></comment><comment><USER25> Maybe the claims made by Susan Fowler are accurate and honest, maybe they aren't. This is why there are investigations. We want the truth, not a bunch of opinions which may or may not be credible.

The author seems to be claiming that Eric Holder is not suited to run such an investigation. Seems reasonable to me. Uber should find someone else.

My problem with the author is that it's pretty apparent conclusions are being drawn without actual evidence.

<comment><USER25> Anyone care to comment on why they downvoted? I'm genuinely open to the fact that I could be missing information here...

<comment><USER26> Is the blog post by Susan not evidence? It certainly seems reasonable enough evidence to suggest what the investor is suggesting, which is that a more thorough and unbiased investigation should be carried out.

<comment><USER25> I would consider Susan's blog post a form of evidence, but just about the lowest form there is. I don't know Susan personally, so I can't speak to her character. Maybe she's a pathological liar or maybe she's the most honest and genuine person I'll ever meet. The point is that I don't know, and unless you know her personally neither do you. This is not a controversial fact I hope we all agree.

Forms of evidence I'd be interested in seeing: slack chats, emails, internal HR files, etc. that should all in theory come to light if there was an independent investigation. If there is a systematic covering up of sexual harassment at Uber there will be hard evidence to support it, right?

What actual evidence (other than Susan's blog post) do we have that leads to a rational and unbiased conclusion that Uber is intentionally covering up sexual harassment?

<comment><USER27> She made accusations that specific incidents happened.

In general, someone who makes a specific accusation that can be disproven if not true probably isn't making it up.

I know we can all recall specific times when this hasn't been true. But as a general rule it works, as long as we remember we are still in the "judgment" phase and not the "punishment" phase.

<comment><USER28> "In general, someone who makes a specific accusation that can be disproven if not true probably isn't making it up. "

On what do you base this?

Honestly, i'd say that in court, the percent time people (be they cops, witnesses, you name it) make specific accusations that can be disproven, and _are making it up_ , is in the 20-30% range, at least. These are _on a witness stand, too_. I'm just going by those things objectively disproven later (IE literally could not have occurred as the person says. Not "can't tell what really happened, video too fuzzy"). Outside of court situations with repercussions, i'd expect the number to be _much higher_ not _much lower_.

"I know we can all recall specific times when this hasn't been true. But as a general rule it works, "

This is handwaving. Really. This is "well, you might think it's wrong, but i'm telling you it's not with no data to back me up".

There's a reason "eyewitness testimony" has it's credibility judged by a jury, is not taken as fact, and is pretty much the lowest form of evidence there is: it's because it's the most often wrong.

</comment></comment></comment></comment></comment></comment><comment><USER18> This is a corporate crisis for Uber.

Right now, Uber is very clearly following the playbook that historically leads to dead companies.

It needs a truly credible response, not one that happens to use some celebrities they have on hand.

<comment><USER29> > following the playbook that historically leads to dead companies

I agree that Uber is handling this poorly, but can you elaborate?

<comment><USER23> Yeah, I agree. Examples! If this is true, there's got to be some really interesting stories here.

<comment><USER30> Nest comes to mind. I remember hearing horror stories about management there treating employees like total crap.

<comment><USER31> Nest had a nice exit.

<comment><USER30> The abuse continued after the exit.

</comment></comment></comment></comment></comment></comment><comment><USER32> As an investor in Lyft, I'm sorry to say that I hope Uber doesn't change anything they're doing. The Uber management is the best thing that's happened to my personal finances in a while.

<comment><USER33> You hope they continue to sexually harass their female employees?

<comment><USER34> I don't think he meant that literally, he meant that he hopes they continue to exhibit gross managerial incompetence.

<comment><USER35> But that very gross managerial incompetence might also be doing harm to people.

</comment></comment></comment></comment><comment><USER36> Great sentiment, but I don't suppose anyone had the brilliant idea of actually divesting their holdings in Uber, rather than just talk-talk-talking? Wanting them to change, and being in a positon to profit from the status quo, are kind of mutually-contradicting are they not?

Looking for any investor with enough integrity and conviction to send a stronger message... I know, dream on, plus who would buy anyone out at this ridiculous level of overvaluation?

<comment><USER37> Divesting would actually be the more direct form of profiting from the status quo. Lock in the gains that the status quo created for you before the culture becomes so toxic the company folds. Keeping your holdings and releasing this letter is actually the bravest thing you could do as an investor.

</comment></comment><comment><USER38> While those actions (and inaction) at Uber are despicable, part of me thinks that this was inevitable. In order to break up an entrenched, crony industry like ride hailing, you end up taking on some of their characteristics. Getting a female cabbie is incredibly rare in big cities[1], and associating with male drivers all the time is bound to produce some chauvinistic behaviors.

I'm not excusing the behavior, but I think this definitely rubbed off on them. It's an ends justify the means mentality, and it might not have been necessary under a different power structure. I suppose there's a chance that Lyft could have done it right, but who knows how they would have handled the other PR battles. Hopefully a new crop of managers at Uber, eventually dealing with a much more diverse group of drivers, one that includes machines, will be much less chauvinistic.

[1]: [https://www.theatlantic.com/business/archive/2014/08/how- ube...](https://www.theatlantic.com/business/archive/2014/08/how-uber-helps- women-break-into-the-taxi-industry/376127/)

</comment><comment><USER39> Does anyone know why Susan chose to "blog" instead of filing a law suit?

<comment><USER31> Maybe she's pissed but doesn't want to sue? Lawsuits are mentally and emotionally (and financially) draining.

</comment></comment><comment><USER40> In reality how much people really care about the sexual harassment care?

<comment><USER41> Yeah, it may be more of a society problem than a corp problem.

</comment></comment><comment><USER42> It's going to be interesting to me to see how this all affects Uber's bottom line.

If they keep scaring away engineers and getting bad publicity, will be scare away customers too?

Or will the trail of engineers eventually catch up with the quality of the experience?

<comment><USER43> I'm quite sure it's already scared away customers. I'm one of them.

I have 'missed' a number of opportunities over the years because I was unwilling to implicitly endorse unethical behavior (instead of quietly continuing to do business with entities I believe to be bad actors, I cut them out, because there are more important things than convenience and money). I don't plan to change this pattern, and I know I'm not the only one.

The real question is what percentage of potential future customers Uber is losing. If people like me are a tiny minority, this may not affect their bottom line at all... which I would find very sad.

</comment></comment><comment> happy-go-lucky > success must be measured in more than just returns.

</comment><comment><USER44> IF lyft is behind all this, I'm impressed.

</comment><comment><USER45> I've said it before and I'll say it again:

Uber has started a revolution. I do not require them to survive it.

</comment><comment><USER46> Wow, lotta founders showing their true colors in this thread re: contempt for their investors.

<comment><USER47> True colors like wanting investors, people with skin in the game and the ear of the company, to voice concerns through standard channels?

Could you provide some more detail to your condescension?

<comment><USER48> Why are you stating that they didn't follow the "standard channels" when the linked letter explicitly states that they had been doing exactly that for a long period of time? Are you calling them liars?

</comment></comment></comment><comment><USER49> Bravo to Mitch and Freada Kapor for going out on a limb like this. Uber has been toxic for years and everyone has remained silent. Every PR crisis has been swept under the rug and nothing has apparently changed. Hopefully an investor speaking up in this way will finally prompt the board to treat the problems in Uber seriously and have a truly independent investigation done.

</comment><comment><USER50> Silicon Valley for the past five years has been afflicted by Wall Street ethics. I've seen this first hand at a few SV companies. As a male, I've actually faced reverse harassment. Never worked at Uber, but I'm speaking of much larger SV companies. HR is useless.

Silicon Valley is no different than any other place in the World. Just because people think they are "changing" the world doesn't mean ethics need to be on the line.

[http://www.telegraph.co.uk/technology/11765609/Start-up- cult...](http://www.telegraph.co.uk/technology/11765609/Start-up-culture-is- corrupting-our-youth-and-killing-real-entrepreneurship.html)

<comment><USER51> > reverse harassment

I am genuinely confused as to what you're trying to refer to with this term.

</comment></comment><comment><USER52> > _So apparently the problem is not fully solved._

You are _completely_ right.

The problem of poor, dirty, violent, urban-youth infested communities is not fully solved.

<comment><USER53> We've banned this account. It's not ok to use HN primarily for political and ideological battle.

We detached this comment from [https://news.ycombinator.com/item?id=13720963](https://news.ycombinator.com/item?id=13720963) and marked it off-topic.

</comment></comment><comment><USER41> What do people here think about Susan's way of doing things? While I think most of her behaviour is valid and I'm impressed by her professionalism, I think she starts too fast to report people, which costs her political power to achieve her goals and makes people in HR more pissed off than necessary. E.g., being hit on by colleagues is a common thing that happens to women. But some can deescalate it without much problems. She didn't even try to deescalate it, just report it and be done with it.

It's a minor thing compared to all that which happened to her and I'm mostly thinking about it in terms of own career strategy.

<comment><USER54> No, because being propositioned for sex with a manager is absolutely out of line no matter when it happened. If anything, I think she was _too_ patient with management and gave them way too many chances to get it remotely right because she seemed to really like the work she was doing.

<comment><USER41> You're lucky if you live a life where you can always enforce your rights. But at least her blog post shows that is not always the case. Maybe you've also heard other stories. For instance, I remember a story where a western female tourist got raped, went to the police and immediately was sent to jail, because her "crime" of having extramarital affairs was way worse to the autorities than raping a woman.

A simpler example that much more people experience at least once in their life: A customer comes to you and treats you like sh*t. You can go to your boss and complain about the customer, but for the boss the money the customer brings is more important than your well being. So you get an angry boss instead of getting rid of the customer. The moral situation is indisputable, but enforcing your rights is a luxury you don't always have.

Therefore low power tactics is an important survival skill: Avoiding conflict without the necessity to give them what they want.

</comment></comment></comment><comment><USER55> "As investors, we certainly want to see Uber succeed, but success must be measured in more than just returns."

\-- Sure, but Uber is already a mission-driven company whose success is inversely proportional to horrible things like DUI deaths -- statements like these impede their progress

<comment><USER56> Sure, but it's hard to think of much that would hurt "the mission" more than the harassment that's been alleged (and corroborated). Properly investigating that, removing those involved at any level, and ensuring a culture where it never happens again are a critical part of "the mission", kind of like putting out a fire in the office.

</comment></comment><comment><USER57> As a male in my early twenties, working as a developer I've come to realize that it's just better to not even try to engage in small talk and/or non-work related conversations with female co-workers. I keep it dry and basic. Just last week I had a buddy who was on the phone with his brother and blurted "Bro, she was amazing, then I left her house haha" he was fired the next day because a co-worker overheard his conversation and felt uncomfortable.

<comment><USER58> I don't even know what to say to this. If your interactions with females are so problematic that you're now afraid to talk to them for fear of repercussions, I seriously doubt "women" are the problem here, which is what you seem to be implying.

<comment><USER47> It's off topic. It is also concerning that (without more detail) a singular remark about a social event off-hours would get someone fired.

<comment><USER26> I suspect that, for someone who uses that sort of language to talk about women even in private, it likely wasn't a first or only offence.

<comment><USER47> Using 'bro' non ironically might be more of a key off than describing an experience with a woman as 'amazing'.

</comment></comment></comment></comment></comment><comment><USER59> An investor issues veiled threats while acting as if they're owners or management. Who cares if you're "available to make suggestions", and what makes you think you're entitled to work behind the scenes to change company culture?

<comment><USER60> Investors, by very definition, are (part) owners. And management is put in place by the board, that owners/investors control

<comment><USER59> Yeah I understand, but having a stake in a company doesn't give you the right to act as an advisor to the board or management. You're aren't a worker or a consultant and you're not on the board. If they have an issue with the board then then there are manoeuvres that they can take.

<comment><USER61> Yes you do have that right. Investors literally own the company.

People who literally own the company are of course expected to give their opinion on matters concerning the company that they own.

<comment><USER59> You can give your opinion, you can't install yourself as a worker with your own personal goals of changing a company's culture. Again, if you have a problem with how the company is being run then you can take action.

<comment><USER62> No one is arguing that. Please don't move the goalposts and/or set up straw men.

<comment><USER59> What I said:

> you can't install yourself as a worker with your own personal goals of > changing a company's culture

From their letter:

> As early investors in Uber, starting in 2010, we have tried for years to > work behind the scenes to exert a constructive influence on company culture.

What strawman?

<comment><USER63> It's not a strawman if you grant that only people installed as workers get to have influence. As the rest of the people in this thread have pointed out, that premise is false.

<comment><USER59> They verbatim say they want to work behind the scenes in the company to change the culture. That's not advising or just "having influence". It's simple...they do not have a right to do this as investors unless it was part of their terms.

<comment><USER62> That's ridiculously. They certainly have a right to do that. Sure, it depends on management etc.'s willingness to listen and take the advice, but they absolutely have the right.

<comment><USER59> No they do not have that right. They have the right to _if management is willing_ as you say, which they aren't, in this case. They do also have the right to play their part in replacing the board, and they do have the right to try and pursue board membership. But they aren't entitled to work within the company to change its culture simply because they're an investor. Companies could not accept investment if this was a right extended to investors.

<comment><USER61> I am sorry, so do you not believe in the First Amendment?

Nothing that they did was illegal.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER64> I may be in the minority on this point of view, but maybe it's in the interest of the board and investors to wait on the results of the independent investigation before commenting on the contents of the accusation. They could though make a statement in support of the investigation and employees however.

<comment><USER65> The top highlight from the article...

 _> We are disappointed to see that Uber has selected a team of insiders to investigate its destructive culture and make recommendations for change. To us, this decision is yet another example of Uber's continued unwillingness to be open, transparent, and direct._

</comment></comment><comment><USER55> Fowler's post shed light on Uber's serious internal problems -- no doubt. But going public with a post like this erodes founder-investor trust. It's across the line.

Publicly condemning the internal culture the post depicted would be reasonable, even helpful, but trying to "expose" Uber's leadership for showmanship and posturing ('hiring' Holder who was ostensibly involved long- before the Fowler post) to mitigate the pr fallout is counterproductive. Don't kick your founder when he's down.

<comment><USER66> > Don't kick your founder when he's down.

There should also be a counter rule:

> Don't stick by your founders if they are creating horrible environments, > such as Uber's, and are unwilling to make up for their mistakes.

If more investors had this sort of backbone founders might feel more accountability and not let these situations happen in the first place.

This would be at the expense of bad founders losing trust with their investors? Great. The good founders will be glad that the Kapor's stood up for what is right, and know that they will never be placed in the same situation themselves because they trust their own moral compasses.

<comment><USER55> In theory perhaps.

But anyone who's been paying attention knows, depressingly, that the stories coming out of Uber aren't new or unique.

The gross culture depicted in these kinds of posts maps pretty-much 1:1 with the wider culture of the Valley.

<comment><USER67> Maybe I'm not parsing your comments correctly, but it _seems_ like you're claiming that Uber has a real cultural problem and that problem is endemic to tech in the Valley (if not in general) -- but you're arguing that confronting those in positions of power or leadership is unfair to _them_?</comment></comment></comment></comment>


Security startup Malwarebytes acquires AdwCleaner to nip adware in the bud - <AUTHOR> https://techcrunch.com/2016/10/19/security-startup-malwarebytes-acquires-adwcleaner-to-nip-adware-in-the-bud/ <comment><USER2> "Startup"? Malwarebytes is 7 years old!

<comment><USER3> I heard someone from Cognizant recently refer to their behemoth outsourcing firm as a 'startup' \- ridiculous.

I guess the word is seen as cool, so companies want to associate themselves with it. But to me it just makes them sound bloody stupid.</comment></comment>


Traffic Ghost Hunting (2013) - <AUTHOR> http://nautil.us/issue/16/nothingness/traffic-ghost-hunting-2 <comment><USER2> If there are in fact traffic jams caused by "nothing at all", I would assume there is a critical density - in other words, everyone is following too closely. Did the article point that out and I missed it?

...after looking again, yes, it did, but it seemed to avoid saying explicitly "nearly everybody tailgates and it messes things up, duh".

<comment><USER3> Waves of slow traffic don't require tailgating, and easily form either way. The biggest root cause is variance in driver reactions: someone ahead of you slows down, you notice their brake lights, you step on your brake pedal. But how quickly do you notice and react? And how quickly does the person behind you notice and react to your braking?

The people on the slower end of the reaction time spectrum will have to brake longer and harder, causing the people behind _them_ to have to brake longer and harder, and the people on the slower end of reaction times behind them will brake harder still... and eventually you get the effect amplified to the point that traffic is coming almost to a dead stop despite no obstacle in the road (other than traffic itself) causing it.

All of this can and does happen independently of whether people are tailgating. Autonomous vehicles can, in theory, maintain very small following distances behind each other and avoid this problem because they react so much more quickly and (in some visions of the future) can communicate wirelessly with each other to coordinate a reaction. Humans can't do that.

<comment><USER2> If I left enough space in front of me, then I can adjust my speed without braking. If I left enough space in front of me, then reaction time isn't a limiting factor.

I think you just can't imagine leaving that much space. Which is not surprising, because if people in general _could_ , then we wouldn't have the traffic jams.

It seems to me that tailgating _by definition_ is following too closely to be able to react in time to what's ahead. You seem to feel it can be something else.

<comment><USER3> _It seems to me that tailgating by definition is following too closely to be able to react in time to what 's ahead._

By your definition, the people with slower reactions who amplify traffic waves aren't tailgating. By your definition, if they were tailgating, they would've rear-ended the vehicle in front of them.

Perhaps you'd like to try again?

<comment><USER2> In the spirit of cooperation which is necessary for any discussion, I was adhering to the implied definition of "react" in your previous post, as I understood it.

I don't think you're being consistent with yourself now, in saying "react in time" means "to not rear-end", nor are you rightly attributing that to my definition of tailgating.

You're entitled to your opinion about a definition, but it's not worth getting overly offended about. Sometimes generalizing a definition changes what falls under it, but it becomes in a subtle way better. I think this is sort of an "is Pluto a planet" issue, only I'm on the other side than in that case.

</comment></comment></comment></comment></comment><comment><USER4> William J. Beaty did a better write up on this subject many years ago: [http://trafficwaves.org/](http://trafficwaves.org/)</comment>


Allwinner A10: A GPL-compliant computer for $15 - <AUTHOR> http://www.freesoftwaremagazine.com/articles/allwinner_a10_gplcompliant_computer_15

<comment><USER2> I have some issues with this whole affair at the moment:

Firstly, in the linked article we can read: "even cheaper computer [...] and it's being sold in China for $7." Uhm? On the original Rhombus Tech page, it seems that the Allwinner A10 is just the _CPU_ which is going to be used in the computer, and it's the _CPU_ which they claim is sold at $7. So, the computer's sure gonna be more expensive than that. Also, this sentence suggests, that the computer is already built and being sold. Which is not the case, and this brings us to the next point...

Secondly, from the original Rhombus Tech page, all I can read now (please, show me that I'm wrong) is that the computer is only _being designed_ now. On 15 Dec 2011 all they had (at least according to what is reported publicly on their page) was apparently a rough concept .png collage of overall layout of elements, and contact to some Factory in Shenzen, China. And they immediately started taking preorders! As of Jan 2012, they seem to be only selecting components they maybe could place on the PCB, and designing parts of the circuit in KiCAD.

Now, to contrast with Rhombus Tech, Raspberry Pi didn't _ever_ take preorders (they specifically rejected such requests), and already had working and demoable prototypes (with loads of hardware and software concerns solved) several _months_ ago. And they still needed corrections, polishing of the design etc. As much as I'd love to see a computer close to $15, RasPi's process sounds much more trustworthy to me than Rhombus Tech's. Ok, I understand Rhombus may need preorders, as they are probably not so solidly money-backed as RasPi's owner, but for me they're clearly in a much higher risk group.

<comment><USER3> The pre-orders seem to just be commitments, like a less streamlined Kickstarter, rather than an attempt to get money up front.

As for "computer" both projects seem to be using that term for a credit card sized board without even a case. The core parts of both however are already in use in mass-manufacture products. The article seems to talk about the core chip and the Rhombus package containing it interchangeably.

The Rhombus idea seems to be putting the the chip into a modular package with a standard interface from which you can build upgradeable tablets or computers, as well as just use it standalone.

</comment></comment><comment><USER4> From Rhombus Tech preorder page, "Please note: this price excludes a case, power supply, packaging, shipping, tax, customs and import duty." Add that to $15 and Raspberry PI comes back into the comparison, not to mention better chances of having a big ecosystem.

<comment><USER5> Unlike Raspberry Pi, this already has commercial success in China. Many Chinese brand name tablets are using the A10. Allwinner has already reduced the price to $5. The A10 is very successful in China because it offers the best performance and power optimisations in this price range.

At $25 Raspberry Pi is a joke. If it actually sees a decent amount of sales, you will be sure to see actual companies that specialise in this field competing at lower prices and better performance. Raspberry Pi has realised something that everyone in the industry knows: computing is cheap. It will not take long for the competition to crush Raspberry Pi if there is a large enough market for what they are doing. As for now they are chasing after the tablet market and IMHO are going to do well.

<comment><USER6> Me thinks you labeling the Raspberry Pi as a joke is a bit, childish. The thing is barely into production and you say it's already lost to products that don't exist yet.

Then you say that if the thing is a success then other companies that specialize in such hardware will come in and crush them. That's highly possible but I thought you labeled it as a joke? If that situation happens I would call them leaders in the industry as the "highly successful" companies needed someone to show them the way.

At some point, one will be able to buy a RaspPi for $25 plus shipping that requires power and a display; you're ready to go. Where's the comparable product using the A10 and how much is it?

</comment></comment></comment><comment><USER3> This looks pretty good. The powerful combination of Free Software, ARM chips and Chinese manufacturing seems to have been ready to go for the last few years but has been held up by culture clash, language barriers and suspicion between the software and hardware manufacturing sides, and the lack of Free Software friendly GPUs.

This could finally be the dam-breaker, particularly if some of the cheap devices (complete tablets/phones etc.) produced by manufacturers uninterested in GPL compliance could still be used because the chip manufacturer is on board and providing the necessary support info.

edit: I was mistaken, the Mali GPU still requires proprietary code for 3D, I'd got it mixed up with the OMAP in my Samsung Galaxy.

 _"Regarding Software Freedom: the caveat regarding this CPU is that it requires ARM-proprietary libraries for the 3D Graphics (as does virtually every single suitable consumer-grade embedded SoC on the planet with the almost exclusive sole exception of the Ingenic jz4760 and some of the TI ARM Cortex OMAP and Sitara SoCs). However, simply not using the proprietary MALI 3D GPU does not impact any other functionality in any way."_

Still one more step in the right direction.

</comment><comment><USER7> Do any of the similar low cost products actually have a success story? Or do they all get hyped to death and end up failing?

<comment><USER8> well at the moment similar priced products are far lower specced. but of the small list here ( [http://en.wikipedia.org/wiki/Single- board_microcontroller#Se...](http://en.wikipedia.org/wiki/Single- board_microcontroller#See_also) ) i've played with 3 of them. they are doing well. now for the same price i can get a system that will do 90% of my computing needs with the right addons? yes please!

there is a market for small systems like these, embedded, remote locations, areas were space is a premium. it doesn't have to be a huge market to be successful.

i like low specced systems. my main computer between 94 and 99 ran on 2 aa batteries for a week at a time. i reckon it's more likely that people develop wearable computing and other new technologies when building blocks like these are commonly available.

just my 2c.

</comment></comment><comment><USER9> specs <http://rhombus-tech.net/allwinner_a10/>

</comment><comment><USER10> Am I understanding correctly that this is based on an ARM core, as in licensed from ARM?

As an ASIC design guy, I have a hard time calling this "GPL-compliant hardware" when the main non-trivial component is closed source.

</comment><comment><USER11> I would treat this announcement as vapourware ...

"Rhombus Tech" parent company is "RH Technology Ltd", which is located at "Wessex House, Oxford Road, Newbury RG14 1P". Wessex House is the location of a services office company called "Inigo Business Centres" (<http://www.inigo.co.uk/>)

... This does not look like a company with the resources for mass production in the near future.

It's one thing for a group to tell you that it will sell you for $3 a quad- core SoC with 16GB of RAM that will work on a watch battery, it is another thing to do it. It only makes sense to compare this product to the rPi once it has started rolling off the production line.

</comment><comment><USER12> hmmm, think we've been here before

</comment><comment><USER13> i was told this is a UK jobless guy that is trying to leverage some Chinese factory/chip to stir up things. Too good to be true? save your time here, I was excited when i first saw this too.</comment>


Ask HN: What's your go-to stack for prototyping web applications and MVPs? - <AUTHOR> Hi all,
My current go-to stack is Rails + Ember.js. I understand it's a bit dated so I'm considering learning something new.
Thus, I'm wondering what you guys use, or what you'd recommend learning.
Thanks! <comment><USER2> I am also a Ruby/Rails developer. It is a great framework but I wanted to try something new for my side project so I started learning Elixir/Phoenix.

I have now deployed two applications using Elixir. One is a simple blog and the other is the side-project that I am currently working on called Email This [1]. Overall, I've been very happy with Elixir. The learning curve is not too steep and the docs are very exhaustive.

For my next project, I am planning on trying Go. There were many great resources shared in this post on HN today [2].

[1] [https://www.emailthis.me](https://www.emailthis.me)

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

<comment><AUTHOR> Thanks for your answer.

Is there anything you missed from Rails when you did your project based on Elixir/Phoenix?

What are you using on the front-end for both projects? Do you currently have a go-to front-end framework/library?

Email This looks great. What are your plans (if any) to monetize it?

<comment><USER2> One thing I missed was that the availability of packages for common things like oauth, payment gateway integration etc. In the Rails world we are spoilt for choice when it comes to gems and libraries.

But I think this will improve as the adoption of Elixir increases.

I don't have a go to frontend library. I have worked with React and Vue.J's before and if I have to choose one for another project, I'd probably go with Vue.

I am thinking of running Email This on a pay-what-you-want model, but I am not too sure about it though. First priority is to get people to use it and see if they find value in it.

<comment><AUTHOR> Cool. Thanks again for your answers.

Best of luck with your projects!

</comment></comment></comment></comment><comment><USER3> Backend: Node.js+Exress. Although I'm recently looking into serverless options (e.g. using AWS Lambda, etc.)

Frontend: Bootstrap for looks and CSS sanity. Knockout for data binding; it's a mature framework that works fine for small- to medium-sized web apps. If I'm to learn something new, I'd go for Vue.js, whose concepts look very much like Knockout and it benefits from virtual DOM rendering.

</comment><comment><USER4> For the past couple of years my stack has been Rails & jQuery.

I'm on the cusp of starting a new project and some configuration problems have left me looking elsewhere. I used to work with Django a lot, and I may go that route, but I also think a full-javascript stack could be good for me professionally.

Alternatively, I'd love to try a clojure backend but frankly I'm a bit afraid of it--I tried maybe 18 months ago and I had a bad go of things. I've read lately that some of the problems I had have been remedied (most importantly better stack traces) and so I might just give that a go.

No matter what backend I choose, I'm going to build out a React/Redux front- end. I'm working with that on the job and I could use a little more time with it to become more comfortable. Also, I really think it's a good paradigm and that it's going to stick.

Anyway, lots of fun choices out there. If your efficiency isn't a top priority, I'd urge you to pick a language that looks fun. For me, Clojure is that option.

</comment><comment><USER5> Why's it a bit dated? What can't you do with Rails and Ember?

<comment><AUTHOR> There's nothing I can't do with it. I'm just considering learning something new.

</comment></comment><comment><USER6> For prototypes I'm either using Node + Express or Flask, depending on what I feel like that day or what database I need. I don't really like using MySQL with Node, I think it's easier with Python so if I need SQL, I'm in Python/Flask.

</comment><comment><USER7> I use django. For starters, I use bootstrap and jquery for frontend but once the project matures and is here to stay, I shift to plain CSS. I also use plain javascript (for now the total LOC is <900) but may shift to some other lib when complexity increases.

</comment><comment><USER8> I love Ruby and for the quick web MVPs I use sinatra + sequel.

I try to avoid JavaScript if possible... Setting up the JavaScript build/transpile system, installing dependencies, fighting the dependency version hell drains all the hype and productivity from my soul...

<comment><AUTHOR> I agree that dealing with the front-end can be a drain sometimes, but unfortunately it's necessary for many types of MVPs that require a rich UI.

Do you have any such MVPs or projects you could share?

<comment><USER8> [https://github.com/adnanh/rye](https://github.com/adnanh/rye) \- simple url- catcher on our slack channel (live at [http://rye.hajdarevic.net/](http://rye.hajdarevic.net/)) (Using slack outgoing webhooks + [https://github.com/adnanh/webhook](https://github.com/adnanh/webhook) for catching the webhook and running a simple shell script that parses the slack message and extracts all URLs and then hits rye with curl to store and crawl them)

[https://github.com/adnanh/mikro](https://github.com/adnanh/mikro) \- my personal micro blog that I mainly use to store interesting links (live at [http://blog.hajdarevic.net/](http://blog.hajdarevic.net/))

I'm currently working with a friend of mine on an MVP that we plan to offer as a service, and the source code is not open, but the stack is: React (JSX + ES6 + Webpack) + Tachyons for frontend, Ruby (Grape + Sequel) for frontend API, Golang for workers and processing, PostgreSQL as a DB and Redis for caching

</comment></comment></comment><comment><USER9> Go(Lang) backend + plain html, jquery and gulp on the frontend. After doing Rails for a while, I was tired of the slowness and layers upon layers of abstraction. Go is simple in comparison - the language philosophy helps you keep everything close to where it's executing. No assumptions. I've borrowed some lessons from Rails in structuring my code (models are separate, api for controller logic, views are static pages that interact with the Api through JSON). The performance of my sites is so incredibly delightfully fast now, that I would never go back. Almost all of my server calls return back in microseconds. I'm rewriting all of my sites in Go now.

<comment><USER10> Working with a database in Go has been painful for me. Have you found this is the case in your projects?

</comment></comment><comment><USER11> Meteor.

Don't do it. It is quick and somewhat easy but just horrible. I need to stop being lazy...

</comment><comment><USER12> Django if I need users/auth stuff, otherwise Express on the backend. On the frontend I use React and Redux, usually with a boilerplate like [https://github.com/davezuko/react-redux-starter- kit](https://github.com/davezuko/react-redux-starter-kit)

</comment><comment><USER13> Rails backend, react/redux frontend.

I use the `create-react-app` which means no build config at the trade off of some nice-to-haves (CSS modules >_<)

</comment><comment><USER14> React on a Node (express) server is a simple and powerful combo.

</comment><comment><USER15> For web, I wrote my own http server with c++.

For desktop app I use c++/Qt.

For app I use ios/swift.

<comment><AUTHOR> Do you use any front-end libraries for your web projects?

<comment><USER15> I don't use front-end lib that much.

I usually purchase a template from themeforest. I care more about the design, whatever the theme I purchase use, I just modify it from there.

<comment><AUTHOR> Thanks for your answer.

I'm curious about what kind of projects you do with a C++ web server. Could you talk a bit about them?

<comment><USER15> The C++ server itself was my side project. I made it long time ago. I tried to create a blog with it.

[https://github.com/shi-yan/Swiftly](https://github.com/shi-yan/Swiftly)

Right now, I'm making a deep learning library. I want to create some simple dashboard ui for it.

I investigated few options. I don't like go. I know some node.js. I really wanted to use swift. But the swift framework, called perfect, crahes on my mac. So I decided to use my own framework. It integrates well with my deep learning library.

</comment></comment></comment></comment></comment><comment><USER16> My personal go to is Rails + React

</comment><comment><USER17> Eve</comment>


Related Pins at Pinterest: The Evolution of a Real-World Recommender System - <AUTHOR> https://arxiv.org/abs/1702.07969 <comment><USER2> Direct link to paper: [https://arxiv.org/pdf/1702.07969.pdf](https://arxiv.org/pdf/1702.07969.pdf)</comment>


Maker Blogs: Discover and share best blogs written by makers across the web - <AUTHOR> https://makerblogs.xyz/ <comment><USER2> This would be more useful to me if when I hovered the link it told me more about what they actually make and the language they post in.

It's too random otherwise.

</comment><comment><USER3> Wouldnt it make more sense to promote individual posts, not blogs?</comment>


New Qt Releases Might Now Be Restricted to Paying Customers for 12 Months - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Qt-Might-Restrict-New-Releases <comment><USER2> Sharing the official KDAB reaction : [https://mail.kde.org/pipermail/kde- community/2020q2/006101.h...](https://mail.kde.org/pipermail/kde- community/2020q2/006101.html)</comment>


Introducing anonymous, real-time chat and crowd count for Stanford Campus - <AUTHOR> http://www.software995.com/buzz/stanfordbuzz.html

<comment><AUTHOR> My name is Scott and I am the developer of Stanford Buzz. If you have any questions about the Android App, please email me at at email@example.com.

</comment><comment><USER2> I use this app and it works. It is a very interesting idea</comment>


Ask HN: What are some examples of great software that's documented terribly? - <AUTHOR> I'm struggling with publishing some software of my own which, based on what I can tell, has more OOTB features than my competitors, but the documentation is god-awful and out of date.<p>What are some examples of software you've used that's actually pretty good, but not well documented? <comment><USER2> Not sure what you mean by great, but very common software: Amazon anything, Apple's App Store, SailsJS. But documentation is tough so I don't begrudge them much (except App Store, dear Lord that was a terrible experience)</comment>


Pokemon GO Android Controller - <AUTHOR> https://github.com/xbenjii/PokeMock <comment><AUTHOR> Excuse the awful Java code, it's the first actual Android app I've made.

After watching the iOS version of this: [https://github.com/kahopoon/Pokemon- Go-Controller](https://github.com/kahopoon/Pokemon-Go-Controller) I wanted to see how hard it'd be to replicate on Android.

Video of it in action: [https://www.youtube.com/watch?v=eBBiNYdUzvQ](https://www.youtube.com/watch?v=eBBiNYdUzvQ)

<comment><USER2> An explanation of what it actually does would be nice...</comment></comment>


Ask HN: what do you think about dangerous additivies in kids gear? - <AUTHOR>

Yesterday I went shopping for a music box for my soon to be born child. At home we found a review of a similar music box from the same manufacturer, which got bad grades for containing aniline in a surface exposed to touch (toxic, absorbed through the skin).
I am also reading "ecological intelligence" (by the "emotional intelligence" guy), going on about similar topics.
In general, it seems very hard to find anything that is not polluted. I would be curious how smart people from HN think about this problem.
Is it maybe just overblown hysteria by some "treehuggers"? Perhaps a little toxin here and there won't kill you, not even if you are a toddler. Somehow most of us grew up mostly OK, and chances are 20 or 30 years ago the situation was even worse. There were probably even less "watchdog companies" around to at least curb the problem a little bit.
On the other hand, a lot of it seems just superfluous, which makes it extremely annoying to me. It's one thing to add preservatives to colors and food to make them last a little longer, but to add lead to colors to make them seem brighter just seems criminal (apparently a very common problem). It makes me want to avoid those products out of principle, no matter how severe the real danger.
The whole consumer experience is also extremely sub par. Apparently the companies mentioned in "ecological intelligence" (like goodguide.com) are at least working on an API and iPhone apps, but it seems unlikely they would help for my country (Germany). The leader in Germany ("Ökotest") does not seem to be that far yet. I seriously consider doing some work in this space - might be difficult to come by the data, though. I wonder how expensive it is to test a product? GoodGuide does not seem to test that extensively either, they mention some x-ray test that can detect a limited amount of chemicals on the surface. No idea about chemistry, but I imagine perhaps one could vaporize a product and then see what comes up in the spectrometer?
Back when I still read computer magazines, I eventually realized that all the tests just had to find some flaws. Even if a tested PC was really great, then the testers would suddenly start nitpicking about some minor detail. Naturally, all the buyers would run into the shops and nag about that aspect of the product. So I wonder if a lot of the "ecological tests" are a bit the same. If you look long enough, of course you find some flaws.
On the other hand, as a consumer, my trust into the industry has definitely been completely destroyed (they also sell us sweets, coke, garbage products recycled as food and what not and claim it is healthy - no, definitely no trusting there). <comment><USER2> I have tried to be a practitioner of better parenting over scared parenting.

I do not "child proof" my house, or screen toys for lead. I have never heard of this toxin you are writing about but I think it all fits into the same category. If you as a parent are actively involved in your child's life, you should never be worried that they are eating the paint off of a toy or drinking the bleach under the sink-- because you are there.

When I had my children, I wasn't ready. I was young and selfish-- I had no time for them. I did not desire to make time for them. My wife, thank the maker, was the exact opposite. She gave up everything to be mommy and eventually I came around. I discovered that my children are _not_ a burden, and I have found less and less time for the things I _used_ to enjoy because I now enjoy my children.

Because my wife and I are always with our girls, we can proactively coach them away from eating things they are not supposed to or chewing on things that could be harmful. It is like you said, things were likely a lot worse when we were kids. Lead was everywhere. I have been a fisherman since i was born and I cannot tell you how many sinkers I have swallowed-- maybe some day this will have profound effects on me, but not yet.</comment>


Str.lua: a string module with useful methods to Lua - <AUTHOR> https://github.com/EvandroLG/str <comment><USER2> Great idea.

If it meets the guidelines and you want feedback, this might make a good "Show HN".

Guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)</comment>


Vaping May Harm Bloodflow – Even Without Nicotine - <AUTHOR> https://www.wired.com/story/vaping-may-harm-your-blood-flow-even-without-nicotine/ <comment><USER2> title fix: "Nicotine"

<comment><AUTHOR> Thanks</comment></comment>


HTML theme convergence – why do ThemeForest HTML templates all look the same? - <AUTHOR>

So I'm looking for an admin template and searching the offerings on Envato ThemeForest.
And the most obvious thing to notice is that apart from minor differences in font and color, all the templates are pretty much identical.
Why have all HTML templates converged to look the same? <comment><USER2> because they use the adminLTE theme or some free stuff from the web and resell it. Some redesign it and some basically resell open source stuff.</comment>


Cocainenomics - <AUTHOR> http://www.wsj.com/ad/cocainenomics/ <comment><USER2> The thought-bubble above my head went like this:

1\. "Cocaine economics! This could be interesting."

2\. "Man that Snowfall piece is still making waves in online journalism."

3\. "Note to self: check out that cool Escobar show. When did that come out?"

4\. "Damn, this is a big ad for the show, wrapped up in journalism, sort of. Written by marketers, not journalists. Ugh."

5\. "I now have a strong negative connotation with that Escobar show. Probably won't watch it."

(edit: show, not movie)

<comment><USER3> I recently finished watching this show, and can confirm it was excellent, but I felt exactly the same way as I read through this.

I guess this is just how journalism is going to work for now.

<comment><AUTHOR> Yes, this piece is used as an example of one future path for advertising online.

</comment></comment></comment><comment><USER4> It really bothered me that the page had a ridiculous amount of unnecessary javascript that made the page slow to load and froze up my browser. I want to read the story, not look at fancy animations and autoplay video.

<comment> steve-howard I've had this complaint since everybody started copying Snow Fall, but people really seem to like it. Even when the browser runs quickly, I just don't want stuff to move so much.

</comment></comment><comment><USER5> In USA the story is the ad!

Welcome to the future after we've all installed Ad Blockers.

</comment><comment><USER6> This is an advertorial! Fascinating.

> WSJ. Custom Studios is a unit of The Wall Street Journal Advertising > Department. The Wall Street Journal news organization was not involved in > the creation of this content.

Very confused as to why this is getting voted up the front page of HN though.

<comment><USER7> We invited prawn to repost it because it seemed like a high-quality story that missed getting attention the first time ([https://news.ycombinator.com/item?id=10268924](https://news.ycombinator.com/item?id=10268924)). Did we get that wrong? Certainly we sometimes do, as it's not physically possible to read all the articles.

We don't care what department created it, only whether it's good content by HN standards, i.e. does it gratify intellectual curiosity.

<comment><USER6> Seems high quality enough to me. Was more commenting on the fact that it seems atypical to see paid content being so openly accepted in this community.

<comment><USER7> Ok, I get it now. Yes, an advertisement for a TV series is stretching it.</comment></comment></comment></comment>


If startup can't find a investor? - <AUTHOR>

If startup can't find investor but has customers and growth. What will do? Continue working or only trying to find a investor? <comment><USER2> There's too many unknown variables here to give any real adequate advice. Without knowing much else about the team, market, what constitutes as growth by your definition, how you define customers, what is your financial state, etc... among a sea of other things to consider... It makes it difficult to really provide any real feedback of value.

The best answer I can provide under such circumstance is "it depends".</comment>


Building WebGPU with Rust [video] - <AUTHOR> https://fosdem.org/2020/schedule/event/rust_webgpu/ <comment><USER2> Direct link to the talk slides: [https://fosdem.org/2020/schedule/event/rust_webgpu/attachmen...](https://fosdem.org/2020/schedule/event/rust_webgpu/attachments/slides/3983/export/events/attachments/rust_webgpu/slides/3983/BuildingWebGPUwithRust_Fosdem2020.pdf)

<comment><USER3> I guess shaders are in the same language so it doesn't matter if the rest of the code is Rust.

</comment></comment><comment><AUTHOR> Check out wgpu ([https://github.com/gfx-rs/wgpu-rs](https://github.com/gfx- rs/wgpu-rs)) the Rust implementation of the WebGPU standard.

WebGPU is a nice API, Rust is amazing too. It's the stack of the near future. You can use it on the desktop. WebGPU a fast API on top of the underlying platforms. And it supports spirv, fuck glsl or hlsl.

There's also a dedicated wgpu channel on matrix if you want to join. [https://matrix.to/#/%23wgpu:matrix.org](https://matrix.to/#/%23wgpu:matrix.org)

<comment><USER4> It would be good for it to support SPIR-V everywhere despite Apple's sabotage of the idea, but wouldn't you still need to use higher level language (HLSL/GLSL) to generate SPIR-V? Writing shaders in SPIR-V assembly directly would be pretty tedious.

<comment><USER5> I read the parent comment as against the idea of _shipping_ HLSL/GLSL, not the languages themselves.

<comment><AUTHOR> Yeah, I want whatever->SPIR-V->platform language.</comment></comment></comment></comment>


Ask HN: best languages to learn as a newcomer - <AUTHOR>

A friend with an astrophysics and maths background is looking to get out of her current gig in journalism and into software. She's got minimal programming experience (beyond BASIC in the 80s), but has a startlingly sharp mind, so I don't see lack of experience as a major barrier. She's asked me what language/s is/are worth learning.<p>I've suggested Ruby or Python just to get the fundamentals down, BUT (and this is where it differs from previous Ask HN threads similar to this), she wants to use her maths/physics knowledge towards creating industrial/scientific applications. With that last bit in mind, what language(s) are worth her investing time in? <comment><USER2> I personally think Python would be best. Python will allow her to understand conditionals, loops, variable assignment, etc. really simply and quickly.

Once you have that down, it's a lot easier to start dealing with things like static types, memory management, pointers, null bytes, and so on.

I learned the other way around (with C being my introductory language), but that was a useless way to learn. When you don't know exactly how to use a conditional, there's no reason to throw in things that can trip you up and have nothing to do with your understanding of a conditional.

And, to be honest, Python will do nicely for lots of applications. If she's going to be joining a company, she'll have to use what they want her to use, but if she's independent, Python will be fine unless the calculations are so complex that they are time constrained. Even then, Java isn't so hard to pick up if you know Python

It's a lot easier to add on CS concepts little by little than to have to deal with everything all at once.

<comment><USER3> Additionally, python is also becoming fairly widely used in industrial/scientific applications. In terms of scientific libraries, it's only slightly more inconvenient than C or Fortran. The FFI is reasonable too.

</comment></comment><comment><USER4> _she wants to use her maths/physics knowledge towards creating industrial/scientific applications._

The functional programmer in me is really happy that so many people are saying "Haskell!" but based on my own experience in applied physics, it's a terrible idea.

Programming in the sciences is all about numerics. That means giant fiddly matrix manipulation libraries, adaptive conditioning, stability bounding, and adjustments for the phase of the moon.

There's a pretty simple reason for all the gobbledygook. Often, the _entire solution_ to a given problem is expressed as one giant matrix equation (i.e. y = A _x), because that's an easy format for a big computer to chew on. The trouble is, there are lots of possible ways such computations can return a result that looks right but is actually completely buggered. Finite precision floating-point numbers is one, but there are others. And since inverting one giant matrix is pretty much the_ only thing* that happens in a computation, you don't have a lot of debugging options when something goes wrong. So boutique languages like Haskell won't be all that useful except for prototyping because nobody else will trust the numbers you produce.

There really aren't that many mainstream choices. Matlab is the all-singing, all-dancing prototyping tool that you _must_ know if you want to have any dealings with scientists. Matlab can compile its code to C or Fortran (I'm pretty sure, anyway), which are your two other choices.

<comment><USER5> Good points, but OCaml probably has enough credibility to get away with it. Haskell is great (tho' I am but a novice at it) but it is still a bit niche-y.

<comment><USER4> _...OCaml probably has enough credibility to get away with it._

What's the basis for your claim here?

Over the years, I'd estimate I've worked with around a hundred grad students, postdocs, and professors in Physics, Electrical/Computer Engineering, and Applied Math. I have literally never met one who used OCaml. I would be very surprised if more than a handful had so much as heard of it. That's because these people are about as interested in programming as the average programmer is interested in Schur-Newton-Krylov solvers.

<comment><USER6> As far as I can tell, OCaml is used at some French research labs, a freshman programming course at Caltech, and Jane Street Capital.

</comment></comment></comment></comment><comment><USER7> It depends. If her interests are highly focused, there's a few problem domains where niche languages (R, Matlab, Haskell, Fortran) really shine. However, if she wants more general purpose tools, I've got a few strong recommendations:

Ruby - I'd start here. Ruby is an amazingly flexible language, with a gigantic "feature set". Learning Ruby will get her up to speed on imperative programming, functions, objects, libraries, DSLs, regexps, and some functional programming (via closures). The community is friendly, the docs are plentiful, and the available libraries (gems) are pretty comprehensive. Best of all, the learning curve is gentle and it gets you writing productive programs quickly. However, unlike many "beginner's languages", it's not particularly limiting. If you really need to, you can always call out to C or Java (via JRuby). Possible alternative: Python. Never worked with it, but I understand it offers a lot of the same benefits.

Java - If she wants to do a variety of scientific or industrial programming, she's eventually going to have to learn Java. Java has largely replaced C++ as the academic language of choice, and most industries have migrated to either Java or C# for general development. While some people scream about the "yuckiness" of Java, it's actually not that bad, especially for a beginner. It's highly object oriented and strongly typed, teaching a lot about those concepts. The verbosity is often helped by access to a lot of kick-ass dev tools. Best of all, though, is the libraries. The amount of open-source code that you can tap is HUGE, especially in the scientific and industrial arenas. Oh, and Java 6 is wicked fast, at least in comparison to Ruby and Python. :)

C - I would recommend C for two reasons. First, it teaches you a lot about how the underlying machine works. If your friend is doing scientific computations on large datasets, she's eventually going to run into some weirdness with memory. Knowing C helps (forces?) you to understand what's happening "behind the scenes" in these VM-based memory managed environments. If you dig far enough down, you're almost always going to find some C code, and it's helpful to know how that works. Secondly, there's some problem domains where still C reigns supreme, namely anything that demands extreme performance. The combination of Ruby and C can give you the best of both worlds, using Ruby for most of the "glue code" and C for stuff that needs rocketship speed.

NOT RECOMMENDED - C++. Almost everything done in C++ is better done in either C or Java. C++ is super-complex, verbose, error-prone, and you still have to manage your own memory. Unless she needs to work with legacy code, your friend's time is best spent learning more modern tools.

<comment><USER8> It's funny. As a Rubyist, I still recommend Python for getting started in programming.

The docs are better, the code is probably easier to read for someone new to programming (there isn't a requirement to understand OOP to be productive), the community isn't alarmingly dysfunctional, and the conventions are more traditional. You can port a lot of Python concepts over to other languages easier than you could Ruby, I would think.

Python is classical music. Ruby is jazz. Choose the least subjective/nuanced approach first and build from there. But that's just me.

</comment></comment><comment><USER9> Python + SciPy (which uses NumPy)

<http://docs.scipy.org/doc/>

<http://numpy.scipy.org/>

Many operations are fast, being implemented in C, an the facilities include all sorts of numerical operations, as well as graphing/plotting and other visual interactions.

</comment><comment> tomh- Haskell will be a perfect fit for these math/physics kind of projects. Writing these programs in a functional language is very close to how the theory in math/physics is explained so that is a nice fit.

<comment><AUTHOR> Yeah, Haskell was also something I mentioned -- tho I have a question about how prevalent jobs using Haskell, Erlang, Clojure etc are compared to C++ etc. My orbits don't inlcude maths/physics-heavy development, so I have no idea

<comment><USER10> Any of the "academic" languages (Haskell, ML, Lispen, etc) are probably more likely to be found in math/physics-heavy development than in general development shops, but C/C++ is probably the standard (for fast-math libraries and realtime work) - you may see old fortran for some numeric stuff, and forth for some embedded work. Java is pretty rare, AFAIK.

I think HN is not the best place to ask about "languages to learn to get a job", though.

</comment></comment></comment><comment><USER11> Try a small diverse set of languages? Here's an interesting anecdote for you. I have two friends from CMU, both who have a CS degree. The first person was an ace at C. Could handle everything with ease, but faltered a bit when it came to ML/Haskell. The second person managed to screw up the "easy" C class, but she scrubbed off ML/Haskell as if it were trivial, but hated all other programming classes she took. At the time of this writing, the second person is on equal or greater footing than the first person, and both are in industry.

Whether because of personality or because of the actual underlying mental thinking involved, people who tend to be good at C aren't good at Matlab or Haskell, and folks who are good at Matlab aren't necessarily good at either C or Haskell.

In light of this, I think it'd be really sad if your friend tried just one language, and wrote off programming forever because it was a bad experience.

</comment><comment><USER12> With a background in physics and math, she might do well in a functional language, or in a language which supports functional development well. Python is a good choice due to its math libraries and ease of learning. I was also going to suggest Clojure but that basically requires knowing an amount of Java.

<comment><AUTHOR> Yeah, Clojure seems a bit deep-end for her right off the bat, but did strike me as something she'd probably dig with more exposure under her belt. Cheers.

</comment></comment><comment><USER13> Though it's probably not a good first language, if she is going to be writing code for any astrophysical applications she will have to learn IDL at some point. It's a language that's rarely used in any other field, but in astrophysics it's the language of choice.

</comment><comment><USER10> Somebody mentioned Clojure, which is a great language but has some baggage.

If she's coming from a rigorous background, I highly suggest Scheme and the book Structure and Interpretation of Computer Programs (SICP: <http://mitpress.mit.edu/sicp/.>) For some people using a language with more batteries (and thus instant gratification) is better to learn programming, I think, but for learning to think about _computation_ I think Scheme is pretty hard to beat.

Scientific programming might mean C/C++ (that's where the fast math libs are, to be sure), but it might mean Matlab or Forth or lots of R, who knows.

<comment><USER12> The fastest math libs are in Fortran. You can get close in C/C++, but the everything-is-a-pointer philosophy of C gets in the way of some compiler optimizations that are available in Fortran. (Wasn't there something posted to HN about this in the last couple of weeks?)

The penalty is that you must use Fortran, though. If the app does anything besides crunching numbers, most people would choose a more comfortable language, or just write the crunchy bits in Fortran and use a FFI if they're ambitious.

<comment><USER10> Indeed. (I mentioned Fortran in one of my replies above.) As far as I know, Fortran isn't used much for new development projects, though; I hear more about using the C interfaces to LAPACK or whatnot even in very crunchy (e.g. genome) apps. Far from a complete survey, I could be wrong. :)

</comment></comment></comment><comment><USER14> PLT Scheme is clean, free, well documented, widely supported and beautiful. It has a decent numeric tower, and a good GUI toolkit for writing simple interfaces.

I taught most of it to my 15 year old nephew over two weeks, this last winter holiday.

There is zero configuration; you double click on the downloaded package, it self installs, and you have 5+ different programming languages and levels of Scheme in one package. You can get help right from within the IDE.

</comment><comment><USER15> Ruby or Python, leaning toward Python only because it's used more widely in physics applications and, as a result, has more developed libraries for scientific computation.

</comment><comment><USER16> _looking to get out of her current gig in journalism and into software_

Is this for commercial/employment purposes? If so I'd consider looking at the job market for desirable positions and selecting a tool set from there. Even if the idea is to build products for sale/use from scratch herself it's probably worth understanding the field as it stands now before diving headlong into a programming environment that isn't going to be a good fit for the applications in question.

Python is a good starting point for intro to computer programming, but at very least (and I'm out of my league here), she should tour and understand the differences between popular FORTRAN environments, Python environments (scipy), Java environments (I don't know where to start), Mathematica, Scilab, Octave, and R.

</comment><comment><USER17> It depends what platform she wants to develop her solution for.

If she's doing web based development I'd suggest Javascript. Javascript has a lot of superflous non-sense in it but if you learn it the right way it's a very powerfult language. More importantly if she wants to develop web applications that do a lot of math calculations she's probably better off learning a browser based technology (so the burden for all those calcs won't be on the server)

Anyway, I'd suggest Javascript: The Good Parts as a book to start with if she goes that way.

If she's doing desktop apps I'd probably suggest learning Actionscript and Adobe AIR (which provides the most cross-platform bang for the buck)

</comment><comment><USER18> If you want to create industrial/scientific applications, libraries are going to be pretty important. For that reason, I'd recommend Python (see SciPy and NumPy).

I'd also recommend learning R if you're at all interested in scientific data analysis.

</comment><comment><USER19> Java is pretty prevalent and has an awfully large set of nice libraries. Once you write some utility classes to deal with reflection and some of the other annoyances - including tweaking eclipse to speed workflow - it's a great language to work in.

</comment><comment><USER20> For the easy learning curve and everyday scripting, Ruby/Python would do well.

For the heavier stuff, C++, Erlang, Java...

</comment><comment><USER21> C++

If she has a sharp mind she will pick it up easy enough and that is where she wants to be with the ultimate aim.

Alternatively Java might be an option: purely if she fancies looking at distributed apps. I hate Java like crazy but it has some good background in distributed computing.

<comment><AUTHOR> Cheers, yeah, I've mentioned both already and agree re C++. I've also pointed out to her that the fundamental methodologies are probably more important than any particular language, but C++ seems to cover most bases and seems likely to be used in the area she's targetting...

<comment><USER19> The thing worth noting about Java vs C++ is that C++ need be compiled to each arch and the open source IDEs are not as fun.

</comment></comment></comment><comment><USER22> i did a lot of matrix analysis during my grad study, from statistics (general linear model, projection, pseudo inverse, design of experiment, etc) to dynamic system (control, state space, etc) using matlab -- i even used it to generate random distribution from uniform for simulations

the closest thing to matlab is python+numaray+matplotlib (maybe it changes name to scipy?)

i think she will face matrix calculation ... so, use python (matlab is easier, but less flexible) ... i didn't go too far with R but from my experience it's less flexible than python

NB: i did those 5 years ago so don't trust my words too much

</comment><comment><USER6> Python's one of the easiest ways to get started in programming in general, and is widely used in science these days. It's the new Fortran in scienceland...

</comment><comment><USER23> Thinks she have som objectives with programming.

I'd download the java tutorials with full source, buy Core Java to her, Install a pretty minimal version of Eclipse nicely set up with the workspace for eclipse osculating the java tutorials source and Core Java source, give her a bookmark to javadocs, java tutorials - big index, java ranch, and just let her go.

She should be able to learn that with a minimum of assistance, and have fun too. The only alternative which can be more fun and rewarding would be Visual Basic I think. So java is it for obvious reasons.

</comment><comment><USER24> C

<comment><USER14> introducing her to C first might kill your friendship, once she learns of the other options. It's like finding out your parents played a prank on you and kept a remote controlled plastic monster in your closet throughout your childhood.</comment></comment>


Former software engineer Lives on a self-sufficient sailboat for 10 years - <AUTHOR> https://www.youtube.com/watch?v=lk83N2u1ZmY <comment><USER2> I love travelling, meeting people, and learning about different cultures, but I cannot relate to this story. Sailing is nice, but I couldn't self-isolate for so long. Social interaction and physical connection with other humans is important for me. Physically connecting with my friends, my family, my colleagues, and my neighbours makes me very happy.

</comment><comment><USER3> Missing-at-sea seven years ago... [https://lwn.net/Articles/380038/](https://lwn.net/Articles/380038/)

</comment><comment><USER4> Reminds me of @lutusp's story.

[https://www.arachnoid.com/sailbook/index.html](https://www.arachnoid.com/sailbook/index.html)</comment>


New unicode char: pile of poo - <AUTHOR> http://www.fileformat.info/info/unicode/char/1f4a9/index.htm

<comment><USER2> The title is wrong, it isn't new. Even the linked page says "October 2010".

<comment><USER3> jap, there is even a domain with that char: <http://💩.la>

</comment></comment><comment><USER4> Does this mean Android will finally support emoji?</comment>