SuperHappyDevHouse - <AUTHOR> http://webcache.googleusercontent.com/search?q=cache:www.ryotakahashi.com/blog/archives/21 <comment><USER2> So wait... I know plenty of carpenters who go home and make cabinets.

I know a welder who makes cool stuff like grills and roasters in his spare time for fun.

Plenty of photographers don't even pretend there is a difference between work and play.

Same for musicians.

Mathematicians don't make math jokes all the time, but the annoyingly approach everything as if it was a math problem (insert spherical cow joke here).

On the other side: this guy has had the luckiest interactions with the bureaucrats ever. I seem to always get met with derision and snide comments for asking things like "how do i turn this in?" or "this vaguely labeled field doesn't make sense, what do you want here" and so on.

I've heard accountants throw around jargon as bad or worse than programmers, particularly during tax season.

Lawyers love lawyer jokes and lawyer culture.

So what the hell is this guy's problem? Why doesn't he just quit and do something he likes instead of whine about it like a petulant child?

<comment><USER3> Sounds like he doesn't enjoy cocky, arrogant behavior. (Not that there's anything wrong with that.) Maybe his personality is orthogonal to that which he surrounds himself by...

I think this issue has more to do with personality than "culture".

<comment><USER4> I don't know; to me it sounds like he got himself into the wrong profession. He's not the least bit passionate about his work.

<comment><USER5> You seem to be confusing passion with talent / ability / skill. Perhaps he's very very good at it... It's the thing he is best at. Should he not do something he is great, for the sake of argument, at just because he doesn't have passion for it?

<comment> T-R He's definitely hurting both himself and the people he works with, both from the fact that he's not likely to work to improve himself, and from his depression/frustration and the fact that it's manifesting as resentment towards his coworkers. I don't mean to attack him, it's just that in collaborative work that requires skill (read: practice), a bad team member can be worse than having one too few. If it really is what he's best at, then he really needs to start practicing something he actually does enjoy, or find some way to enjoy it enough to practice.

</comment></comment></comment></comment></comment><comment><USER6> What a... strange set of complaints. It's one of those things that is so fascinating to read because I can't understand what he doesn't understand.

I get the part about arrogance and looking down on people with less knowledge or skill. There's a certain "macho" aspect to the culture that does bother me.

But I'm baffled by his confusion that people enjoy doing this outside their job. Granted, the passion to create and the enjoyment derived from it isn't shared by everyone, but it's not THAT uncommon - no one bats an eye at artists practicing their craft "in their spare time", or people who enjoy tinkering or building random stuff around the house - again, "in their spare time". It's a craft, and many people who pick up a craft because they enjoy doing it... enjoy doing it.

<comment><USER7> Exactly. He compared it to accounting. This is the most common fallacy I come across day to day. People just don't understand that programming is a creative sport. Not mathematically dry as this blogger percieves. Instead of accountants discussing form 4686, programmers gathering would be more like artists gathering to discuss ideas and make art together over a weekend.

People really need to start seeing programming as a creative thing. But then he's just a software engineer.

<comment><USER8> accounting can get pretty creative sometimes.

<comment><USER9> Also, tax laws change yearly, so it's not as static as some might believe it to be.

</comment></comment></comment></comment><comment><USER10> TL;DR The fact that other people find programming to be fun angers and upsets me. Additionally, I feel inferior when talking to them, therefore they should stop having fun.

<comment><USER11> This isn't a fair summary.

<comment><USER12> I actually had the impression this is a pretty accurate tl;dr. The 'feeling inferior' part is maybe a bit exaggerated, but he definitely doesn't understand why people would enjoy getting together on a weekend for a social hacking session.

<comment><USER13> I don't much like the post, but a charitable partial reading would be something like: I feel left out of / alienated by hacker culture because, although I'm a programmer by trade, their culture isn't really my culture. It wasn't phrased like that, but it is a fairly common sentiment in a lot of fields.

I even have it somewhat in mine, though it's more of there being multiple cultures and me being part of a less-dominant one: I research AI in videogames, but am not really part of "gamer culture", though I do play and study games extensively. I just tend to prefer playing and analyzing more simulation / indie / art types of games, and historically important games, and don't really keep up on recent AAA titles or feel part of the Penny Arcade / Kotaku culture. Sometimes that leads to awkwardness if people expect that everyone who studies videogames is "a gamer" in that cultural sense, so I could see a way that there could be programmers, even good ones, alienated by hacker culture if they feel it's assumed they'd be part of it, but they aren't.

<comment><USER14> This is a _very_ charitable reading :)

I knew people like this. I worked in a database consultancy full of them. They eventually drove _me_ out, because I couldn't connect to them on any level. They had no excitement for computers, or technology, or anything they did. They had a job, and they did that job (usually poorly, but the two boss guys were legitimately good at what they did, so were able to set out the database schemas and such so nothing got too fubar'd later on). They're the sort of people who say "a job's a job" and can sit at a desk from 9-5 doing pretty much anything as long as a pay check arrives.

What surprised me about people like this is that I always ascribed the ability to do a job in that manner as something that required a lower intelligence quotient: you had to be OK when presented with broken processes, manual tasks that are easily automated, and have little real pride in the product you produce. I thought this sort of stuff would drive reasonably smart people mad. But here they were, reasonably smart people, who just didn't care. They were all a product of CS when it was the "money" degree, like BioChem is now. The smart choice they made was "If I don't give a shit about any job I could possibly do, I may as well be paid decently for it." The author even says "I also have no idea what job I'd do otherwise," even though he clearly dislikes what he's doing.

The author is alienated because he doesn't give a shit, and he's found himself in a position where that isn't status quo. A lot of the posts here are surprised he's got this far; which I think shows HN's fairly biased population. There are loads of programmers who don't care. They aren't working in the Valley at companies you respect, because to be talented enough here requires passion (he seems to indicate he's in the Valley, but that doesn't mean he's at a company you respect ;) ) But someone, somewhere is coding crap bespoke software, and all those CS grads that aren't in the Valley are getting hired by someone. It's easy to forget all these people when you live in hacker communities like the Bay Area, Portland, NYC etc.

</comment></comment></comment></comment></comment><comment><USER15> Guy who doesn't like programming doesn't like events for people who are passionate about programming.

The largest tags on this blog are "PS3" and "Xbox 360". To the question, "Why would you get together and write code, when you could do anything else?" I would ask, "Why would you sit around and play video games when you could do something meaningful and lasting?"

<comment><USER16> I don't think you can use his blog tags as an analysis of his life. He only has _four_ posts tagged PS3 and _three_ posts tagged Xbox 360.

<comment><USER15> No, and I'm not trying to judge his interests. I'm just pointing out that I'd be equally frustrated by a night with people he'd be hanging out with if that did accurately reflect anything.

We all have different interests.

</comment></comment></comment><comment><USER17> Wow. It sounds like the author perceived folks talking about topics outside of his own expertise to be "showing off their knowledge," or "using a bunch of technical jargon to make others feel dumb." That view was probably reinforced by his questions being met with hostile and elitist responses. Arrogance and condescension are issues that I've seen repeatedly in our community, but ascribing malice to individuals visibly enjoying their work? That sits solely on the author's shoulders.

So why the disdain? From the comparisons to mathematicians and accountants, it sounds like the author views programming solely as an occupation, and doesn't see the possibility for it to be a creative avocation. Thus, continued discussion of the topic outside of the workplace must be an attempt to assert superiority over the others in the room.

But what if you instead make comparisons to other overtly creative pursuits? Professional artists frequently collaborate, musicians have jam sessions, and pastry chefs still participate in cookie exchanges. And is an accountant saying "You don't know what a Form 4868 is?" really so unimaginable when reframed as one baker discovering that another doesn't know how to proof yeast?

The author himself finds beauty and craftsmanship in his fruit tart recipe "the fresh fruit on top makes it look really pretty and colorful, and yet it's deceptively simple to make." What he fails to realize is that many others see the same beauty, the same joy, and the same sense of craftsmanship in a well- designed algorithm.

</comment><comment><USER18> I don't think most comments here are being fair.

I avoided socializing with the vast majority of my CS peers in college because I didn't enjoy their "culture" very much. Maybe its too stereotypical, but for the most part the people were self-centered in a strange way, lacked a lot of social tact, and had too much bad taste in a lot of things - movies, music, clothes, women, etc. much for my liking. I can't recall having that many interesting conversations with classmates. Even when we were discussing technology, there was too much ignorant bravado and not enough quality debate.

When I started my career, I was placed with other younger programmers and we generally worked well together, exploring solutions, researching technologies, etc. That was my favorite time in the field. We were all unpretentious and actually spent time learning things and discussing them in a rational manner.

It was pretty much a complete 180 from my experience with programmers in college.

I have a few too many scattered hobbies and pursuits to want to spend large chunks of my personal time on the computer programming but I don't fault those who do, especially the ones working on projects that inspire others. I also don't fault the person who wrote the article. I think he's stuck with bad peers and hasn't yet found a team that works well for him yet.

<comment><USER19> Just so I'm clear on your comment regarding your CS peers; you came into contact with people who were socially underdeveloped due to lack of social experiences, and as a result you chose to deny them social experiences.

Yeah, it was totally their fault. What a bunch of assholes.

<comment><USER18> Is the harsh tone necessary?

I wasn't describing loners or anything like that. They had plenty of social experience. It was just a different culture and the culture wasn't particularly attractive to "outsiders".

As for "denying" them anything, I'm not sure what.

The main point I was trying to get across was that there are all sorts of people in the field. Not everyone is the same, even if your experiences lead you to believe otherwise.

</comment></comment></comment><comment><USER20> _I just wonder why software engineering is like this._

 _Everything_ is like this.

I have a brother who is in the energy business, another who is a lawyer, and a sister who is in the sports business. They all see the world through their eyes and can't understand why everyone else doesn't too. Every get-together is full of talk about deep drilling, legal precedents, taxpayer funded arenas, and, of course, politics. While I just have another beer and actually look forward to a debate about hashing algorithms and scaling strategies.

<comment><USER21> _"Everything is like this."_

No, it isn't.

I know a lot of people, too: doctors, lawyers, businessmen, researchers, artists. And while all of them will fill dead conversational time with discussions about their day job, it's rarely their first preference. In my experience, most people are _dying_ to have a conversation about something other than work.

I don't think a lot of nerds get this.

<comment><USER22> Doctors, lawyers, and scientists hate talking about work, but they love talking about medicine, law, and science. Talking about a subject they love is different from talking about why their boss is mad at them and why their five o'clock meeting ran over.

But then again, maybe that's because there are a lot of nerds in medicine, law, and science.

<comment><USER21> There's a _huge_ difference between talking about a subject in general, and talking about a subject that you work with all day long. The former is preferable to the latter. That's obvious.

But even so, you're still falling into the obsessive nerd trap: most people -- especially the really smart people -- _love it_ when you talk with them about something other than what they do for a living, even if they're otherwise content to talk to you about the general aspects of their profession. It's the difference between being a forgettable conversationalist and a memorable one.

</comment></comment></comment></comment><comment><USER23> I both agree and disagree with this guy. When I was working for a big company, working 9 to 6 and bringing home good income from that, I wouldnt fathom doing hackathons on weekends or doing coding in the evening after doing it for 8 hours or more. Doing this for a number of years did wonders to my income, but after a while I felt a lack of progress in both my overall knowledge(forced to be knowledgeable within certain domain by work) and personal development(non- code).

After co-founding a startup and taking a product from concept to shipped state, I know what its like to jump into an unknown framework/language head first, how to spawn prototypes of idea on a weekend. The school of startup taught me more about business than an MBA probably could although it did reduce my income significantly.

The state of this guys mind is understandable if you take into consideration where he is in his development career. For his sake, if he is unhappy with his work, I hope he finds a project or career path that makes him happy.

<comment><USER24> I found it did not reduce my income, but added huge swings into it, all at the same time taking out a majority of the truly socially annoying people.

</comment></comment><comment><USER25> At first I was stunned. It had never occurred to me that there were people that didn't like the cultural aspect of hacking/programming. But to be honest, after a couple of minutes of trying to look at this with some perspective, I can imagine what this guy feels. It has happened to me when I regard other cultures, cinematographers for instance. I've always felt they are _way_ too much into something that I regard as a simple thing. I usually feel they're trying to outsmart me by saying "Oh, you didn't get the reference? I just saw it coming!"

<comment><USER26> I love hearing from specialists of all types. As long as folks aren't trying too hard to be condescending, everything is cool.

Most folks know something about something and are just looking for a chance to explain their passion to somebody who acts like they might care.

</comment></comment><comment><USER27> So there's this math party and everyone came out to have a good time, tangent is dancing with cosine, sine is having drinks and so on. Everyone is happy except for the exponential function which is sitting in a corner all by itself. Finally sine walks over and says "Hey e, why aren't you having fun with all of us?" ... says the e-function: "Because I can't integrate myself!"

Ha! q.e.d.

<comment><USER28> I've heard it better as: "I've tried to integrate myself, but nothing ever happens."

(You can integrate e^x, but you end up with e^x.)

<comment><USER27> Heh, point taken. Now it's up to you to come up with a build-up to your punchline :)

<comment><USER29> No need; he's already reduced it to a previously-solved joke!

</comment></comment></comment></comment><comment><USER30> While I find this guy's attitude a little sad, in reality, he's just part of the spectrum/bell curve of programmers. Some people love programming, enjoy doing it, and think how amazing and fun it is to create something AND get paid for it, too? Wow! Some people program as a job, and that's it. Despite what the author suggests, some accountants love numbers enough to play with the statistics after work hours, and good for them.

Programming can change the world, and starting a project over a weekend can be the first step. Can't really change the world, even a little bit, if you don't try.

So, yeah, this guy shouldn't go to SHDH. Doesn't mean we don't invite him. So, he doesn't get it. Maybe the girl he brings with him will.

</comment><comment><USER31>
      ... and it became more disturbing. A tech journalist wrote about it like this:
      "That's what we want to do for others- we want to enable them
      to come together for a common purpose to help humanity. We see different parts
      of technology as different elements that come together to create a key
      that will unlock a door that will change the world."

I cannot even begin to understand the mindset that would make someone find that quote disturbing. Marketing-speak perhaps, sure. What's wrong with changing the world?

<comment><USER11> Nothing is wrong with wanting to change the world. But you don't find the language being used rather creepy? It really does sound like delusions of grandeur. For a one-day event? There is nothing wrong with wanting to change the world, but there is something wrong with hubris, ego, megalomania...

<comment><USER31> Delusions of grandeur, perhaps, but I don't see a problem with setting high goals for SHDH. At the events I've gone to, I've seen people doing all sorts of crazy shit - at one of them, someone was doing some sort of biotech experiments with DNA and yogurt, and at another event, I saw an early version of that Word Lens realtime translation app that came out on iOS a couple months back. I think genetic engineering and realtime translation both have the potential to change the world, don't you?

<comment><USER11> Ah, well first off I thought this event was just something these guys from his job organized, like, at one of their houses.

But still. Even for a large event like that, the language he quoted in the article was kinda creepy. I of course agree that at any time ideas can spark and work can begin that will eventually have a large impact. I'm sure there are CS conferences that use more sober language.

</comment></comment></comment></comment><comment><USER32> I have found SHDH to be the consistently least arrogant gathering of technical people I partake in.

Arrogance (in my experience) tends to come from a small myopic subgroup where outside ideas are shunned. SHDH is far too big and has far too many people who like different things to have much of a cohesive snob element.

Nothing in common except that we're all people who hack in our spare time, and he does seem to take some time describing that this worldview is alien to him and that he doesn't enjoy being a software engineer...

</comment><comment><USER33> "In math class, on the other hand, people weren't making jokes about triple integrals, showing off their knowledge of differential equations..."

So, you've never taken real analysis then. Good to know.

</comment><comment><USER34> I think that most of us here have trouble relating to this guy because we all got into programming because we enjoyed it, and would do it even if we weren't getting paid.

It's like spending your childhood jumping up and down on a trampoline and then discovering that there were companies that would pay you six figures to jump on a trampoline all day. It's like the _best job ever_ because you get to play on that trampoline. And then you'd go home and jump on your trampoline because that's your favorite thing to do.

I see people try to get in to computer programming by taking courses in college, and all I can think is that it's not going to work. If you wanted to program computers, you'd have a dozen years experience at it before you got to college. If all you do is look at it as a career like accounting or civil engineering, you're setting yourself up for a frustrating life.

</comment><comment><USER35> Sounds like a 9-5er. I met plenty of these when I was studying "CS" and really discouraged me. Part of the reason I had no regret dropping out to join a startup.

I do what I do because I love it. If someone doesn't get it, feel bad for them.

</comment><comment><USER24> I totally get where he's coming from. It's an artifact of a bunch of low social skills individuals way over identifying with possible solutions to a problem and their ability to do some of these solutions and generally being macho jerks. It may be especially related to americans (as the canadians I know in the field are much nicer than the standout americans I remember, but it might just be they're more well adjusted people than those memorably bad enough to remember).

I also get that he doesn't understand you get a LOT of this sort of talk in _any_ industry.

Additionally, while service professionals don't often "do their job" on the weekend too (some do, volunteering to help charities/schools, etc, with their professional skills), many do (Have you ever heard of Pro Bono lawyering?).

Almost _all_ craftspeople do obsess about their skills on their weekend. A relative of mine who outfits/tools factories builds hotrods on the weekend, mechanical engineers I know are gaga for building/designing stuff, artist types are veritable fountains of sidework. Hell, even my wife (analyst for charitable giving) analyzes the hell out board games and video games (which is amusing, we know she will beat _all of us all the time_ after a few weeks of play).

</comment><comment><USER5> I think this guys complaints are _somewhat_ valid... I've maybe echoed something similar myself? Though, I think my primary complaint is that lots of coders seem to think people who don't want to work on some OSS project / side project during their free time can't be exceptional coders... This is the attitude I find fairly pervasive(especially on HN) and personally objectionable.

<comment><USER36> I can't think of a single good programmer I know who hasn't worked on at least one open-source project or written things in their spare time.

Conversely, I can think of a lot of crappy programmers who have not ever contributed to an open source project or even put together their own website.

<comment><USER37> That observation does not validate, "coders seem to think people who don't want to work on some OSS project / side project during their free time can't be exceptional coders."

</comment></comment></comment><comment><USER38> [Commented on his blog but not sure if he'll approve, so I'm reposting it here]:

It just seems like you're associating passion with unpleasantness. Does it make you uncomfortable to be around people that enjoy what they are doing passionately?

In my experience, I encounter very little douchebaggery in my community interactions. I don't want to be a dick, but it may have to do with your own view of your work (just a job, as opposed to a passion) that gets you around more douchebags.

There are lots of alphas out there that do condescend and patronize, but that's a characteristic (or character flaw) of that person, and not everyone. It's just far more obvious and annoying when you're not that type of person.

Why don't you find something that you're actually interested in doing for work?

</comment><comment><USER39> He's a professional who has forgotten -- or maybe never knew -- what it means to be an amateur. To do it for the love of the thing.

He's exchanging units of time for units of currency; it's no wonder he doesn't understand why people get excited about building things. It's no wonder he doesn't understand the immense value generated by creating something new or solving problems that are difficult.

It's also unsurprising that he thinks one person typing into a terminal can't change the world.

"Formal education will make you a living; self-education will make you a fortune." -Rohn

</comment><comment><USER40> The sort of culture thing only really becomes a problem when managers start basing their hiring on it. I know plenty of amazing programmers who never program in their spare time and don't have any popular open source projects and it would be unfortunate for a manager to pass up such a candidate just because they do not take part in the 'culture'. Other then that I can not think of any logical beef one could really have with the programming culture (though the jokes are a bit much sometimes).

</comment><comment><USER41> i think what distinguishes programming from say, accounting, is that it is a creative field. you'll probably find a culture surrounding all creative professions (cesarsalazar12 mentioned cinematographers as an example).

hmmm, on the other hand (and sadly) in an employment context most programming is probably more akin to uncreative accounting. gluing apis together etc.

it just has the potential to be creative (universally creative? *church-turing hypothesis), and this is what most programmers yearn for.

</comment><comment><USER42> can't even read it since it's currently asking for a login to wordpress. Has he password protected it? or is the blog just malfunctioning?

<comment><USER43> [http://webcache.googleusercontent.com/search?q=cache:www.ryo...](http://webcache.googleusercontent.com/search?q=cache:www.ryotakahashi.com/blog/archives/21)

</comment></comment><comment><USER44> Did he take his blog down or something? It's presenting me with a WordPress login screen...

<comment><USER45> It would appear so.

</comment></comment><comment><USER46> What a stick in the mud. As I get older I find that I really _love_ this stuff: the useful abstractions, abstract concepts, hard computer science, cutting-edge math, and philosophy behind it all. It's just really enjoyable to learn and explore. It is the part that keeps me coming back after the workday drains me with the CRUD requirements and tedious bug fixes. And this guy wants to take that part away?

<comment><USER47> When evaluating your coworker's abilities, do you judge their ability to perform CRUD and tedious bug fixes or their knowledge of abstract concepts, hard computer science, and cutting-edge math?

<comment><USER48> What makes you think they are necessarily so different? I'm not a programmer, but in architectural and landscape design and installation there are lots of broad, sweeping design principles and lots of tedious little detail work, and I have observed that the same people tend to do well at both. The important factors are self-discipline and enthusiasm. The enthusiasm to get you started and the self-discipline to help keep you going between bouts of enthusiasm - both to study the general principles (harder in design than in computers from what I have seen - they are not as well codified as algorithms and data structures are) and to keep working away at the tedious little (but so necessary) details.

</comment></comment></comment><comment><USER49> Uh, maybe this guy was in a special math class because when I was in college all the other majors had their own jokes around their subject matter.

</comment><comment><USER50> This guy is really ranting about people who aren't well rounded, rather than people who like programming a lot. I've seen the same thing in physics, math, and even philosophy and music people I've hung out with.

So, I agree, people who aren't well rounded can be boring, and I don't understand them, and I usually have trouble relating to them as people or friends.

</comment><comment><USER51> It doesn't matter what field you're in, if you're a douche, you're a douche. I agree that snobbery among engineering professionals tends to seep into aspects of life related to their careers more often than it does for other professions (which is something I don't yet have an explanation for), but I think this is just a case of skewed samples.

</comment><comment><USER52> "Wait, what? It's a one-day event. How are you going to change the world in one day? If they could really do that, then imagine what they could do in a year. This sounds like someone with delusions of grandeur. Or a cult."

Perhaps I should leave him an invitation to visit Hacker Dojo and sign it? Members use to get some pretty rad free haircuts...

</comment><comment><USER53> sounds like he just doesn't enjoy his profession and is annoyed by those who do.

</comment><comment><USER54> The difference between this guy and most hackers is that hackers see programming as a method of _building stuff_. I'm pretty sure his day job must involve "engineering" in the sense of connecting code and applying best practices, but not to think and create products. There's no pride and no ownership in that.

Of course accountants don't gather to bang some numbers, there's nothing to create there. People get together for fun to shoot a film, build a house, or have a stimulating conversation.

</comment><comment><USER55> Looking at the rest of the blog makes me wonder, why does he think that it's cool to be passionate about cakes or alcoholic drinks but not cool to be passionate about technology?

</comment><comment><USER56> So this guy's coworkers are arrogant for engaging in shop-talk that is above his current level of understanding? OK.

But instead of saying to himself, "gee, I should crack a book and learn about this," he calls them asshats and demands that they don't discuss this stuff around him.

Sounds to me like he's the arrogant one, projecting his shortcomings onto others so he doesn't have to take responsibility for them. Like sophacles generously said, he's behaving like a petulant child.

He must be an absolute joy to work with.

</comment><comment><USER57> What I really don't understand is how someone like this even get's hired as a developer. I'm assuming he either writes in-house software for a non-tech company or is just another dud at Micro$.

It's also perplexing that he is either 1) completely unaware that people who are passionate about their work take it home with them (think artists, musicians, carpenters, mechanical engineers, etc.), or 2) has decided to completely ignore this concept for the sake of this post.

Maybe he's trolling hn.

</comment><comment><USER58> Interesting. If he hated it in college and he knows he has to work with those kinds of people his whole life he should not have made that choice. Its been 11 years and he still has not understood the reason why. Strange.

</comment><comment><USER59> it sounds like the author has surrounded themselves with people who are more passionate about programming than himself. and he's annoyed by it. fair enough. stick with it i guess, at least it "pays quite well".

<comment><USER60> My situation is the opposite of his. I'd love to be surrounded by people that are passionate about programming. But I work at a company where software is not the primary focus, so quite some of my colleagues are like him.

</comment></comment><comment><USER61> "Hacker culture" isn't just limited to a bunch of neckbeards being arrogant in a lab. Neckbeards will be neckbeards. Hacker culture is about being passionate and unorthodox and subversive.

</comment><comment><USER62> as pointed out on twitter, the response to this post is another post from hacker news today:

<http://programming-motherfucker.com/>

</comment><comment><USER63> I don't get it.

Anyway, so a triple integral and a sorting algorithm walk into a bar. The triple integral says "Bartender, what have you got that's a sure-fire cure for loneliness?". The bartender says ...

<comment><USER64> You can't just leave me hanging like that...

<comment><USER65> ... your friend seems to have sorted it out, but at least you're not being derivative.

(contrived, I know...)

</comment></comment></comment><comment><USER66> He's not getting any brownies for that

</comment><comment><USER67> Either he's satirical or I am part of the problem because I simply refuse to take OP on face value.

I do hate the frank expectation that everyone must work extra hours and code away from work, with the implication that there's something wrong with a programmer who doesn't or can't. Before the work culture of the whole country went to shit, it used to be that programmers were allowed to learn new things _at work_ instead of having to do so entirely on their own time. I love it when my life is enough in order that I can code or learn new technologies outside of work, but that's not often the case. Still, I've always seen that mentality as a case of managers taking advantage of technical peoples' eagerness.

</comment><comment><USER68> Congratulations, you have been trolled.</comment>


Nokia N1 Android Tablet Revealed - <AUTHOR> http://phoneradar.com/nokia-n1-android-tablet-details/ <comment><USER3> This is the first product I've seen to feature the new reversible and just generally very promising USB C-type connector. Just wanted to point that out, since it's fun when new tech enters the market.

<comment><USER4> I just noticed too, this is awesome. But on the product page it says USB 2 Type-C, which is weird, since I've thought Type-C would start from USB 3.1, but it seems the standards can be mixed and matched. It would have been great since you'd have the DisplayPort Lanes on the connector as well, allowing for full 4k output over that small connector.

<comment><USER5> Apparently the chipset they had to use to support the Intel CPU tops out at USB2.

</comment></comment></comment><comment><USER6> "And, it again isn't the standard Android OS"

Why is this a good thing? Does it mean that it's going to lag behind, and at some point stop running the latest version of Android leaving you with a device that can't be updated?

<comment><USER7> According to The Verge it will run stock android 5.0, just with a custom launcher installed.

<comment><USER8> Thats the Z Launcher which Nokia had released months back for Android.

</comment></comment></comment><comment><USER9> This is from the independent Nokia that makes HERE Maps, not from the division acquired by Microsoft.

<comment><USER10> So Nokia sold their worthless Windows Phone part and started making android devices a year later? Their strategy is suddenly making sense.

</comment></comment><comment><USER11> It looks like 7in iPhone. Even the connector looks like a lightning jack from the renders. And at 6.9mm its thinner than every iPad other than the Air 2 and is even thinner than the 6+ (its as thin as the 6).

Also a quad core intel atom. Are there any consumer devices running x86 Android? Seems like an interesting choice, I wonder how long intel can squeeze that battery.

Really interesting design choice on Nokia's part, but it seems too recent to actually be a copy-cat in design. Really can't wait to get my hands on one.

<comment><USER12> > Are there any consumer devices running x86 Android?

Tesco Hudl2 8-inch tablet, popular in the UK. Battery life is fairly dismal, from personal experience.

And a dozen or so tablets in the Chinese market, few of which reach 'our' shores.

<comment><USER13> Do you find the Hudl2 any good other than the battery? Did you have a Hudl 1? If so, how does it compare?

Also, what sort of battery life do you get?

<comment><USER12> Fantastic screen on the Hudl2, exceptionally sharp. Good snappy CPU and wife reporters that it plays HD films without breaking a sweat.

But we usually have to charge it every night by when it has dropped to 30% capacity. Full to empty when watching films and browsing is less than 24 hours, sadly. Despite An enormous battery.

Also very hard to root and charging sometimes stalls and requires a reboot to restart.

<comment><USER13> Thanks for the info. My mother-in-law has just bought one (despite our protestations) after she dropped her iPad (!) so we'll likely be inundated with calls on how to use it!

</comment></comment></comment></comment></comment><comment><USER14> The official product page: [http://n1.nokia.com/](http://n1.nokia.com/)

<comment><USER15> Nice, when trying to sign up to the newsletter it says i'm blocked.. On all addresses, what gives?

</comment></comment><comment><USER16> Kind of weird to see a picture introducing the tablet and it has the letter "F" written on it.

</comment><comment><USER17> I'm guessing this is the first example of device created with the Nokia brand as part of the licensing deal mentioned earlier this week [0].

They're simply cashing in on the value of that brand, and I worry ultimately it'll end up worthless.

[0] [http://www.engadget.com/2014/11/17/nokia-licensing-its- iconi...](http://www.engadget.com/2014/11/17/nokia-licensing-its-iconic- brand/)

</comment><comment><USER18> Would be interesting to see what the new zero gap screen looks like in person. For people who don't know, screens often have spaces between the front glass, actual LCD, touch sensor, etc.. Zero gap/laminated should improve display quality.

Battery live measurements would be nice too with the Intel processor maybe helping or hurting.

<comment><USER19> Most modern smartphones already have this to a certain extent, I don't think that what Nokia calls 'zero gap screen' is much different from what we see today. All iPhones since the iPhone 4 have this, same with the Samsung Galaxy line (at least since the SIII, I didn't follow them before), and I'm sure most other mid/high end phones also use this. It's not only a question of improving display quality, this method allows manufacturers guarantee that there will be no dust between the lcd and the touch panel. It also makes the display module thinner, but then makes repair much more difficult - you either have to replace the entire module or painstakingly separate the LCD from the glass.

<comment><USER20> The technique is called "optical bonding", where an adhesive is poured on the LCD front glass and then the touchscreen/cover glass is adhered to the LCD. The upside is that the assembly can be thinner and the LCD closer to the user, but the downside is what you said. Impossible to repair.

<comment><USER21> Not impossible (but certainly much more difficult):

[http://www.bunniestudios.com/blog/?p=4018](http://www.bunniestudios.com/blog/?p=4018)

</comment></comment></comment></comment><comment><USER22> Interesting: Intel inside ("Intel® 64-bit Atom™ Processor Z3580, 2.3 GHz")

<comment><USER23> Talk about overkill. That's a quad-core x86-64 CPU clocking up to 2.33Ghz. I realize Atom microarchitectures aren't wide as Haswell and ilk, but that's still some serious horsepower.

It's also interesting that Intel doesn't mention the TDP on their site.[1] I wonder if it eats more power than a comparable ARM CPU.

1\. [http://ark.intel.com/products/81195/Intel-Atom- Processor-Z35...](http://ark.intel.com/products/81195/Intel-Atom- Processor-Z3580-2M-Cache-up-to-2_33-GHz)

<comment><USER24> Atom is less powerful than Celeron, Intel's low-budget/low-power family. Plus, it will be throttled, to reduce power consumption/heat, like all mobile CPU... but... it certainly does seem like a desktop-class CPU.

It would be interesting to find the median power of a desktop CPU for each year; and the power delivered by a mobile CPU that's sustainable (i.e. without throttling/overheating - 2.33GHz is the " _burst frequency_ "). Then, for example, you could say it's a "2003 desktop class".

As a super-flawed estimate, the first time a PC CPU was available at or above 2.3GHz was in 2003. [http://en.wikipedia.org/wiki/Microprocessor_chronology](http://en.wikipedia.org/wiki/Microprocessor_chronology) (Opteron, AMD) But this Atom may be a bit better, because that was high-end, not median; not 64-bit; not using fast memory or other advances; and single core not quad. How much they offset the crippled architecture of Atom and throttling, I don't know. It also has 2MB cache; my median PC in 2006 had only 512KB cache...

I'd guess it's around 2006-8 desktop class.

<comment><USER25> It's tricky as RAM was a lot slower, most of those were single core with hyper threading wheras these are quad core. Definitely interested in the same thing.

</comment></comment></comment></comment><comment><USER26> I thought that Microsoft was getting rid of the Nokia brand?

<comment><USER27> They did, because it's Nokia's brand, not Microsoft's. We (Nokia) are doing this independently of Microsoft.

<comment><USER28> Probably not the right place to ask but any guarantees N1 will not go Nokia X way?

<comment><USER29> I think that Nokia X was "product of Microsoft" (although planned long before the deal). This is product of Nokia, that means remaining parts of Nokia after mobile division was sold to Microsoft. So two different companies, same brand.

</comment></comment></comment></comment><comment><USER30> To be blunt, this iPad copying is very Nokia-unlike. I associate Nokia with high quality original designs, eg. Lumia devices. This isn't a real Nokia.

<comment><USER31> you're not a real scotsman

<comment><USER30> " The OEM partner is responsible for full business execution, from engineering and sales to customer care, including liabilities and warranty costs, inbound IP and software licensing and contractual agreements with 3rd parties." [1] It really isn't a Nokia device, it just has the brand tagged to it.

[1] [http://company.nokia.com/en/news/press- releases/2014/11/18/n...](http://company.nokia.com/en/news/press- releases/2014/11/18/nokia-announces-n1-android-tablet)

</comment></comment></comment><comment><USER32> So can anyone who's looked at the specs explain where they're cutting corners? The aluminium body makes this look like a "premium" tablet, but at $250 I just don't see how that's possible/profitable. Even the 32 GB Nexus 7 was more than that at launch, and that had a plastic backing. Is the CPU and/or GPU on the low-end?

<comment><USER33> It's Intel's money; they've been rumored to be doing whole BOM subsidization (so the x86 is almost zero, and the non-Intel components are subsidized too).

This is how INTC booked a $1B loss on $1M revenue for mobile in the most recent quarter. Cynically I wonder if they just merged mobile with the revenue positive CPU business to better bury the bad news every quarter.

</comment></comment><comment><USER34> So Microsoft only buy Nokia for Phone brand, Nokia cam still make other related device that other phone using Nokia brand.

<comment> experimental- To be precise, Microsoft didn't buy Nokia's brand for use in phones, they licenced it, for about a year for smartphones and a decade for the so-called feature phones.

</comment></comment><comment><USER35> That IS a surprise. Maybe Nokia can finally rise up on its own after all.

</comment><comment><USER36> It'd be amazing if this was a step towards bringing their awesome Maemo designs back (like the highly praised N9), and not just becoming yet another Android manufacturer.

</comment><comment><USER37> Meanwhile in 2012 ... [http://slatd.deviantart.com/art/Nokia-N1-298087658](http://slatd.deviantart.com/art/Nokia-N1-298087658)

<comment><USER38> Be careful linking to deviant, probably due to some suspect ads. After having the page open for awhile (a long while in another tab) it redirects to spamware sites that want me download an .exe (I'm on Ubuntu). Shame as Devianart has been a great site.

</comment></comment><comment><USER39> Very nice! Hope they'll release some Android phones, too.

Whatever phone shop I enter I found myself loving the Nokia sets the most, but I just can't use Windows.

<comment><USER40> I'd just like to point out that Windows Phone has almost nothing to do with real Windows, no matter what Microsoft's marketing is trying to say.

<comment><USER39> It's Microsoft Windows, I don't care what exactly is under the bonnet.

</comment></comment></comment><comment><USER41> It's actually a Foxconn product with a license acquired for using the Nokia brand. Only the launcher software and the case design are by Nokia.

<comment><USER42> Yeah, a cursory glance at their marketing shows a bunch of Chinese market apps. I'm confident this is Foxconn's product.

</comment></comment><comment><USER43> Interesting to see firefox for android in the stock photos. Does anyone know if that is going to be the default browser?

<comment><USER44> Note that since it doesn't have Google Play, they can't use Chrome.

</comment></comment><comment><USER45> Is it me or does the site not load in Chrome? Initially, text flashes quickly then a blank page.

</comment><comment><USER46> People should have a copyright on the name N1.. Oppo N1, Nokia N1..

</comment><comment><USER47> On the subject of this tablet (too little, too late), there is a nagging question, that maybe someone could explain:

 _Why has there not been any criminal investigation at all, into the infiltration and acquisiton of Nokia?_

1\. Microsoft exec becomes CEO of Nokia

2\. He bankrupts the company (burning platform memo, etc.)

(Not only does he bankrupt it, but in _all the history of corporate business_ , this is one of the most spectacular flameouts ever...)

3\. Microsoft buys Nokia for peanuts

I mean, wouldn't there _at least_ be a bit of an investigation into this? The moment Elop became CEO, I had a suspicion that this was going to happen, and it did! I wouldn't say I'm particularly smart or well-informed - <USER2> everyone else saw it coming too....

(edit: clarified a couple points)

<comment><USER48> I've been wondering this for a long time myself. Even the fact that the company was steered away from Meego for (at the time) a less functional OS like Windows Phone (damned thing didn't have a twitter app and Meego came with one...) by an ex exec who could potentially benefit from the migration of Nokia's devices to Microsoft OS(if he had options).

Such a shame. Meego was revolutionary and is still imo the most intuitive OS ever made. If only someone reputable picked it up, as it still is revolutionary.

Android took the double tap to turn on and HTC Sense took the app cards but beyond that it still has an edge if it was around today.

<comment><USER49> I miss Meego too. N9 is the best phone I've owned (even despite poor app selections).

Tried looking into Sailfish but it is a poor replica.

<comment><USER50> Why do you say it is a poor replica out of curiosity?

</comment></comment></comment></comment><comment><USER51> I really don't understand why Microsoft paid so much for Nokia's phone division.

</comment><comment><USER52> I was thinking about buying the Nokia Android phone back in June, but then I read reports they abandoned the platform. I don't trust them. Being stuck with unsupported software is really bad if the software sucks. And Android often does. I wouldn't consider 2.1 or lower release ready.. beta at best.. yet they sold it to consumers.

<comment><USER53> That was Microsoft, this is Nokia. Two different companies using the Nokia brand.

</comment></comment><comment><USER54> If Nokia, now owned by Microsoft, distributes a Linux variant, wouldn't that void all patent royalty claims they have used against other manufacturers? Any N1 owner can redistribute their source (which they have to make available) and grant the same usage rights the N1 owner got from Microsoft, effectively granting each and every Android manufacturer the same rights of N1 owners.

<comment><USER55> The GPLv2 is only a copyright license, not a patent license. Some open-source licenses do require you not to enforce any of your patents that might be used in the product, but the GPLv2 does not.

As others have pointed out, this tablet isn't from Microsoft, but even if it were from Microsoft it wouldn't matter because no patent rights are conferred by the GPLv2.

<comment><USER54> If I grant you the unrestricted use of my software and grant you the right to further grant all the rights I granted you to others, how can I enforce a patent license without breaking the terms under which I licensed the software in the first place?</comment></comment></comment>


The epitome of software development - <AUTHOR> I wanted to share a fun little evening project I was working on.  This to me epitomizes the current atrociousness of software development. https://github.com/megamindbrian/jupytangular/blob/master/Utilities/diff.ipynb
Here is my premise and how I got on the topic: 1) SourceTree for Windows is awful and should be open-sourced, trying to copy code causes it to freeze. 2) Developing in Angular is not GREAT! like everyone pretends. 3) Webpack, Webstorm, angular-cli, SourceTree, gulp-watch, karma; STOP TOUCHING MY FILES!
4) GitHub is OK, but wouldn't it be nice if I could use some of GitHubs features locally without waiting for uploads or muddying repos just to get a diff?
I thought it might be a fun exercise to combine a "diff" with a "syntax highlighter"; to have a slightly better than GitHub diff that is colored.
Software development is awful.  You might think that sounds like an easy task, what maybe 100 lines of code and some libs?  WRONG.
PrismJS looks really cool, a nice modern marketing site.  Exciting documentation, and more colors than Nyan cat!  :D
npm's diff is awesome, shows me all the line differences, you can also do a character comparison, words, or entire lines.  Why not combine the two?  GitHubs syntax highlighter only shows keywords, using these tools I could almost recreate the most important part of an IDE in less than 100 lines of code.
This is not the case.  PrismJS doesn't fully support Node and then I realized, I face these kinds of problems EVERY DAY.  I sit down with a task thinking it will take 3 hours, and suddenly because of some design decision it turns in to a 40 hours investigation reading every single line of some library's code just to solve one little problem.
So, I'll abandon the code until further notice or I find the time to dig deeper in to every nuanced API involved in the library.
^- Just like everyone else ;) <comment><USER2> [http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_...](http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/paper_abstracts/archmismatch- icse17.html)

[http://repository.upenn.edu/cgi/viewcontent.cgi?article=1074...](http://repository.upenn.edu/cgi/viewcontent.cgi?article=1074&context=library_papers)</comment>


Ask HN: What is a service you would pay $10/month for? - <AUTHOR> There are some obvious ideas desperately waiting to be implemented. Think of this as a brain-storming session not just for me but for lots of others around here too.<p>The other benefit of such a thread is that sometimes what one person thinks of as a problem could've actually been already solved and available and it is good to know of that. <comment><USER2> Well wannabefounder you ask an excellent question.

I'd pay $10 a month for a service that was really useful and valuable that did things I wanted and needed it to do.

The sort of idea that YC would fund.

How about we start with all the ideas that you have - can you post them?

</comment><comment><USER3> I would pay $10/month to lease a handheld 'gun' that would terraform mars. But it must be handheld. I'm not lugging around a dang suitcase with me on my mission to populate mars.

Or, you could build a Transmogrifier. But that's not my idea, that's the idea of Mr Bill Watterson.

</comment><comment><USER4> How about a service that would do my thinking and market research for me? Maybe even something that could gauge my aptitude and expertise? But I'd only pay £3.50 max, because I'm a cheapskate and don't like people.

</comment><comment><USER2> Virtual reality holiday destination resort and hotel explorer.

</comment><comment><USER2> Virtual reality city visualisation with live traffic updates also showing Uber cars and available AirBNB beds and restaurants.

</comment><comment><USER2> Virtual reality supermarket.

</comment><comment><USER2> Virtual reality meeting system.

<comment><USER5> How about virtual reality virtual reality.

</comment></comment><comment><USER2> Virtual reality home designer.

</comment><comment><USER2> Virtual reality chat system.</comment>


Ask HN: Is R an alternative to SQL? - <AUTHOR> I'm confused why one needs R or similar software to analyze complex data. Is there anything that can be done with R but not SQL?<p>For instance, I think R is used by biologists, http://www.genomebiology.com/2004/5/10/R80 can the same analysis be done with SQL? <comment><USER2> SQL is a declarative language, not imperative. IE you describe _what_ you want, rather than a set of instructions for extracting it. Database engines have "query optimizers" that use relational algebra to find the most efficient ways to process a SQL query, and they make a huge difference when your databases get big.

What R brings to the table are numerous statistical methods packages and some good data visualization packages. With just a few lines you can apply some sophisticated techniques and produce beautiful visualizations.

SQL can indeed do some complex analytics, but they're very difficult, so R is the easier platform for statistics and machine learning. I did a Coursera class recently in which we had to do matrix multiplication with SQL and even that was a brain teaser of a puzzle. The advantages of doing analytics within a database are (a) leveraging the query optimizer to speed up your analysis and (b) you can make the analysis available to other users of the same system via a view or stored procedure, so they don't have to do the same work twice.

</comment><comment><USER3> R and SQL are two completely different beasts;

you can use one in conjunction with the other;

R is a general programming language with a huge library of mostly statistical analysis routines.

SQL is a way to get data in/out of a database

You might want to use SQL for trivial analyses, and anything more, maybe use R. But you can use SQL from R to get the data.

<comment><AUTHOR> Thanks, got it.

</comment></comment><comment><USER4> R is great for fitting models and so on as explained by others. Most R functions expect a 2d matrix or table-like input.

SQL is great for choosing which columns to get out of multiple tables, somehow combined, as well as to filter which rows. If the end result is ready for R to use in modeling, that's great.

R can struggle to index and manipulate large datasets for combining/selecting columns and filtering rows, but that's the really nice stuff in SQL. They work well enough together and it's really no big deal to set both up.

</comment><comment><USER5> The general workflow is read something into R using SQL and do all the magic with it. Anything non-trival is extremely difficult in SQL

</comment><comment><USER6> I'm not even sure how to react to this.

 _Could_ you? Probably. Would you _want_ to? I highly doubt it.</comment>


A Clinton Story Fraught with Inaccuracies: How It Happened and What Next? - <AUTHOR> http://publiceditor.blogs.nytimes.com/2015/07/27/a-clinton-story-fraught-with-inaccuracies-how-it-happened-and-what-next/?_r=0

<comment><USER2> I think almost anyone's email box, if studied attentively, might lead to embarrassing or even illegal revelations. Basically, self censure will be the name of the game. Nobody has privacy any more.</comment>


Google, Microsoft, Mozilla and Others Team Up to Launch WebAssembly - <AUTHOR> http://techcrunch.com/2015/06/17/google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29 <comment><USER2> At this rate, I predict that about ten years from now, they'll just ditch the bloody memory-leaking browser and just ship out a VM and a language that will have a small GUI library with a DOM-like organization in the standard library compiling for it.

Sure, there are going to be nitpickers who will point out that we had that in 2005 and it was called Java, but what do they know about innovation.

<comment><USER3> If you are kidding (I just can't decide), be aware that Microsoft killed Netscape at the 90's because Netscape was starting to sell exactly that VM.

When Netscape became Mozilla, it shipped with XUL runner, that is exactly that, but nobody used it.

Firefox OS is that, again, sold for smartphones.

If they come out with a good VM (measured by the languages it can run), and a good DOM-like organization, it will happen in no time. But if we get another XUL, it just won't happen.

<comment><USER4> How is XUL similar to Web Assembly at all?

<comment><USER3> XUL aimed to replace the desktop with web applications, Web Assembly may do just that.

But you are right in that there's no similarity in structure at all.

</comment></comment></comment></comment><comment><USER5> This is important because that could mean the beginning of the end of JavaScript.

But also it means the end of the native apps. Apparently Microsoft and Google are playing hard against Apple.

<comment><USER6> Hooray! Can't wait to use some real language for web apps finally! We might be at the brink of a revolution due for a long time!

<comment><USER7> Serious question, because a lot of people have had this sentiment; what is it you think you'll get from WebAssembly as far as new languages that you don't already get from transpile-to-JS languages today? There's everything from very dynamic languages like Opal to typed languages like Elm. What else do you expect?

<comment><USER8> Efficiency and ease of debugging? Just because it's possible to transpile to JS doesn't mean the resulting code will be fast/responsive or easy to debug. Which in turn means it won't be used for significant projects.

<comment><USER7> Debugging will use SourceMaps which already exist today. As for efficiency, I haven't read anything that suggests WebAssembly will be more efficient than asm.js, why would it be?

<comment><USER9> Try reading this: [https://brendaneich.com/2015/06/from-asm-js-to- webassembly/](https://brendaneich.com/2015/06/from-asm-js-to-webassembly/)

"Why: asm.js is great, but once engines optimize for it, the parser becomes the hot spot — very hot on mobile devices. Transport compression is required and saves bandwidth, but decompression before parsing hurts."

</comment></comment></comment></comment></comment></comment><comment><USER10> Why stop with WebAssembly? Why not address the entire notion that we're tricking document-rendering browsers into being application runtimes?

<comment><USER11> I actually don't see a problem with using a document renderer for applications, assuming it's actually treated that way. The document-rendering of a browser is lower-level than a UI toolkit, and that makes it more powerful in a lot of ways. But we need to be able to build abstractions on top of it to actually build UIs. I think react.js's approach (or something similar) is actually pretty good here.

A lot of the problems we run into are people treating DOM nodes as if they were UI widgets, when in reality they are lower-level primitives for drawing and capturing input.

</comment></comment><comment><USER12> The Unity team has already made some tests for their Engine with WebGL and WebAssembly and it seems promising: [http://blogs.unity3d.com/2015/06/18/webgl-webassembly-and- fe...](http://blogs.unity3d.com/2015/06/18/webgl-webassembly-and-feature- roadmap/)

<comment><USER13> Hopefully we will not need Unity3d to have high-performance C# engines in browser.

<comment><USER14> How else you will get C# in the browser? C# is high-level, WebAssembly is low- level, something needs to do lowering.

Edit: I don't see how future addition of GC to WebAssembly changes anything I wrote above.

<comment><USER11> You write a compiler from C# to WebAssembly. I don't see how C# is different from any other language in that regard.

<comment><USER14> I think we are in agreement? Unity3d provides C# to JavaScript compiler.

I replied to "Hopefully we will not need _compiler_ to have high-performance C# engines in browser", because that does not make sense.

<comment><USER13> _Unity3d provides C# to JavaScript compiler_

Unity3d does too many things (except new versions of C# :P) and ties to itself. There should be a direct C# -> WebAssembly compiler in future.

</comment></comment></comment></comment></comment></comment><comment><USER15> Is the purpose of this to make ad blocking harder? It's much harder to work on an executable form than a declarative one like HTML/CSS.

Really, how many useful web pages need to execute much code? Games, sure. Other than that, not so much. Is this trip really necessary? We just got rid of Flash, after all.

(And, of course, it's basically Java, round 2. "Write once, debug everywhere.")

</comment><comment><USER16> "The team notes that the idea here is not to replace JavaScript, by the way, but to allow many more languages to be compiled for the Web."

Yeah, good luck with that. Ta ta Javascript :-)

<comment><USER17> I hope Dart lang team will jump into this wagon as one of first users.

<comment><USER13> Dart and TypeScript will be as irrelevant as JS. Why Dart if you can have Go/Scala/F#/Haskell/Ruby/etc. compiled to WebAssembly?

<comment><USER14> If. All languages you listed need GC, which won't be in the initial version of WebAssembly. In other words, you won't be able to compile Ruby to WebAssembly any time soon.

You will be able to compile _Ruby implementation_ to WebAssembly, but you can already compile that to asm.js. That is different from compiling Ruby to WebAssembly.

<comment><USER18> Yes and no. You can have native VM for running WebAssembly's Ruby VM... Oh my god, that sounds horrible as I wrote it.. but it can certainly be better than asm.js.

</comment></comment></comment></comment></comment><comment><USER17> Brendan Eich deserves big respect for his help with WebAssembly. Thank you! And, of course, thanks to all involved.

WebAssembly also can be new JVM for desktop apps and widgets.

</comment><comment><USER19> Bob Nystrom argues [0] that a language VM has important advantages over a bytecode VM. His primary argument is development iteration speed.

How does this compare to WebAssembly?

[0]: [https://www.dartlang.org/articles/why-not- bytecode/](https://www.dartlang.org/articles/why-not-bytecode/)

<comment><USER14> WebAssembly (and asm.js) is not really a "VM" as in JVM or .NET in that it does not provide services they do, like GC and adaptive JIT. I think the best description of WebAssembly is a reincarnation of p-code.

<comment><USER20> It is very much a VM, in that it executes generic bytecode. Furthermore the Javascript engines of modern browsers (on which this proposal is based) do JIT JS. Not having GC doesn't mean it's not a VM.

Quoting the wikipedia article of p-code:

> In computer programming, a p-code machine ... is a __virtual machine > __designed to execute p-code

<comment><USER21> Wasm is not a bytecode. It is a binary AST.

</comment></comment></comment></comment><comment><USER22> This is very welcome news.

Don't get me wrong; I like JavaScript. It has its warts, and it can cause all kinds of problems in the wrong hands, but both of those things are true of all popular languages.

However, performance has always been a sore spot for the current JS-to- machine-instruction process. Being able to write code that will execute faster is important, regardless of the language that code was originally written in.

</comment><comment><USER23> Sigh, seriously all this front end stuff is becoming a PITA. Maybe it's just me but I still find the web a mess today. Lately I've been feeling the app stores sound more appealing than actual web development. JS this, 5 new frameworks a week that, some byte code tech... All this change is making me nauseous. Time to stick to the back-end I guess, maybe with a pinch of native apps.

</comment><comment><USER24> Would it be wrong to interpret this as the possible end of browser focused engineers?

It seems to me that consumers have spoken that they prefer native apps (especially mobile ones) that they can quickly find on their phone's home screen. Consumers are using desktop web apps less comparatively to native mobile ones.

So rather than people making web apps and then trying to port them to native, we're going to have a bunch of native apps that port to the web?

OR

... maybe web goes back to being the defacto standard if people start making insane unity engine powered byte code based web apps that perform like native..

</comment><comment><USER25> It will also make malware faster and more difficult to reverse engineer.

</comment><comment><USER26> security nightmares ahead - running random binaries from the web - but wet dreams of privacy invaders of all sorts becoming real.

<comment><USER27> It will sit on top of the existing JavaScript engines and APIs, so no new security issues there.

</comment></comment><comment><USER28> Wow. If C/C++ code can run at near native speeds on most browsers, specially mobile browsers, this could make a dent on app stores revenues, specially for IAP based games.

<comment><USER29> You will still be using sandboxed DOM APIs (that adds both overhead and restricted API access), you won't have access to app store stuff like in-app purchases and your adds will be blocked by adblock that will be shipping built-in to browsers.

</comment></comment><comment><USER30> I wonder what the FSF might say about this development.

<comment><USER31> Yeah, since it is binary format, will the web start to serve closed-source JS- like scripts?

<comment><USER32> There's nothing stopping people distributing closed-source obfuscated scripts at the moment. There's not a massive difference between minified javascript and decompiled asm.js.

<comment><USER33> Am I the only one who thinks there actually is quite a difference between minified & obfuscated javascript vs bytecode?

Minification & obfuscation can only do so much without changing the logic of the script. Sure, spaces are removed, variable and function names make no sense, but most of the logic is still there just as the developer intended.

If we look at compiled Java/C++/Any high level language code, how the application logic is presented is _substantially_ different from the original logic of the application. Making it so much harder to understand how the application works.

<comment><USER34> Not much of a difference if you're running your JS code through Googles closure ([https://developers.google.com/closure/](https://developers.google.com/closure/)), this basically does a complete re-compilation of your JS, removing dead code, unused variables, and lots of other optimizations, and in the end spits out a big ASCII blob that could just as well be byte code. It has nothing in common with the original source code.

<comment><USER35> And then you throw JSNice at it, give it to a college student, wait a weekend, and have a nicely readable source version.

Source: Am college student, for fun I disassemble websites, including the funny VM Google built for ReCaptcha.

Additionally, I wonder what the EU thinks about this, as anyone who has the ability to use a software has the right to take it apart, inspect it, and learn from it. This right can not be signed away with contracts (making the "Do not decompile" clause invalid) and is violated by all these closed source web projects.

Tbh, I should probably just decompile, deobfuscate and refactor the Google Inbox client source, and publish it on GitHub over summer break, just to show Google how useless and annoying their obfuscation is.

</comment></comment></comment></comment></comment></comment><comment><USER36> This came up so quickly, nobody was able to create the WebAssembly page on Wikipedia yet [1], it seems.

      [1] https://en.wikipedia.org/wiki/WebAssembly

</comment><comment><USER37>
        The WebAssembly team decided to go with a binary
        format because that code can be compressed even
        more than the standard JavaScript text files and
        because it's much faster for the engine to decode
        the binary format

Are there real world examples of websites where the size of the JavaScript and the time it needs to decode it make up a significant portion of the load time?

<comment><USER38> Gmail ? Google Docs ?

And it might also be the final blow on Flash.

<comment><USER39> Did flash need a final blow? I assumed it is still around in small pockets because of projects that are abandoned and casual developers who don't intend to learn a new set of tools.

<comment><USER22> It's more pervasive and hard-to-kill than you think. At least these days we don't have project managers asking "can we add Flash?"

</comment></comment></comment></comment><comment><USER40> I must say about DAMN TIME!

</comment><comment><USER41> I'm learning Rust and it would be nice to see a Rust powered kernel, just for hack with it a learn a lot.

<comment><USER42> This is the post I created to discuss this on reddit : [https://www.reddit.com/r/rust/comments/3abgbo/webassembly_ru...](https://www.reddit.com/r/rust/comments/3abgbo/webassembly_rust_compile_to_web/)

</comment></comment><comment><USER43> Does this get us integers in Javascript?

<comment><USER4> Yes, because you already had them. (It uses the Emscripten tricks to use integers in JS, which VMs readily understand at this point.)

It doesn't add Value Objects yet though—that's a separate proposal.

</comment></comment><comment><USER44> Yay!!! Choices, choices, choices. The future is bright and full of opportunities.

</comment><comment><USER45> Earlier discussion on this topic: [https://news.ycombinator.com/item?id=9732827](https://news.ycombinator.com/item?id=9732827)

</comment><comment><USER46> And how will this affect security and privacy on the Web?

<comment><USER47> Why would it? Bytecode is not substantially harder or easier to disassemble and grok than minified and obfuscated JS.

</comment></comment><comment><USER26> does already a plugin exist that blocks this crap?

</comment><comment><USER48> Does this eventually end up as yet another virtualization layer? How big and bloated does the web stack become before we start again, with a lean protocol and markup language for text documents?

<comment><USER49> Let's ditch HTML/CSS for XAML! No more googling how to vertically align a block in another block. I'm in 100%.

<comment><USER13> That would be a dream.

</comment></comment></comment><comment><USER50> [http://www.techzigg.com/2015/06/google-microsoft-apple- and-m...](http://www.techzigg.com/2015/06/google-microsoft-apple-and-mozilla- team.html)</comment>


Go Fucking Do It - <AUTHOR> https://gofuckingdoit.com/ <comment><USER2> Who does the money go to? Your friend? What does your friend do to deserve money for you not accomplishing a particular goal?

I've just had another read and "If you don't make the deadline, Gofuckingdoit.com collects the money, but the site is considering building a charity payout"

What the fuck? Gofuckingdoit collects the money and is "considering" building a charity payout?

</comment><comment><USER3> It took me a while to realize this site wasn't one of the one's generated at [http://tiffzhang.com/startup/?s=286425804879](http://tiffzhang.com/startup/?s=286425804879)

</comment><comment><USER4> Is there an upside? You pay if you don't accomplish your goal, but what if you do?

<comment><USER5> You have accomplished your goal, avoided humiliation, and have saved money.</comment></comment>


The LION Way: Machine Learning and Intelligent Optimization [pdf] - <AUTHOR> http://intelligent-optimization.org/LIONbook/lionbook_3v0.pdf <comment><AUTHOR> Shoutout to my college professor who just made his machine learning book free!

I particularly like the book in that it explains the pure computer science and mathematical ideas behind machine learning, model building and validation, without relying on any particular software package. If you are looking for a book that conveys knowledge rather than a glorified tutorial on machine learning, this is it.

Each chapter is written with incremental difficulty, so that one can read up until (hopefully a bit beyond) his/her maths comfort zone.

The book is also entertaining, if anything just read the first paragraph of each chapter and look at the first illustrations!

Additional info here: [http://intelligent- optimization.org/LIONbook](http://intelligent-optimization.org/LIONbook)

<comment><USER2> Speaking of: Does anyone know a good glorified tutorial on machine learning?

</comment></comment><comment><USER3> I am sorry, but I really do not like this style of naming and self- advertising. Is this common in ML?

"LION is a complex array of mechanisms, like the engine in a car, but the user (driver) does not need to know the inner workings of the engine in order to realize its tremendous benefits. LION's adoption will create a prairie fire of innovation which will reach most businesses in the next decades."

1\. Why is it called LION? There is no reference to a lion anywhere in the introduction. Just because the (real) title contains the letters to form lion is (in my opinion) not good enough (machine Learning plus Intelligent OptimizatioN). I hoped we were done with this style 5 years ago.

2\. Even before trying to attempt to explain exactely what LION is, we have this car engine analogy. Why not explaining what it is so that I do understang what you are talking about. This just feels like an attempt to obscure complexity. And in (some bad papers) this is a sign that the authors did not fully grasp the matter and can hence not summarize it.

3\. Why this bold claim that this will change innovation and business? If the book holds what it promises it will do that on its own.

To be fair, I haven't read the book but will probably do it. And it might be awesome. But these three things raise red flags for me. I read a lot of papers during my PhD and these are three indicators for bad papers. And the authors of those papers were PhD students will oversell there stuff anyways. But this is a book. Please do not do that...

[EDIT] Typo

</comment><comment><USER4> Thanks!

</comment><comment><USER5> If he is giving this away for free, how worthwhile is it?

Sorry to be skeptical, but free doesn't always equal great quality.(excluding open source software)

<comment><USER6> How is "free" relevant here? The underlying truth is that _price_ in general is not necessarily correlated with quality. That would be true if the book were free, or if it cost $20.00, $200.00 or $2,000.00.

IOW:

 _If he is selling this for $200.00, how worthwhile is it? Sorry to be skeptical, but expensive doesn 't always equal great quality._</comment></comment>


How we grew from 0 to 4M women on our app, with vertical machine learning - <AUTHOR> https://medium.com/@aldamiz/how-we-grew-from-0-to-4-million-women-on-our-fashion-app-with-a-vertical-machine-learning-approach-f8b7fc0a89d7 <comment><USER2> I know you're just trying to get attention for some good work, but promotional voting and—especially—promotional commenting are the sort of thing that drive HN readers crazy and cause them to use unkind words like 'shill' and 'spam'. The HN community smells these things like a truffle pig smells truffles and they regard it as manipulating the system here. So it's definitely not in your interests to do this! In practice that means you should get your friends and team-mates to _not_ vote and especially not to post booster comments in the thread.

Since it looks like the underlying work here is good, I suggest waiting a week or two and then reposting it, and make the title less buzzwordy and more neutral. If you email us at email@example.com when the post is up, we can make sure it doesn't get flagged.

<comment><AUTHOR> Thanks for the heads up, dang.

Truth is: for the first time ever, we've decided to talk about our machine learning approach and how we've managed to build our project, and we've thought many of the lessons learnt have value for the community.

We've really worked hard on the content of the post, trying to offer valuable insight on a number of things: how we work retention, onboarding, what's our learning process, and most importantly how we understand fashion taste. Lots of tips that imo are valuable for the community. And all this work, we've wanted to share it here on HN. Our friends are as excited as we are, and some have asked for questions / congrat'ed us here. No questions were planned.

About the title, it's what we've managed to do! While others spend millions on acquisition, we haven't, it's been product based, no tricks, its been done by building an efficient product, step by step, countless nights. Few people in this industry, outside the fashion space, know Chicisimo, and we wanted this to come to an end. I'd appreciate the flag to be lifted.

</comment></comment><comment><USER3> Is all the tagging manual?

I assume that in order to find images of relevant outfits for the expressed "needs", the images have to be tagged with colors, brands, garment types... If that tagging is manual, I wonder if it could be automated using the object detection feature of an image analysis service like Amazon Rekognition or Google Cloud Vision.

Maybe automated tagging would allow richer tagging, and that could be key to find the best results for each user's taste.

</comment><comment><USER4> How much have you spend on Mixpanel??? ;)

How did you get to insights/assumptions like "If people don't do [action] during their first 7 minutes in their first session, they will not come back"?

<comment><AUTHOR> Thanks for the question furilo.

We run behavioral cohorts. We do cohorts over everything, every action people do, every screen they visit, every piece of value they receive. We also know when those actions take place (first 5 minutes, first hour, day, etc).

With the above, we've learnt what actions have the strongest retention. Now we need to look at the duration of the first session, which we have. We know that if we dont convert people during their first session, they is no coming back - no push or email or anything, will bring them back.

Once we know what the lever of retention is/are, and much time we have to convert, we run user tests with different types of users (converted, non- converted, people who've abandoned the app, people who dont know the app), and observe how they discover the lever, how they describe it, how they use it. This is gold, and helps us iterate.

<comment><USER5> Which action has the strongest retention in a fashion app like yours?

</comment></comment></comment><comment><USER6> Great job guys! Been following for a long time and it's impressive how far you've taken the company during this time! Kudos and great article!!

<comment><AUTHOR> thanks abarrera :)

</comment></comment><comment><USER5> Article suggests they are using perceived value of an outfit to train their Machine Learning model. I wonder what are those actions, Likes? Add to cart?

<comment><AUTHOR> Thanks for the comment soci.

There is a lot of actions that express taste - sharing your own tagged outfits, searching for something, creating a specific album, and many more. And actually, each expression of taste has its own value. As we move forward, we'll need to get smarter as how we can help people, based on what data.

</comment></comment><comment><USER7> Fantastic article and way to go on the accomplishments. Looks like you are in an amazing space to be. I am a big big fun of recomender systems.

<comment><AUTHOR> thanks quarizmi!

Lets see how recommender systems evolve in this space. The tech and implementation will need to be very different to traditional recommenders, and access to data will be a huge barrier imho. We'll see:)

</comment></comment><comment><USER8> Thanks for sharing! You've talked about your ontology, can you explain a bit more about how you build it?

<comment><AUTHOR> Thanks for the question.

The question we figured out we need to answer is: what type of outfit ideas are people looking for, and how do they describe their needs? And then, how can we match those needs with relevant content.

So what we did (what we do) is look at people's queries, and also at how people describe their clothes, their outfits or albums (combinations of outfits, like pinterest boards). There is a lot of data here, millions of keywords, but many of them are similar (pants and trousers, or pantalones in Spanish). So we've extracted the main concepts (pants) and built a system of equivalences. Basically, now, we know "all" the needs people have when it comes to deciding what to wear, and have a pretty complete view of different ways of describing those needs, and how good the system is at responding to those needs (database of outfits).

</comment></comment><comment><USER9> Very interesting article. It's impressive the engineering effort you are making here.

<comment><AUTHOR> Thanks gimenete! We actually do things as simple as possible. But complexity is increasing:)

</comment></comment><comment><USER10> Awesome article with tons of learnings and details <3\. I'm a big fan of them.

</comment><comment><USER11> Amazin job... thanks for sharing!!

<comment><AUTHOR> thanks pab_rey!

</comment></comment><comment><USER12> Amazing work!</comment>