Some guy emails all of Microsoft and causes email shitstorm - <AUTHOR> This morning someone at Microsoft accidentally emailed the whole company - yes, all of Microsoft - and started receiving a bazillion replies from people asking to be removed from the thread. How it is possible to accidentially email the company I do not know, but it seems that permissions on certain distribution lists may need to be tightened.
What happened next is where the story gets interesting and perplexing. People started replying all to tell everyone else to stop replying all, thus perpetuating the problem in an attempt to stop the mass email. You can't make this stuff up. "GOOD GOD STOP REPLYING ALL" is just one of the headlines from the reply-all emails that were sent out trying to get people to stop replying all. Its kind of a paradox, if you think about it.
Thinking that some people might not be getting the message to stop replying all, a new email was created with a different subject with CAPS instructions to stop replying all, which added to the overall slowdown, and essentially duplicated the original mistake and amplified the load on exchange servers through MS.
Emails to and from Microsoft employees have been bouncing back all day long. No report yet on when the problem will be resolved. <comment><USER2> Reminds me of this story that happened just a few months ago:

[http://nyulocal.com/on- campus/2012/11/27/replyallcalypse-201...](http://nyulocal.com/on- campus/2012/11/27/replyallcalypse-2012-nyu-local-explains-why-your-inbox-was- blowing-up-last-night/)

</comment><comment><USER3> This has happened at Google, too, to similarly hilarious effect.

An excellent writeup of the incident (by someone else): <http://rachelbythebay.com/w/2012/01/16/replyall/>

</comment><comment><USER4> Can this story be substantiated anywhere credible?

</comment><comment><USER5> Unfortunately, this has happened before. And not only once. Here's a description of a previous instance: [http://blogs.technet.com/exchange/archive/2004/04/08/109626....](http://blogs.technet.com/exchange/archive/2004/04/08/109626.aspx)

(It doesn't seem to have been the entire company -- about half of my team was spared -- but I'm sure it was a good chunk.)

<comment><USER5> I have a fantasy that this is tied into midyear reviews, and that anyone responding automatically drops a point on the review scale...

</comment></comment><comment><USER6> I had a similarly hilarious experience a few years back, related to a distribution list but compounded by trying to recall a message. Someone from accounting had both Outlook Web and personal web mail open at the same time. He was composing an email about SOX compliance to all managers in the US for a large national company. Apparently he was also composing an explicit personal email to his girlfriend about what he had planned for the bedroom that night. Somehow his wires got crossed and the explicit email got sent to all the managers (I assume his girlfriend got the SOX email). I wouldn't have even read the email had he not tried to recall the message, which on some clients deletes the message, but on others, it just sends another email about trying to recall the email. Needless to say, he was fired on the spot.

</comment><comment><USER7> <https://en.wikipedia.org/wiki/Email_storm>

</comment><comment><USER8> It's not the email shitstorm of all time until someone makes t-shirts. Any Bedlam DL3 references in those replies? =)

[http://garykac.blogspot.com/2007/11/bedlam-dl3-10-years- and-...](http://garykac.blogspot.com/2007/11/bedlam-dl3-10-years-and-1-month- ago.html)

<comment><USER9> IT this morning suggested that it was "probably worse than Bedlam". Haven't seen any shirts yet though.

</comment></comment><comment><USER10> I have seen similar email "storm" a couple of times when I was working in HP. It was not the whole of the company but a large business group probably a tenth of the company. It would start with a mail send to a large email list. People would start replying to all asking to be removed from the list or saying that they are not the intended recipient of the mail. After that it would be the "Please dont reply to all" mails. And that will go on and on . I remember a particular one that went into over a 100 mails.

It is interesting how a large group of smart people end up doing this.

</comment><comment><USER11> Nobody I talked to on the Microsoft campus tonight knew of this, so no, not "all of Microsoft". Flagged as cruft.

<comment><USER9> The emails didn't affect everyone, just a few dozen thousand. No biggie.

</comment></comment><comment><USER12> This happened on an eBay company-wide mailing list a few months ago.

The funniest/worst thing was the people at former subsidiaries who were still on the list, but couldn't log into the list-manager and remove themselves because of course they didn't actually have corporate network accounts any more.

</comment><comment><USER13> Same thing happened at my company (~40k employees) about 2 years ago. Fortunately it is split across a couple of timezones, but after about 300 'Please do not reply-to-all' replies-to-all, apparently the exchange server crashed and took care of the problem :P

</comment><comment><USER14> "yes, all of Microsoft"

No, not all of Microsoft.

</comment><comment><USER15> and everybodys phones going off all day, all over?

</comment><comment><USER16> I can't believe people don't know the many problems created by e-mails with visible (i.e. CC) lists of addresses. Here's my article on this topic:

<http://arachnoid.com/opinion/help_the_crooks.html>

<comment><USER5> (It was a broken mailing list, not an explicit list of addresses.)

<comment><USER16> Yes -- that would explain why hitting "reply all" was the focus of the controversy.</comment></comment></comment>


Dissecting Marc Andreesen's elevator pitch for Ning - <AUTHOR> http://www.venturehacks.com/articles/elevator-pitch <comment><USER2> Thanks VentureHacks!! Just one question: I haven't raised $44 Million or sold my previous companies for $4.2 and $1.6 Billion. Would this weaken my pitch at all? ;)

<comment><USER3> all of a sudden I feel like I can't hear your pitch anymore breck, but it was nice meeting you :)

</comment></comment><comment><USER4> "It's as easy as starting a blog. [What's the metaphor?]"

Well, that is definitely a simile. It is pretty embarrassing to mix up fundamental literary devices in a writing analysis, which reaches the single conclusion that you simply ought to not make writing mistakes.

( <http://members.ozemail.com.au/~ddiamond/analog.html> )

</comment><comment><USER5> Keep in mind, this isn't Marc's _real_ elevator pitch -- it's one that the VentureHacks authors created as if they were in his shoes.

</comment><comment><USER6> Be sure to watch the Ali G video at the end. How he keeps a straight face I'll never know - hilarious!

<comment><USER2> Thanks for that. hilarious.

</comment></comment><comment><USER7> That was like reading a dating site profile for Brad Pitt.

</comment><comment><USER3> but don't you think Marc has his own elevator pitch, that he states on his blog: "We at Ning are on a mission to build the ultimate platform for people to create their own social networks and social experiences on the Internet for anything -- to unlock all of the great ideas of people all over the world for using this amazing medium in their lives."</comment>


Ask HN: Where to buy a new MacBook Pro 13'' Early 2015? - <AUTHOR> Yes, I know it's 2019. But in my opinion the 2015 MacBook was the last great laptop from Apple, and I can't live without the ports and MagSafe.
Apple doesn't seem to sell them anymore, even refurbished.
Any ideas? <comment><USER2> Mac of all Trades - They are a little pricey but perhaps your only option outside of eBay

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

<comment><AUTHOR> No 2015 MBP unfortunately. Thanks for the link though, wonderful site.

<comment><USER3> Seems like there are a few to me

</comment></comment></comment><comment><USER4> It's time to switch to Linux :)</comment>


Are eyeballs enough? - <AUTHOR>

Are eyeballs enough?
"[..] the extent of the crash didn't dawn on us that quickly.  I don't think it dawned on a lot of people. We just wanted to build momentum with this  $500,000 and then raise more money later in the year."
"At the time it was pretty much the belief that, if you have a buzz and you have users and you have good seed investors, you can raise more money.  We said, 'We'll make money, but this is down the road so we don't need to focus on that. We are going to focus on building more features getting more users.'"
-Evan Williams (Blogger.com from Founder's at Work)
Are we all doomed to repeat history?  Is it a sound strategy to go for growth first and worry about making money later?
Has advertising really matured to the point where an advertising-only model can work?  If I can get a couple million people to use my app on the regular then I'm sitting pretty in multi-million dollar acquisition land, right?
Someone please shed some light on this mysterious monetization thing.
<comment><AUTHOR> Come on, throw me a bone :)</comment>


Documenting Breaches with H Diagrams - <AUTHOR> https://blog.eutopian.io/documenting-breaches-with-h-diagrams/ <comment><USER2> Nice to see this posted so soon. Please do feel free to contribute your own interpretations and I'll collate them and republish an update after a while.</comment>


10 years later, 'Star Wars Kid' speaks out - <AUTHOR> http://www2.macleans.ca/2013/05/09/10-years-later-the-star-wars-kid-speaks-out/ <comment><USER2> A lot of the conversation around this talks about the Internet. Note this from the article:

        Raza said he lost what few friends he had in the fallout, and had to change schools. "In the common room, students climbed onto tabletops to insult me," he told L'actualité.

All "cyberbullying" does is prevent the bullying from stopping when the kids go home. Potential anonymity is a negligible factor as far as I can tell.

Yes, being world famous probably escalated the reach of his ridicule, but even if it never left his school, what was essentially his whole world turned against him. As someone else mentions in a comment there doesn't seem to be anything we can do to prevent this sort of pack behavior. But I hope someone does figure out a way.

<comment><USER3> I've seen this with some of my kids. In my day, home was a safe sanctuary. The internet and associated hardware has penetrated the sanctity of the home, and its no longer a safe haven from the nasty harsh out side world.

The internet has destroyed that. IMHO, it is the single worst thing the internet has done.

I sincerely hope no one suggests that parents should exclude their kids from the internet which allows the bullys to win and control cyber space. Worse still, it then excludes them from the friends they might still have, and a lot of things the victim can use to fight back, and distract them selves from the nastiness. The internet _is_ more good than bad.

I think laws for cyber bullying should have harsher penalties than normal face to face bullying. Face to face stuff is limited by physical proximity and time, cyber bullying _can_ be 24/7. If bullied at school, the kid can escape it by going home after school, and not being there at weekends. With cyber bullying, you might not even get an evening off, let alone a week end.

<comment><USER4> Only if you go on sites that have the ability to receive messages from people (and where those people know who you are). You can choose to go to those sites, or to go elsewhere.

At school, when the bullies are following you around the playground all day long, you've got nowhere to hide.

Also, most cyberbullying typically leaves a papertrail behind it - you can take the Facebook posts or whatever as evidence of what's going on. In the physical world, that's often a lot harder to get.

<comment><USER5> The point is that the bullying goes from something fairly local (school), that can be escaped, to spreading around the world. This particular kid could move to Cambodia and some people there will probably recognize him.

<comment><USER4> There's a big difference between cyberbullying - using the internet/mobile phones etc to bully people - and physical bullying that's happened as a result of being recognised from the internet (or from newspapers, TV etc).

</comment></comment></comment></comment></comment><comment><USER6> I still don't understand what kind of mentality it takes for a person to say, in sincerity, "Kill yourself." That's just ... wow. Do they understand what they're saying?

<comment><USER7> They're expressing the average 15yo worldview which is that social acceptance is everything and embarassment by your peers is literally a fate worse than death. It's pretty fucked up, but also I think an inevitable part of growing up for most except for maybe a few hard-core geeks whose passions supercede whatever social narcotics their peers subject them to.

<comment><USER8> Let's keep some things in mind.

Adolescence is the onset of adulthood before the capacity to function as a real adult in the real world is reached. One of the things that adolescents search for is some form of personal validation besides their parents and immediate family. It is probably close enough to true that we are biologically driven to look for this outside acceptance.

Unfortunately our society favors heavily segregating children based on age. That results in confused & clueless teens begging for acceptance from equally clueless people from the same wing of the same asylum.

Once in the real world a functional adult who can hold down a job finds there are a million ways to find personal validation. Teens do not have that opportunity; they (often) imagine that the opinion of other teenagers is the only path to validation.

<comment><USER9> I'd never heard of the age segregation explanation, it's very interesting since it implies this degree of behavior isn't inevitable. Are there any references for this claim?

<comment><USER10> This very long NY Magazine piece meditates on that topic, "Why You Never Truly Leave High School": <http://nymag.com/news/features/high-school-2013-1/>

I can't remember if the author states any scholarly work to support the idea, but she talks about it at length. One thing that I think is well established is that kids mostly being around other kids all day is a relatively modern phenomenon. It's a long piece, but it resonated with me.

</comment></comment></comment></comment></comment><comment><USER11> > Raza, now a law-school graduate from McGill

I wonder if the person who posted the video is doing as well?

<comment><USER12> No need to be sarcastic. McGill is widely considered to be one of Canada's best universities. William Shatner and most of our prime ministers studied there.

<comment><USER13> I didn't see any sarcasm in pkulak's comment. I read it as saying, "The Star Wars kid is doing great; I wonder if the person who meanly posted the video is achieving anywhere near his level of success?"

 _Edit:_ Your comment should not be so heavily downvoted for the misunderstanding.

<comment> jack-r-abbit It is unfortunate that you can't reverse/undo a vote. I've had several time where I clicked too soon and regretted my choice after rereading and fulling understanding the comment (or when a follow up comment clarifies the first).

<comment><USER14> It would be nice if we could at least undo downvotes if an undo for both is out of the question. I think everyone has accidentally clicked the wrong one at least once and downvote is the one that does the most damage.

<comment><USER15> _Especially_ when using mobile. Half the time I'm lucky to click on the right comment / story link for HN.

</comment></comment></comment></comment></comment></comment><comment><USER16> This is weird, there was a huge outburst of people who were supportive of him and raised money for him, yet he doesn't speak at all about that.

I remember sending money here: <http://waxy.org/2003/05/finding_the_sta/>

<comment><USER17> It's just a teaser for the actual article, or have you read the full one?

Also: "It was "a very dark period," he said. "No matter how hard I tried to ignore people telling me to commit suicide, I couldn't help but feel worthless, like my life wasn't worth living."" >> $4k and an iPod.

<comment><USER16> It wasn't just the money and the iPod, at the time, there was a huge outburst of support for him and of other people (nerds like myself) sharing their stories, it wasn't "It Gets Better" but it was pretty big at the time. I can't help but to think that his parents shielded him from all feedback (good and bad) and gave him a skewed perception of the event. Don't get me wrong, it was completely fucked up how local folks who he had to interact with on a regular basis invaded his privacy and taunted and teased him, but it's not as if his roommate recorded him having gay sex or as if he was raped and had the video shared while being called a slut.

</comment></comment></comment><comment><USER18> I can't blame anyone for laughing at Star Wars Kid when the video first appeared, but I have to admit that my immediate reaction when I first saw it years ago was nothing but profound sadness.

All teenagers have insecurities, but nothing like the true outcasts (of which I was certainly one). We spent all our time wondering not only why we couldn't fit in, but what was wrong with us. Because there surely had to be something deeply wrong with us. Most of us assumed, deep down, that it was somehow our fault.

That video might as well have been produced by that kid's superego -- as if every self-inflicted wound of self-hatred was now confirmed. People were advising him to commit suicide, and only strength of character could have prevented him from doing it. People have killed themselves over far lesser shames, and I'm honestly not sure I would have survived it.

I'm glad he's creating a successful life for himself. And I'll admit it, though I'm not proud it: I hope the fucker who posted that video ends up pumping his gas.

</comment><comment><USER19> One of the most interesting points made around this article was written in the comments:

> So many people watch and laugh at this vids, and they are the same people > who hear Retah's story and think bullying is terrible. We don't realize how > hypocrtical we can all be sometimes.

<comment><USER20> I watched the video, I laughed at the video, and I think the bullying is awful. Just watching the video and finding it amusing does not turn you into a bully. Posting mean comments about the guy does. How many of us did that?

<comment><USER21> I don't agree. He did not want anybody to see him embarrassing himself. If you know he does not want you to see his video, but you disregard his wish and do it anyway, how can you not call yourself a bully? You disregard his wish and add yourself to the collective mass of people that caused him so much pain, and you still claim the moral high-ground?

<comment><USER22> I hope you're kidding. I found star wars kid entertaining.

I found this quite entertaining as well: [http://cdn02.cdn.justjared.com/wp- content/uploads/2011/07/je...](http://cdn02.cdn.justjared.com/wp- content/uploads/2011/07/jeong-photobomb/ken-jeong-photobomb-01.jpg)

I found this narration of an embarassing incident entertaining as well: <http://www.youtube.com/watch?v=nliuibEp-xo>

... and that's off the top of my head. In your world, does that make me a bad person?

<comment><USER21> You gave 2 examples of people who made the conscious decision of being in the spotlight. Star Wars kids did not want to be in the spotlight.

There's a spectacular crash on the highway. A barrage of thousands of onlookers makes it hard for the ambulance to reach the site. Because of that, the crashed guy dies. Are these onlookers bad people?

Not a single one is guilty for his death. They're certainly bad as a group. But of course you can't put 1000 people on trial for each being 0.1 percent guilty.

The only thing you can do is hope each single one decides for himself, whether he thinks he's bad... whether he will prioritize his interest as a curious onlooker over a victims wishes and future life path the next time a crash happens.

<comment><USER23> Wishes don't automatically get granted. The specific act of ignoring someone's wishes does not even remotely make you a bully.

People can cause bad results without being bad.

</comment></comment></comment></comment></comment></comment><comment><USER24> At least there are now (as this is posted) a lot of very positive and supportive comments on this upload of the video.

<http://www.youtube.com/watch?v=HPPj6viIBmU>

</comment><comment><USER25> I'm sure people were telling him to kill himself only because they were jealous of him. People are dying for attention, and the fact this kid got it for being a nerd, hit them hard.

Honestly, I'm sure everybody would have wanted to do the same, imitate darth maul or others. He was just the first to do it.

BTW I wonder how the 2 nicely done lightsaber videos were inspired by this or not.

</comment><comment><USER26> I'm a little surprised he didn't embrace his celebrity, seems to me like he's missed an opportunity that few get given. The video was funny but not something to be ashamed of IMO.

<comment><USER27> While I do not downplay how vicious school can be and I don't envy his situation back then, I think it definitely is an amazing opportunity to launch out into a celebrity career. He couldn't have known that in the pre- rebeccablack / pre-meme era, but it's a life lesson, don't get down on yourself, rock it. If you can't beat 'em, join 'em. Overly Attached Girlfriend has used her celebrity status for good causes!

<http://knowyourmeme.com/memes/overly-attached-girlfriend>

</comment></comment><comment><USER28> Has anyone else noticed a recent decline in inappropriate Youtube comments now that they pushed for real name accounts?

<comment><USER29> Actually, no.

I see people posting horrendous stuff with their real names all the time on youtube. I don't think anonymity is what causes these horrible comments: it's more the fact that the internet creates a "barrier" between two people. It's easier to say something with conviction in text than it is in person, even if you're typing it under your real name.

<comment><USER30> I heard road rage explained in the same way. We would never act to each other face to face as we would in a car. The car feels like an extension of your own home and you feel more violated when someone invades what you perceive to be your space and we view what we are lashing out at as an object and not as person with feelings. I can see it being the same mentality when you are sitting at home nerdraging at your computer.

<comment> jack-r-abbit Ya. A friend of mine was driving one time and some asshat got all bent out of shape over something he did and started doing all sorts of douchbaggy things while driving. So my friend decided to discreetly follow this guy. When the guy had stopped and parked and was getting out of his car, my friend confronted him and inquired about his problem. The guy nearly crapped himself as he never expected to actually have to deal with someone he had just been a dick to on the road. Classic.

Edit: I guess I need to clarify that my friend was a perfect gentleman to the guy. Very non threatening. Not in the same road-rage way the other guy had been on the road. The situation ended very peacefully and the other guy apologized. This was not one of those "I'll throw your dog into traffic" situations. I can't imagine why confronting a bully like that would be looked down upon but I guess HN is fickle that way.

<comment><USER6> I imagine they were down-voting you because you chose to explain the story that, as far as many could tell, was a bit off-topic; and was spoken in a more 'street' way, that might be perceived as trolling.

<comment> jack-r-abbit huh... a road rage story in response to a post that talked a bit about road rage compared to cyber-bullying and safety in anonymity, etc. It sounded on topic in my head.

<comment><USER31> It was on topic.

</comment></comment></comment></comment></comment></comment></comment><comment><USER32> I may be ignorant here - but how does exactly bullying on the Internet work? I can understand the harm of being recognized from the Internet video, but you don't have to reveal your identity on chat-rooms, forums, etc.

I imagine on a Facebook and the like, people might request a friendship and then quickly use the platform for abuse and this can render it un-usable.

But outside of that - a person is under no pressure of revealing his identity in most situations; in fact most of the internet experience is read-only and a person can choose what to view.

Is there something I'm missing? Is it ignorant to imagine that the internet would be a place for refuge for any social outcast, even internet celebrities?

<comment><USER33> I think if I were in a similar situation, it would be hard not to look at comments. Even though nothing is forcing you to read them, it's pretty difficult to fight the temptation of seeing what other people think about you.

</comment></comment><comment><USER34> How can we prevent this from ever happening again?

<comment><USER35> Much of the problem rests with the absolutely insane way that schools work. They encourage bullying and social isolation, they have become almost like prisons, and provide very little benefit in actual education in exchange.

<comment><USER36> They're microcosms of the societies they're meant to prepare us for.

And we have _plenty_ of bullying in the adult world.

<comment><USER35> No. They're nothing like the real world. Some parts are similar, but some parts of prison are similar to the real world too.

<comment><USER36> Prisons are microcosms, too, and the way prisoners and guards interact is _also_ a good indicator of what we do as a society.

If you fix bullying in schools, you will help fix bullying in society in general. If you fix bullying in society in general, you will help fix bullying in prisons.

I had the surprising insight a few months ago that rape culture is just the Stanford Prison Experiment writ large. It was an insight triggered by reading some commentary about Stuebenville.

</comment></comment></comment></comment></comment><comment><USER37> Maybe I'm in the minority, but the first time I saw it I thought it was funny but something that I wish I had done.

It never really occurred to me that people would ridicule him for what he did.

I learned the easy way I guess, by watching what happened to him.

</comment><comment><USER38> Most of the horrible individuals who bullied this kid in person or via the web will likely be serving his coffee and pumping his gas. I think we can all agree it was a funny video but laughing with someone vs at them and telling them to "kill themselves" are two entirely different things. I wish him all the best in his future and hopefully as a lawyer he can undertake some bullying cases.

<comment><USER39> Serving coffee is an honorable vocation, and should not be used as a punishment metaphor.

<comment><USER40> Odd that you would leave pumping gas out of your comment.

<comment><USER39> Pumping gas as a job is such an anachronistic concept to me that it didn't really register.

</comment></comment></comment></comment><comment><USER41> Damn. What the hell is wrong with people? "Go kill yourself." Are you kidding me??? I thought he had to be one of the funnest/funniest people in the world after the video. I'd honestly thought he'd take advantage of the celebrity status and use it to his advantage. . . . . but idiotic bullies/kids/highschoolers will be idiotic bullies/kids/highschoolers.

<comment><USER42> This is what I thought as well. I would have thought he could have leveraged it and brought some good out of it, but that sort of thing probably didn't occur to him or his parents at the time. It would have been very difficult to look for the roses amongst the thorns back then.

EDIT: reading the article intro, and the fact that he is now a law school graduate, I can't help thinking if perhaps this is step 1 in starting to leverage his worldwide fame. A law firm specialising in prosecuting bullying behavior in workplaces, or something similar? I hope it is the case and he manages to leverage the laughter into real success.

</comment></comment><comment><USER43> It's amazing how much of an impact the internet can have on people's lives, even in the days before YouTube or Facebook.

</comment><comment><USER44> > Almost a billion viewers across the planet know him as the Star Wars Kid

Yeah.. I don't think so.

</comment><comment><USER45> It's been 10 years?!

</comment><comment><USER46> I so totally admire Raza. He is a survivor and a hero. But somehow it doesn't feel like justice has been served yet. And telling anyone to "kill themselves" should be considered assault and a criminal offence.

Can't wait to read the article.

<comment><USER47> Really surprised to hear such a scary thought as being arrested for something you say from someone who monikers themselves "thoughtcriminal".

<comment><USER48> Is it really that scary? There are quite a few countries in which insults, hate speech etc. are crimes that can even get you into prison.

</comment></comment></comment><comment><USER49> Time to ban the Internet?

</comment><comment><USER50> The video is hilarious. That's a fact.

He needed to have a sense of humor about himself, and it would take the sting of the attacks away. As long as you try to fight it and hold on to the belief that people are wrong to laugh at your hilarious video, then you're going to lose. Because you're wrong.

 _He chose to record himself acting like a jackass and then left the video laying around._ Yeah, a lot of dickheads acted like dickheads in response. But that's going to happen in life. Rather than getting bent out of shape because some random stranger told you to kill yourself, take it for what it is; someone displacing their own self hatred on an easy target.

I was hoping this article would have him saying something like:

"On reflection, honestly, the video is hilarious. I can laugh at it now. It was embarrassing at the time, but I am glad people got joy out of it."

Oh well. Hopefully one day he'll grow as a person and find some self respect within himself rather than blaming others for his own lack of self esteem.

<comment><USER51> lol wow what a stupid comment.

Go kill yourself you worthless cunt.

<comment><USER52> I accidentally upvoted this comment and cannot see a way to undo it.</comment></comment></comment>


Neal Stephenson: Programmer as a writer. Do it right the first time - <AUTHOR> http://lambda-the-ultimate.org/classic/message7628.html#7629 <comment><USER2> Stephenson's idea--generate high-quality stuff on the first run by cultivating your subconscious to spew only high-quality stuff--reminds me of performing improv. An improv scene is anything from a skit to an entire musical, performed without a script or planning. The players get on stage and just do it, by saying, acting out, and/or singing the first thing that comes to mind, one line at a time.

There is plenty of bad improv: amateurish stuff, "gaggy" stuff (consciously aiming for cheap laughs), etc. But I've also seen amazing improv: entire plays and musicals, sometimes with serious themes, of such coherence and high quality that it doesn't seem possible that they could have been improvised. I once saw an entire Alfred Hitchcock "movie" improvised on stage, that somehow achieved Hitchcock's signature combination of eerieness and worldly elegance.

I've spent about three years training in improv, and it's actually a lot like Stephenson's tale of needing to keep the typewriter ribbon moving. Training in improv is mostly learning ways to tune into what is happening in a scene, let that trigger your spontaneous imagination, and trust that without judging it. There are some very specific techniques, like "very early in the scene, establish where you are," but mostly it's developing that skill of stoking your spontaneous imagination and taking what it gives you. You know after a while when you're tuned in and when you're not. A non-obvious but important element is to go s-l-o-w (like Stephenson with the fountain pen). That enables you to tune in.

If you don't have your imagination ready to go that way, cultivated by life experience and learning as well as by a feeling for how to tune into a scene, the good stuff just ain't going to happen.

My own experience with writing code is something like improv. Sometimes it sucks, and sometimes it's wonderful. There's no way the good stuff could ever have come about by continuous distillation and debugging. It had to flow. I debug very little. If code is buggy, I just throw it away and start completely from scratch. When the code is flowing, nearly all of the "thinking" is subconscious. I'm just tuning in, as if someone else is writing the code. When it's going super-well, it feels like I'm taking dictation. Just like in an improv scene, I'm writing the current line because I'm curious to know what happens next.

</comment><comment><USER3> Interesting - I would've drawn a different conclusion than Stephenson from the same data. Instead of "Do it right the first time," I would've said "Revising means rewriting. Don't try to salvage crap."

I never get it right the first time. I also never succeed in turning that ugly first draft into pretty code. Instead, revising for me means taking a look at what I was trying to achieve with that ugly first draft, throwing it away, and doing it right the second time. All this done iteratively, so I'm never throwing out a complete body of work, only the latest bits on top.

</comment><comment><USER4> In my programming experience working in large projects (100+ developers), it's virtually impossible to Do it right the first time - I mean the overall project. We always have had to iterate towards the solution...but for smaller stuff it could work.

<comment><USER5> Doesn't that suggest that large projects should be a collection of interacting small projects?

Small pieces, loosely joined, as they say.

<comment><USER4> Yes, but it is much more than that. You need an overall concept and strategy.

<comment><USER6> The scope of the project doesn't change the need for concept and strategy.

</comment></comment></comment></comment><comment><USER7> I've had the same experience when writing, whereby my bad stuff was intertwined with my good stuff to the point where merely editing it was not worthwhile, and found that I need (at least) one draft to organize my thoughts before writing a final draft from scratch that generally needs very little editing. The conclusion I came to was that I just need to always write that second draft, rather than Stephenson's conclusion that he just needs to write the better draft the first time. To each his own, I guess . . .

But comparing writing a novel to programming a complex system seems pretty naive, to say the least. The first obvious difference is that a novel (generally) comes out of one person's head, but most larger projects end up far too large for any one person to truly keep it all in their head and understand all the interactions. That immediately makes it pretty much impossible to just do things right the first time; there are always things you don't understand or forget about when working on a larger project. There's also the fact that vagueness is tolerated and often desired in a novel, whereas it's not an option when programming; that just means there are more details to "get right", more decisions to make, and more interactions to worry about. In addition, a program generally has a definite purpose, and you can't re-define your goal as easily based on what it actually does (though sometimes you can; when writing, you often have an idea of where you're going or what effect you want, but if you end up with something different it might still be fine. There are a ton of other differences as well, of course; those are just the ones that first come to mind.

<comment><USER8> I agree. Along with what you said in your first paragraph, I've found that the times that I've completely lost all my work on a project and had to rewrite it from scratch, the second "draft" was far superior and easier to write than the first; mostly because I had already weeded out all of the bad assumptions. However, I doubt this is feasible for anything larger than a fairly simple one-man weekend project; for exactly the reasons you mention.

</comment></comment><comment><USER9> Orson Scott Card used to advocate, at least at a talk I was at a decade ago, write it-throw it away-write it again. Something like "if you wrote it once, you can write it again shorter and better". I've found that to be an important programming insight. Too often, I find myself stepping off the rapid interation path. Inevitably, it is much faster and much more productive to write it the awful and obvious way, prove that with some relaxed constraints the approach can work, and then rewrite it.

Frankly, I've loved Stephenson's works but they have gotten progressively looser. I've attributed this to his success relaxing his editors; this is much like a Senior Software Architect not being held to the same design and code review standards. The result is still impressive and functional, but may not be minimal.

<comment><USER10> Fred Brooks actually made a similar point in "The mythical man-month". "Plan to throw one away", ie. build it, throw it away, and rebuild with the knowledge gained from building it the first time.

Update: [http://en.wikipedia.org/wiki/Mythical_man- month#The_Pilot_Sy...](http://en.wikipedia.org/wiki/Mythical_man- month#The_Pilot_System)

<comment><USER11> But Brooks changed his mind about it because it was assumed that the project would use the flawed waterfall process. So if you're using the right process, you can iterate and move back and forth between different stages (i.e. testing, specification design) easily, thus eliminating the need for re- writing from scratch.

</comment></comment></comment><comment><USER12> PG, agree/disagree? i ask because this is an interesting contrast to what you've said about writing a crappy v1.0, then iterating on and improving it. but the two concepts aren't mutually exclusive, because maybe "crappy v1.0" can simply mean a well-engineered subset of your eventual goal.

<comment><USER6> I guess that depends on how you define "crappy". If by "crappy" you mean "spartan" then sure. If by "crappy" you mean the code is bad, then you're only racking up technical debt, not making progress. ALWAYS start with the simplest solution that does the job.

Yet most people start with the most complex solution they can come up with, even though they don't know what they're solving yet.

</comment></comment><comment><USER13> From now on, I'm writing all my code on a legal pad first.

<comment><USER14> Me too. Like Andre: <http://www.multicians.org/andre.html>

<comment><USER15> [I'm sorry for decreasing the signal-to-noise ratio.] Andre is the man.

</comment></comment></comment><comment><USER16> I can't imagine this process working for a book where there's a lot of intertwining between the later and earlier parts of the book. You just don't know what's going to happen until you write it with Stephenson's method. Compare _Snow Crash_ to any complicated story requiring internal consistency, like a Sherlock Holmes story.

<comment><AUTHOR> _Compare _Snow Crash_ to any complicated story requiring internal consistency, like a Sherlock Holmes story._

A complicated story like _The Baroque Cycle_ , 3000 pages, multiple main characters, taking place over about fifty years?

</comment></comment><comment><USER17> Writing a book is a linear process. You have a start and an end.

But a Lisp program (for instance) has multiple paths to its goal, so it makes more sense using non-linear tools when writing Lisp software.

<comment><AUTHOR> Writing a program is a linear process. You have an input and an output.

But a novel (for instance) has multiple paths and plotlines, towards an indefinite goal, with the possibility of sequels, prequels, side-plots, and other ancillary matters, all of which can contradict one another in unpredictable ways -- and your debugger is an obsessed adolescent fan emailing you at 3 AM or asking about that musical mixup in 2F09.

<comment><USER18> You must have never written any GUI code.

<comment><USER11> That has inputs and outputs as well, though there is an input-waiting process (which doesn't matter when you're modeling/designing the GUI).</comment></comment></comment></comment>


Show HN: The most exhaustive list of 1-on-1 meeting questions for managers - <AUTHOR> https://www.peoplebox.ai/t/one-on-one-meeting-template-manager-questions-list <comment><USER2> From a brief skimming, this seems like a good list.

Only big asterisk is that it seems to paper over that you need a strong and trustworthy relationship to have these questions be answered sincerely and honestly. Otherwise you'll get shrugs and/or non-answers to keep you happy.

The hard part isn't what to ask, it's how to build and maintain an environment where people feel secure enough to speak their mind.

<comment><AUTHOR> I couldn't agree more. Building that "radical candor" is the most important element to have any meaningful conversation or even relationships. I've personally found One on ones as a great platform to build such relationships and like coaching active listening and powerful questioning can help. What have you found working in building strong relationships?

</comment></comment><comment><USER3> This list is amazing, great job. Would be great to understand your rationale about 1-on1's? Also, do you guys use a tool where I can use these questions?

<comment><AUTHOR> Thanks. Let me use a quote from Managers-Tool podcast to explain our rationale about 1-on-1s.

1-on-1, the most powerful thing we can recommend to any managers in the world - To Sit down and talk to their folks on weekly basis regularly like clockwork because just chatting with your folks periodically is not a way to get to know them - It doesn't work. And the single most important thing you can do to improve your relationship, and therefore your results with your team is to get to know the strengths and weaknesses of everybody who works for you as individuals rather than as a group.

We use our own tool ([https://peoplebox.ai](https://peoplebox.ai)) and many of these questions are embedded in it but you can use these questions with any tool you like or currently using.

</comment></comment><comment><USER4> Very helpful list. But it would be good to see a list that is organized around objectives than the current set of categories. Ultimately, one asks these questions to get a certain outcome or information. Starting from there would be better.

<comment><AUTHOR> Thanks for your kind comment and the feedback. That's a great idea. When we created the categories, the idea was to bucket these questions based on certain type of information only like collecting feedback or understanding work relationships but I agree these can be more crisp and specific.</comment></comment>


Linus on Linux: The Linus Torvalds Interview Part 1 - <AUTHOR> http://www.linux-mag.com/id/7313

<comment><USER2> I was hoping to see something about OpenCL/CUDA/etc., especially in the "Is there anything in the pipe from hardware designers..." section.</comment>


Chief Physicist Says Quantum Computers Are "Tools of Destruction, Not Creation" - <AUTHOR> https://futurism.com/worlds-leading-physicist-says-quantum-computers-are-tools-of-destruction-not-creation/ <comment><USER2> Tools are neither good nor evil. We decide how a tool is used, and to that end our histories and children decide if it was good or evil.

Quantum Computing unlocks a lot of crypto-breaking, but post-quantum algorithms are already getting mainstream. People are starting to understand implementations, the theoretical underpinnings appear solid. As somebody who contributes occasionally to OpenSSL-esque projects the crypto world will handle this. New algorithms come-and-go. New cypher suites can be made, this is standard practice.

The _scary_ applications of Quantum Computing really have more to do with plasma turbulence and protein folding. I'm more concerned with nuclear/eugenic wars then my bank being drained.</comment>


Ask HN: Why should I study computer science? - <AUTHOR>

Hey dear HN-fellows,
I asked this question on Quora some time ago but didn't get much from it.
I'm not sure whether I should copy the text or paste the link so I'll do both:
–––––––––––––––––––––––––––––––––––––––––– Original question:
Currently I'm studying computer science (first semester) at the Institute of Technology Berlin. While the university itself is great I sometimes really don't get what the real benefit of studying is. Of course many job listings state that a B.Sc or similar is required but really: why?
Until I began to study I invested a lot of time in interesting technical things. I learned how the web works. I contributed to various open source projects related to web technologies. I love to learn new things and I think that I'm quite good at teaching myself. Now I don't have enough time to do it as much as I want.
In university there is also a lot of stuff that I could learn. However I don't see the need for this kind of knowledge. While people often say: "Doing a B.Sc you prove that you can work in a scientific way.", I don't see many real-life situations where this would be a requirement or even a nice-to-have.
Beside studying I work for a business consultancy held by students and at a smaller startup located here in Berlin.
I sometimes think that I could make a living with the skills I already have. Regarding that and the fact that I'm constantly improving and extending my skillset I don't get the point of studying.
<comment>----- The first and only answer:
Given other factors are mostly equal, an employer might prefer a candidate w/ a degree. It proves you're smart enough to handle the math and other rigor that usually comes with a CS degree.
Mastery of algorithms, a topic covered heavily in most CS programs, is quite important for anyone who wants to write code as a part of their job.
Some would also argue that the seemingly useless CS topics like advanced complexity theory or set theory make you smarter and will help you design solutions to problems at any level.
</comment><comment>----- A comment I wrote to this answer:
Thank you.
Regarding math: Math is boring. I'm not attending at the lectures and when I'm doing my homework I'm learning all the stuff myself with the material that was given to me as a student. I'm investing a lot of time into doing homework while not seeing any benefit from it (now or even in future). While I think that I could motivate myself a lot more solving real problems and "learning math by doing" (with some guidance) I'm just solving problems that don't have any relation to life, science or anything. In real world there probably aren't many mathematicians calculating just for the sake of it. There is always a higher target and math is often a needed tool to achieve this target.
Regarding algorithms: I learned about 3-4 algorithms by the time I started studying (I already know some of them from highschool/college). I'm personally interested in algorithms and I'd love to study things like http://sortvis.org/index.html. However I don't find the time to because I have to invest a lot of time into doing time-intensive math homeworks. Unfortunately nobody would give me a certificate in some way that I understood what I teached myself. Thats the reason I'm studying.
Regarding smartness: I think smartness comes with experience and the will to tackle problems that seem unsolveable. At some point of course it's quite important to be able to make thoughtful/powerful abstractions but I think that's something no one can really "teach" you. Probably it's possible to get this deeper understanding and this ability to abstract by understanding other complex areas of science. (What I'd love to do.)
I feel like studying at an university is not the way of learning that suits me best. This makes me kind of sad, since stopping to study doesn't seem like an option but continuing would mean not doing what I think is right. And obviously this would not produce the best results.
BTW; My spoken and probably also my written English gets worse every day. No courses in English and rarely people around to talk to in English. Things I also had more time for when I did attend to college.
I'm super thankful for any advice, whatever it might be.
––––––––––––––––––––––––––––––––––––––––
And here is the link: http://www.quora.com/Why-should-I-study-computer-science
If you recognize this as a cross posting I'm sorry. However I feel like I have to do it since I couldn't get much out of Quora.
Thank you, Martin </comment><comment><USER3> Hi there,

I'll give you my 2 cents worth as I definitely felt the same way and even more so when I went out to work.

A CS degree is probably not required for most work out there. Even though some put it as a requirement to narrow the criteria, more often than not, you won't use the skills you learnt for the degree on your job.

Having said that, Computer Science is not about teaching your programming skills nor equipping you with skills where you can immediately use them. All those sorting algorithms that come with programming languages - they were written and optimized by people with a good understanding of CS concepts (note: they may or may not have a degree).

The algorithms in CS are motivated by real problems. The algorithms came about when researchers faced certain issues(i.e. a faster algorithm is needed etc). The degree just teaches you the techniques that people used in the past - <USER2> gives insight on how you can create your own or improve one of the existing ones. The undergraduate degrees merely expose you to the techniques but in reality, you will most likely call some function or routine if you want to do it.

And that's just the algorithms part of CS. There's a whole world of optimizing this and that, how to design a fault-tolerant distributed computing system, etc. Again, you may or may not use this. But to invent/create something like Google BigTable or Google File System etc, it is always handy to have the CS knowledge at hand.

Added note: Of course, you can do this all by yourself but with a professor in front of you (who hopefully is willing to help), you can question the hell out of him/her to get the concepts right. And assignments and tests help train your understanding of these concepts.

<comment><AUTHOR> Everything you said sounds to me like parts of higher semesters (6+).

We never did analyse an algorithm. We were never encouraged to find better ones. "Designing a fault-tolerant distributed computing system" – I wish there were a course like that.

Maybe I just don't see the relations to real world because they teach basics first. But what do I need an engine for if I don't know that I can combine it with 2 axis and 4 tires to make it drive.

Short story:

I have on course in which we actually program. We are programming in a bad documented functional programming language. This language only works on Linux. When I asked my tutor why this is as it is and that I'd like to try to get it working on Macs he didn't encourage me to do this at all. He already worked a bit on this but had no time at the moment to proceed his work. He could have just send me what he has done and maybe some known problems and maybe I'd have been able to get it working. But he didn't. (Why?)

<comment><USER3> Sadly, the teachers are sometimes not motivated to inspire their students. It might be the case that they are teaching because of the need to do it instead of wanting to do it. Some are just doing it to complete their MScs and PhDs which is a shame.

It also does sound like you're much too advanced for the level that you're at. Perhaps you can talk to some professors to do some higher level stuff or to convince them to let you skip levels? (Not sure if it's possible but one can try)

</comment></comment></comment><comment><USER4> Do it because at some point you'll apply for a job that has 100 candidates applying. And the person behind the recruitment process won't be able to read the cover letter and CV of 100 applicants, and so to cope with the deluge they will click the radio button on their application that says "Has Degree"... now they only have to look at 50 applicants and you'll be one of them.

Do it because the people you're working with will be your first and perhaps most permanent network. One of them will help you get a job later or set you on the way with a promotion when they recall you're a solid programmer or something.

Do it because if you learn on your own, even if you succeed, you'll always doubt whether you are as good as someone else who got a degree. You'll always wonder if they know something you don't and how to learn it (my answer from that: they probably don't, but it's still very good to have a rigorous grounding in compsci theory for completeness rather than just having discovered most of it along the way... which is much slower than being taught it).

Don't do it because you believe it will suddenly make you employable or teach you everything... it won't. You remain the person in control or your learning and your chances of getting a job, doing a degree didn't absolve you of this responsibility to yourself.

</comment><comment><USER5> If you do not like the theory, have you considered changing from the university to an FH? (Edit: explanation for non-German readers: a kind of school where studies are more concrete and slightly shorter than at a university)</comment>


Dev-Sec.io Automated Hardening Framework - <AUTHOR> http://swreflections.blogspot.com/2016/06/dev-secio-automated-hardening-framework.html <comment><USER2> Some of these settings seem a bit dubious - setting the nginx keepalive timeout to 5 seconds for example does nothing to "harden" things, but kills performance of HTTPS sites. Be sure you understand what you're actually doing before blanket applying all of these.

</comment><comment><USER3> > under the project name "Hardening.io". The authors have recently had to > rename this hardening framework to "Dev-Sec.io"

I can't imagine why...

<comment><USER4> Why?

</comment></comment><comment><USER5> Ive been using this for a while, it's a really great project! Verifying your infra against the inspec tests is really valuable.</comment>


Ask HN: Is JVM the platform of the future? - <AUTHOR>

JVM is slowly and steadily, going towards the path of perfection (believe it or not..) and Introduction of Groovy, Scala, Clojure (mamma-mia) is a breath of fresh air.... It is being constantly improved, and Java 8 promises a good startup time too. CLR is given a backburner by microsoft.... I see it being used heavily even in the distant future, what about you people?? Mind that I am talking about the platform only. Java sucks(For hackers only!) , JVM Rocks!! (for everybody) <comment><USER2> Well it has some big challenges:

* Its ability to take advantage of multi-core (good support coming in with Java 8 - 2013) * Its large footprint (to be sorted out in Java 9 - 2015) * Its ability to multi-tenant and have shared memory space etc (for cloud, this improving steadily over time). * Polyglot programming improvements (it's fairly easy to interop with Javascript, Clojure, JRuby, Scala and Groovy today but there are ways to go - chances are Java 9 will bring major improvements here as well).

However, it's got an _awful lot_ going for it so as long as it adjusts to meet the challenges I see it staying as a major VM (if not the dominant one). It's move into the cloud space over 2012 is a clear indicator that it's here to stay.</comment>


MMIX 2009: A RISC computer for the third millennium (2011) - <AUTHOR> http://www-cs-faculty.stanford.edu/~knuth/mmix.html <comment><USER2> " The original MIX computer ran fine without an operating system. You could bootstrap it with punched cards or paper tape and do everything yourself. But nowadays such power is no longer in the hands of ordinary users. The MMIX hardware, like all other computing machines made today, relies on an operating system to get jobs started in their own address spaces and to provide I/O capabilities.

Whenever anybody has asked if I will be writing a book about operating systems, my reply has always been ``Nix.'' Therefore the name of MMIX's operating system, NNIX, should come as no surprise.

From time to time I will necessarily have to refer to things that NNIX does for its users, but I have no intention of building NNIX myself. Life is too short. It would be wonderful if some expert in operating system design became inspired to write a book that explains exactly how to construct a nice, clean NNIX kernel for an MMIX chip. The MMIX fascicle includes a level-50 exercise that asks a highly motivated reader to ``Write a book about operating systems, which includes a complete design of an NNIX kernel for the MMIX architecture.'' Other alternatives are also possible; for example, somebody at the Free Software Foundation might decide to come up with an alternative system called GNNIX. "

<comment><USER3> > " The original MIX computer ran fine without an operating system. You could > bootstrap it with punched cards or paper tape and do everything yourself. > But nowadays such power is no longer in the hands of ordinary users. The > MMIX hardware, like all other computing machines made today, relies on an > operating system to get jobs started in their own address spaces and to > provide I/O capabilities.

Unikernels come back to that, to an extent, what there is of the OS is part of the application, and IO capabilities are provided by libraries linked into the unikernel application. As always, the issue is having IO drivers for the hardware in a form which can be used.

</comment></comment><comment><USER4> If you're interested in designing a RISC processor in software, Knuth's full book on MMIX is an interesting and complete read. I am not referring to the short version published as part of Volume 1 the revised TAOCP, but the full exposition in his book from Springer-Verlang. [1]

There he explains the CPU, the memory management, the instruction pipeline. And he builds the assembler for the machine. He worked with David Patterson (of MIPS fame) on the architecture.

As to the implementation, Knuth once commented that the coding of the instruction pipeline for MMIX was the hardest programming he'd ever done.

Cool stuff!

[1] [http://www.springer.com/gb/book/9783540669388](http://www.springer.com/gb/book/9783540669388)

</comment><comment><USER5> The 2009 figure is not the year, but a result (the PDF [1] has the Copyright set in 1999)

(Cray I + IBM 801 + RISC II + Clipper C300 + AMD 29K + Motorola 88K + IBM 601 + Intel i960 + Alpha 21164 + POWER 2 + MIPS R4000 + Hitahi SuperH4 + StrongARM 110 + Sparc 64) / 14 = 28126 / 14 = 2009

[1] [http://mmix.cs.hm.edu/doc/fasc1.pdf#page=7&zoom=auto,-250,56...](http://mmix.cs.hm.edu/doc/fasc1.pdf#page=7&zoom=auto,-250,562)

<comment><USER6> Read the next sentence :)

<comment><USER7> TIL deep linking URL syntax for PDFs in Chrome, thanks!

<comment><USER5> "The same number may also be obtained in a simpler way by taking Roman numerals."

</comment></comment></comment></comment><comment><USER8> The names of the machine's primitive data types are interesting, and refreshing if you're tired of the more well-known ones. These are the load instructions, for reading data from memory:

        Load a Byte           LDB $X,$Y,$Z
        Load a Wyde (2Byte)   LDW $X,$Y,$Z
        Load a Tetra (4Byte)  LDT $X,$Y,$Z
        Load an Octa (8Byte)  LDO $X,$Y,$Z

I thought the "wyde" in the instruction set reference was a typo, until I saw that it was used all over the place. :)

I guess it's better (less ambiguous) than "word", "long", "double word", and so on.

<comment><USER9> "Two bytes makes one wyde."

Can't remember where I heard/read that, but it's classic Knuth humor :).

</comment></comment><comment><USER10> See:

       SYNC   SWYM

in last opcode row. :)

<comment><USER11> And

       GET TRIP

next. :-)

</comment></comment><comment><USER12> I find Knuth's idea fascinating. The fashionable languages come and go, but facts about how machine works does not change much, probably will not in the future.

<comment><USER13> I would disagree: just compare MIX with MMIX.

MIX is a 6-bit/2-digit hybrid binary/decimal sign-magnitude machine, typical of 50s-60s machines. MMIX is a 64-bit binary big-endian RISC with 256 windowed registers that resembles a hybrid of SPARC and MIPS, with all the traits of that 90s "RISC dream" that never really went anywhere.

If he were to design it today, it would probably look more like a mix of x86 and ARM.

<comment><USER3> > If he were to design it today, it would probably look more like a mix of x86 > and ARM.

Why bother basing a _new architecture_ on x86 when it's generally considered the worst ISA in history (with some boosting TI's TMS9900 instead)?

x86's advantage is basically its continuous dominance and compatibility with itself which managed to thwart even its original designer's attempt to displace it[0], but you won't get that by basing a new incompatible ISA upon it, so there's really no point in doing so.

[0] Linus made that point reasonably clearly in a 2016 PCWorld interview: [http://www.pcworld.com/article/3129300/linux/why-linux- pione...](http://www.pcworld.com/article/3129300/linux/why-linux-pioneer- linus-torvalds-prefers-x86-over-arm.html)

> What matters is all the infrastructure around the instruction set, and x86 > has all that infrastructure... at a lot of different levels

> I've been personally pretty disappointed with ARM as a hardware platform, > not as an instruction set […] As a hardware platform, it is still not very > pleasant to deal with.

And this is a lesson he learned: while originally interested in the Acorn Archimedes (which wasn't a great success) he went with the Sinclair QL (which outright failed) and…

> Finland wasn't the center of the universe back then, after that, I learned > my lesson: never ever go buy into something that doesn't have > infrastructure.

<comment><USER14> If I were designing something today, something clean, I'd give a really good look at just cleaning up x86_64. AMD64 did some of that.

What is RISC-V but a cleaned up RISC, omitting the architectural mistakes of previous RISCs (branch delay slot (MIPS), register windows (RISC-1), tagged integers (SPARC), ...). It has a place.

A cleaned up x86 would definitely have a place. The idea of parsing a CISC instruction and translating+caching the result as a micro-op has worked, flat out worked. Worst ISA in history? I think not. Most successful ISA in history.

Still, Intel really needs to do what ARM has done. Clean up their act. Itanium was _changing_ their act. It kinda reminds me of the scene in _Spinal Tap_ where they introduced the _new direction_. Intel just needs to get rid of their cruft, seriously needs to get rid of their cruft because ARM is a threat and ARMv8 is a weapon. The x86 tax helps prevent competitors in their space (as per their threats to Microsoft) but ARM isn't in their space; they're next door.

</comment></comment></comment></comment><comment><USER15> I've always wanted to implement the MMIX processor using this:

[http://github.com/burtonsamograd/anser](http://github.com/burtonsamograd/anser)

</comment><comment><USER16> So is there any work on making an FPGA implementation of this?

</comment><comment><USER17> How do RISC architecture designers deal with the problem of low code density when modern chip technology makes RAM access considerably slower than anything that happens inside the CPU? One answer could be to have a huge instruction cache, but I doubt that it is economically possible.

<comment><USER18> As far as I know, the two major approaches are

1) Caches

2) Supporting a "compressed" variant of the instruction set (ARM Thumb, MIPS16, RISC-V Compressed). This can be put together by using the same field for target and destination registers, shrinking the set of named registers, making shifts and conditions into explicit instructions instead of fields (for ARM), and similar tweaks.

</comment></comment><comment><USER19> Anyone know the status of vol 4 and "ultimate edition" of vol 1-3?

<comment><USER20> Vol 4A was published in 2011: [https://www.amazon.com/Art-Computer- Programming-Combinatoria...](https://www.amazon.com/Art-Computer-Programming- Combinatorial-Algorithms/dp/0201038048/)

Vol 4B was partially published in fascicles: [https://www.amazon.com/Art- Computer-Programming-Fascicle-Pre...](https://www.amazon.com/Art-Computer- Programming-Fascicle-Preliminaries/dp/0134671791/) and [https://www.amazon.com/Art-Computer-Programming-Fascicle- Sat...](https://www.amazon.com/Art-Computer-Programming-Fascicle- Satisfiability/dp/0134397606/)

Instead of the ultimate edition of vols 1-3, so far we've got a "patch" by Martin Ruckert who coordinated the volunteers: [https://www.amazon.com/MMIX- Supplement-Computer-Programming-...](https://www.amazon.com/MMIX-Supplement- Computer-Programming-Volumes/dp/0133992314/)

<comment><USER19> Thanks for the pointers.

This [https://cs.stanford.edu/~uno/taocp.html](https://cs.stanford.edu/~uno/taocp.html) seems up to date.

</comment></comment></comment><comment><USER21> The issue i have with Sedgwick, cormen et al is they ignore hardware. Is Knuth really better?

How is the cache heirachy different in MMIX as compared MIX?

<comment><USER22> What hardware should they base their book on? Would it be universally applicable? Should they drop down to assembly level (as Knuth has) or stick to some higher level language?

Their choice of using a pseudocode allows the algorithms they discuss to be accurately and completely specified, while leaving the implementations up to specific platform (hardware and language) developers and users.

</comment></comment><comment><USER23> MMIX was such a stupid idea by an otherwise genius person. So much effort and knowledge was put into TAOCP and yet it's wasted on the vast amount of people who aren't interested in learning a fantasy assembly language.

I can't really fault Knuth for the original MIX. I mean, it _was_ written in the 1960s; a time when programming languages barely existed. But by 2009 it should be clear to everyone that C derivatives are here to stay, and that assembly programmers are dying off. Creating yet _another_ fantasy assembly language in the year 2009 was just stubborn and dumb.

<comment><USER24> That's like, just your opinion, man. There's always going to be that lowest level before 1s and 0s. (I say this as I'm curious if this assumption of mine is actually out of date at this point.)

<comment><USER25> Not really, and the hardware is getting more complex all the time. A modern CPU is like a probabilistic OS nowadays...</comment></comment></comment>


Troubleshooting slow boot performance in Windows - <AUTHOR> http://www.joedissmeyer.com/2012/11/troubleshooting-slow-boot-performance.html

<comment><AUTHOR> There are a large amount of enterprises, businesses, universities, and other entities that are having serious issues with boot performance on their Windows 7 and Windows 8 computers. This article is at least a starting point to help out the I.T. technicians tasked to fix the problem.

<comment><USER2> We dont get this. All our desktops are left on 24/7 and laptops are hibernated.

I don't get the obsession with boot times - its a rare occurrence.

<comment><USER3> I've worked at places that had it as part of their environmental/energy-saving policy that you must turn off your computer when you leave. I could often turn on my computer, get a cup of coffee, and finish drinking said cup of coffee, before my computer was in a state where I could get work done.

<comment><USER2> That's a bit silly. There are a couple of things to consider:

1\. ACPI power saving modes draw very little current. As long as your computer is configured to drop to that, it's fine. It will resume within 1-2 seconds as well.

2\. There are companies which have software which manage this and power your workstations up before you get in and down after you've left.</comment></comment></comment></comment>


Dear Uber Recruiter - <AUTHOR> https://medium.com/@tessr/dear-uber-recruiter-7f5f9b304662#.ynxamugyh <comment><USER2> I don't understand, what is this article about? is the author mad that someone emailed them about a position at uber or was this soliciting customers? Also is there any validity to the tweets in this post?</comment>


Show HN: Add gestures to a web app in 2 minutes - <AUTHOR> http://kinesis.io/blog/touch-effect-demo-add-gestures-to-a-web-app-in-2-minutes/

<comment><AUTHOR> Kinesis is native framework that lets you use your existing web languages and skills to build gesture, speech and 3D depth modeling based applications using Kinect. We focus on building a simple, powerful, new interaction platform so that you can focus on bringing your applications to life.

</comment><comment><USER2> I have used this library for a demo I did. Works really well.

<comment><AUTHOR> It would be great to see what you built with it. A video would be cool

</comment></comment><comment><USER3> Checkout the demos at <http://kinesis.io/demos>

</comment><comment><USER4> Looks really cool. Will definitely try this out.

</comment><comment><USER5> This is awesome! The demo looks really cool.

<comment><USER3> Thanks for your feedback! Well, do try out the framework as well, it's simple to integrate. We would need your feedback on that front as well.

</comment></comment><comment><USER6> Clever! Can't wait to try it out...

</comment><comment><USER7> This has great potential.

<comment><USER3> Thanks for your appreciation! Did you check out our demos? <http://kinesis.io/demos>

</comment></comment><comment><USER8> this is cool

<comment><USER3> Hey you can make something cool on top of kinesis and give us your feedback.</comment></comment>


Ask HN: What kind of jobs only work 40 hours a week? - <AUTHOR>

I'm looking for a job that has a good work life balance. So that I can work on side projects and pursue my hobbies. I also need time off to recharge and travel and I have found that companies that offer "unlimited" vacation really offer no vacation, because everyone is too afraid to take time off.<p>So my question is what kind of jobs/companies in a major city like SF only expect you to work 40 hours a week with guaranteed vacation time? And how do I present this question while interviewing without sounding lazy or not "passionate"? <comment><USER2> SAP has offices in Palo Alto. Like most large corporations, 40 hrs is the norm. When I was there, vacation was determined by tenure. 3 weeks to start, 4 weeks after 3 years, and 5 weeks at some point.

And they definitely encourage vacation. For accounting it's considered a debt, so they want everyone to use it up to improve financial results. I imagine most public corps have this attitude as well.

As far as asking and not sounding lazy in interviews, I tend to ask something like "What's life like working here?". In one of the interviews you're sure to find someone who will give you a candid answer and you can segue into more direct questions if it feels right.

</comment><comment><USER3> Work for a european based software company. Very different culture around vacation.

<comment><AUTHOR> That would be great. Do you know any efficient way of finding these positions in SF? I just searched the handful of European companies I know of and they don't have any listings in SF.

Also I don't necessarily need as much vacation as Europeans get, just a few weeks a year that I'm actually encouraged to use would be fine.

</comment></comment><comment><USER4> Our company, wwwh.com pratices a strict 40 hour work week + we have real vacatoin + we are 100% remote so we don't care where you travel to. Shoot me an email at firstname.lastname@example.com

We don't hire in SF though as the cost of salaries there isn't worth it for us when we can hire anywhere globally. But, if you are interested in moving let us know. Thanks, Ben

</comment><comment><USER5> on off the cuff comment: try targeting Aussie or Kiwi companies - we've got our share of workaholic nutjobs and there is probably a bit of selection bias but it's culturally acceptable to want a couple weeks off in summer (which is our xmas period so it's a natural fit). i know a few NZ start-ups are quickly landing in SF to access capital/growth and Sam Altman was in Auckland a month or so back so it's not as though it's a step down the credibility ladder. NZ govt sponsors a Kiwi landing pad/hub in SF somewhere, that might be a good way to start [1]. Aus probably does something similar.

[1] [http://kiwilandingpad.com/](http://kiwilandingpad.com/)

</comment><comment><USER6> You'll probably have decent results with non-tech companies. I work for a large bank in SF and the work life balance is excellent, straight 9-5 job.</comment>


Overstock CEO resigns after 'deep state' comments - <AUTHOR> https://techcrunch.com/2019/08/22/overstock-ceo-resigns/ <comment><USER2> I am extremely confused:

> Starting in 2015 I (operating under the belief that I was helping legitimate > law enforcement efforts) assisted in what are now known as the 'Clinton > Investigation' and the 'Russian Investigation' (in fact, I am the notorious > 'missing Chapter 1' of the Russian investigation)," he wrote, going on to > say that this was "the third time in my life I helped the Men in Black."</comment>


Show HN: Lunar lander-type game with computational fluid dynamics - s-macke https://github.com/s-macke/Interplanetary-Postal-Service/ <comment> s-macke Author here. It started as a technical demonstration for fluid dynamics in the web browser. Then I saw the js13kgames competition and the decision was made to make a game out of it. A game in which the fluid mechanic counts. The decision for the Lunar Lander genre then was quiet easy.

Does someone know more games then the two I mentioned in the README (Plasma Pong and Pixeljunk Shooter) with more or less realistic fluid dynamics?

<comment><AUTHOR> Vessel ([https://store.steampowered.com/app/108500/Vessel/](https://store.steampowered.com/app/108500/Vessel/)) and more recently Claybook ([https://www.claybookgame.com](https://www.claybookgame.com)) come to mind. They both use SPH fluids afaik. The upcoming Noita ([https://store.steampowered.com/app/881100/Noita/](https://store.steampowered.com/app/881100/Noita/)) has some particle based fluids. Tommy Referenes (Super Meatboy programmer) was working on an unreleased game called Goo ([https://vimeo.com/1793371](https://vimeo.com/1793371)). Also Riders on a Storm ([http://www.the2bears.com/?page_id=652](http://www.the2bears.com/?page_id=652)) a fluid dynamics shmup inspired by Plasma Pong.

<comment> s-macke This is great list. Thank you very much. I added most of the games. It is precisely through this post that I have a strong desire to follow your postings,blogs,.... Unfortunately there is no button for that.

How did you find these games?

</comment></comment></comment><comment><USER2> This is great - especially the pixel-perfect collision detection. But honestly, these colonists don't really deserve mail service if they insist on building their cities in such difficult environments.

<comment><USER3> Don't knock it, that volcano mine pays the bills.

</comment></comment><comment><USER4> Very nice.

Has anyone made fluid dynamics sailing game yet?

You would need only two controls, trim and rudder (direction instead rudder might be easier to comprehend). Wrong trim and point of sail could broache or even capsize the boat. Oh, and you could add not just the winds but the sea currents and waves also.

Now I'm salivating.

<comment><USER5> I suspect 3D fluid dynamics gets a lot slower a lot more quickly

<comment><USER4> You don't need 3D fluid dynamics for 2d sailing game.

You would have 3 separate 2d layers for wind, sea currents and then wave layer. The waves don't have to follow the wind, but they they could have specular reflection from the land. It would make sailing in complex archipelago or narrow choke points more realistic.

<comment><USER6> but how will it know if my sailing by the Lee is faster than the waves?

and I'll lose out of surfing!

</comment></comment></comment></comment><comment><USER7> Awesome!

I encourage you to add it to the science-based games list [https://github.com/stared/science-based-games- list](https://github.com/stared/science-based-games-list)

<comment> s-macke Thanks stared. I forked the repository and will make a pull request. Also I have seen your quantum game project.

<comment><USER7> Added!

Nice to hear that, BTW.

For this game - any idea to expand it? I finished 8 levels in one go, and it seems that there is a lot of potential for even more challenging currents, whirlpools, floating pieces, etc.

(Side note: mechanic-wise this game reminds me of UGH!: [https://classicreload.com/ugh.html](https://classicreload.com/ugh.html))

<comment> s-macke I definitely have too many projects to tell you for sure. Just look at the two sites [1] [2] and you know what I mean. I have as many projects in the backlog as you can see on these 2 pages. And actually I don't want to concentrate on one. The motivation changes about every month, because I do this in my spare time. And from time to time a project has a status where I can publish it.

So at the moment my motivation for this game is to add more realistic physics for the ship (turns instead of right and left) and a level editor to learn Vue. Then just look at the other comments. You see a lot of great ideas.

But building a 13k game next year based on the Voxel Space Engine is also in my head :-)

[1] [https://simulationcorner.net/](https://simulationcorner.net/)

[2] [https://github.com/s-macke/](https://github.com/s-macke/)

<comment><USER7> I see (and emphatize with!) too many projects and ideas.

As a side note, I am learning Vue.js right now (my motivation: brining deep learning to the browser, with nice, modular interfaces: [https://inbrowser.ai/](https://inbrowser.ai/)).

</comment></comment></comment></comment></comment><comment><USER8> > the result varies depending on the FPS and your actions.

you should try to decouple physics simulation from your rendering code. (i.e. pass a constant/fixed dt to your simulation step). simulation should not depend on framerate.

<comment><USER9> But with a chaotic system like fluid dynamics, you wont get the same behaviour each time even if you do stuff like pass delta-t to the simulation. Sensitive dependence on initial conditions, and all that chaos theory stuff comes in to play.

That is, two run-throughs with very slightly different delta-t's will give different outcomes.

<comment><USER10> There's a difference between "numerical stability issues introduce small chaotic perturbations" and "the game is literally unbeatable if you play on platform X because the physics step doesn't properly scale Y to framerate and a trivial conservation-of-energy analysis yields an impossibility result for level 3".

</comment></comment></comment><comment><USER11> It would be nice to have a vertical speed indication in the ship or nearby. Perhaps some semaphore like lights in the bottom of the ship. It's difficult to look simultaneously at the ship position and the speed indicator.

Also, sometimes adding an official name for each map somehow make the game look better. Nice game, I must try again because I lost all my ships in the "volcano" level.

Edit:

Putting the light to show the vertical speed in the landing pad may make more sense in universe.

Also, the buildings look very similar to the old gorilla.bas game :).

It would be nice to be able to disable the simulation in the introduction and final screen, so I can keep the page open to play later, without using too much battery.

<comment> s-macke Thanks for the tips. There are always ways to improve the gameplay. I had still 2-3kB left at the end.

When I designed the buildings I thought actually about "Save New York" on the C64.

[https://www.youtube.com/watch?v=ZMUvi6UIV3w](https://www.youtube.com/watch?v=ZMUvi6UIV3w)

<comment><USER12> I was reminded of 'space taxi' (which I guess was just a lunar-lander variation, come to think of it).

"pad 5 please"

<comment><USER13> "Up please!" \- Yup. What a blast! [https://www.newgrounds.com/audio/listen/277378](https://www.newgrounds.com/audio/listen/277378)

"Space Taxi" added a bit more depth to the lunar lander concept by adding multiple pads and various vector fields for gravity to act in. Some game modes would accelerate you not downwards but instead towards the center of the map, away from it or around the center in a circle some way. Quite the brain-teaser for my kid brain back then that hadn't previously been exposed to physics/maths like that.

</comment></comment></comment></comment><comment><USER14> Genuinely interesting as a game, there's potential for interesting level designs.

A hardcore mode would be rotating the ship instead of it always staying upright—like in Atari's version: [http://moonlander.seb.ly/](http://moonlander.seb.ly/)

<comment> s-macke Exactly. This is at the moment nothing more than a nice technical demonstration. Actually my initial code implemented already mechanics for rotations. But then I skipped this feature for this entry. I was afraid the game gets too hard for landing.

<comment><USER15> It's definitely fun as-is, maybe slightly too easy for long-term playability. I suspect rotation would make it brutally hard and less fun. Nice work!

</comment></comment></comment><comment><USER16> This is great! I would love love a boat maneuver game with the same engine. A killer simulator would be one that takes into account wind and current, single vs multi-engine, bow thrusters, prop walk, etc.

Note that this is different from the sailing suggestion below, which has all kinds of three dimensional aspects to. Purely thinking about e.g. docking where all the controls you have is thrust and rudder.

</comment><comment><USER9> This is brilliant.

One of my favourite games growing up was Thrust on the BBC Model B. Had directional velocity and towing mechanics, which was pretty good for the time.

[https://www.youtube.com/watch?v=Dt44PEIWBRg](https://www.youtube.com/watch?v=Dt44PEIWBRg)

<comment> s-macke I played this game too. And I was close trying to implement such a game. But then my fluid grid would be much much larger and the game much slower. I thought about adaptive grids. Fine on the viewing screen and coarse outside. But to implement this would have taken me too long for this game entry.

</comment></comment><comment><USER17> Am I the only one experiencing a game-breaking bug/behavior?

The D thrust gets stuck on if you press it once, and randomly the W comes on and gets stuck too.

Also, after the first ship, every additional ship starts with W and D thrusts on, permanently.

<comment> s-macke This happens to me when I use the Internet Explorer. My best guess is, that the problem is, that the game tries to use all the computing power available. The game does use the "setTimeout(Loop, 0)" trick to accomplish this. Usually there is no problem if the event queue is a queue. Then the setTimeout function is the last one in the queue and keypresses are handled first. If the events are handled differently, for example by using a stack, such games are in big trouble.

</comment></comment><comment><USER18> Fantastic game! Can anyone recommend any books/courses on how to make simulations/games like this?

<comment><USER19> "Fluid Simulation for Computer Graphics" by Robert Bridson would be my suggestion for getting started with grid-based methods. The SIGGRAPH course notes on his website are very similar to the 1st edition. [1] It's no longer the state of the art (which is probably APIC), but the new methods are all based on the same fundamentals.

Particle-based methods like Smoothed Particle Hydrodynamics (SPH) are simpler to implement and are more intuitive than grid-based methods, but they're also harder to analyze mathematically. SPH is the method used by PixelJunk Shooter. "Fluid Simulation for Video Games" by Michael Gourlay is mostly about a different fluid technique (vortons), but does include SPH. [2]

[1]: [https://www.cs.ubc.ca/~rbridson/fluidsimulation/](https://www.cs.ubc.ca/~rbridson/fluidsimulation/)

[2]: [https://software.intel.com/en-us/articles/fluid- simulation-f...](https://software.intel.com/en-us/articles/fluid-simulation- for-video-games-part-1)

</comment></comment><comment><USER20> This game was brilliant fun, just got over 12k after playing it over and over again. It really reminds me of white water rafting, you really can move very efficiently, quickly and with little thrust if you properly read the course. Simple game, but great depth.

</comment><comment><USER21> This is great! I made it all the way to 8, but couldn't win :)

I like the idea of having to examine wind streams to plot your way through the map. This is an awesome tech demo, would be keen to see something more polished & fleshed-out.

<comment> s-macke There is a trick in level 7. You have to do something counterintuitive.

<comment><USER22> Ok, I'll bite, what? I just do the obvious, drop fast from left to right. That way you can cross without being forced off the top of the screen.

<comment> s-macke Ok, then the obvious solution is my counterintuitive one. You have to cross where the wind is the strongest at the bottom. As fast as possible of course.

</comment></comment></comment></comment><comment><USER23> Very cool :-)

Regarding usability: I keep getting confused by the controls: indicating where you want to go vs which thruster to use. Back in yonder days I used to play Lunar Lander on Windows ([https://en.wikipedia.org/wiki/Lunar_Lander_(video_game_genre...](https://en.wikipedia.org/wiki/Lunar_Lander_\(video_game_genre\))) but there the controls indicate which rocket you're firing: down for going up, left for going right, etc.

</comment><comment><USER24> Can you explain the expf_fast function?

<comment><USER25> Looks like it's from here [https://github.com/ekmett/approximate/blob/master/cbits/fast...](https://github.com/ekmett/approximate/blob/master/cbits/fast.c#L103-L109), there's an explanation here [https://nic.schraudolph.org/pubs/Schraudolph99.pdf](https://nic.schraudolph.org/pubs/Schraudolph99.pdf)

</comment></comment><comment><USER26> Really cool and fun game. I really wish there were more levels!

Also, like some people suggested, it'd be nice to have an option for running the game at a higher speed.

</comment><comment><USER27> Oh, despite it's not a "real" modern game a big prize! Games can be nice teaching solution, if well done and still being fun.

</comment><comment><USER28> Cool!

Can it run faster? This might need more roomy levels and stronger thrust, but faster speed would mean more feedback for a better feel of the physics.

<comment> s-macke On my computer the game runs at 40 FPS. So there is still room and I can increase the timestep if you want. This game simulates the Navier-Stokes equation on a grid of the size 256x128. Four times the size would already reduce the game to 10FPS or even more. Of course you can try to rewrite it to run on the GPU. An alternative would be to use so called Smoothed Particle Hydrodynamics. This is particle and not grid based. But this technique has other drawbacks.

<comment> s-macke I increased the timestep by a factor of two. Have fun

[https://simulationcorner.net/js13kgame/](https://simulationcorner.net/js13kgame/)

<comment><USER29> I love the faster one. Grabs much more attention. Great game! A satisfying thud on touchdown would be nice. (OT: this was the very first lunar lander I played on my father's ZX81: [https://www.youtube.com/watch?v=jlS3fr3t4Fg](https://www.youtube.com/watch?v=jlS3fr3t4Fg))

</comment></comment></comment></comment><comment><USER30> Beautiful! Great job.

Lander used to be the first game I would program when I got a new computer as a kid. I remember writing it for the TI-99/4A, Commodore 64, and the Amiga 500 (in Modula 2). Your game brings fond memories of those simpler times.

Amazing what you can do these days with the tremendous speed of computation available on modern hardware, even with the js13k constraints.

</comment><comment><USER31> Very cool and great use of webassembly. Bug report: if you get low enough in the last level and thrust upwards, the black smoke somehow mixes with the purple smoke outputs and they start instead covering the screen in black smoke.

[https://i.imgur.com/vHOrBWm.png](https://i.imgur.com/vHOrBWm.png)

<comment><USER32> I also had problem with the last level - on the several attempts I had left, after about 10 seconds the sim would seem to bug out and it looked like there was a very, very strong wind along the bottom, which looked like it was friction-pulling the rest of the play area so that everything was blowing fast to the left, leaving it (apparently) unplayable.

Good fun, otherwise.

<comment> s-macke Damn. I thought I have solved this issue. But why does it work for most other players?

<comment><USER33> I ran into this as well. Here's a video: [https://youtu.be/SomX22VGHHc](https://youtu.be/SomX22VGHHc)

It doesn't always happen for me. Here, I had to play through the game several times before I could get the bug to trigger.

</comment></comment></comment></comment><comment><USER34> Really cool!

Similar but to be solved programmatically is the codingame.com marslander.

[https://www.codingame.com/training/expert/mars-lander- episod...](https://www.codingame.com/training/expert/mars-lander-episode-3)

Good luck on the 2018 js13kgames competition!

</comment><comment><USER35> After playing for < 10 minutes it started getting noticeably slower and my MBP Retina was spinning up its fans. I am using latest Chrome. Is this a sign that web games are not yet ready - or simply that either the game isn't optimized enough or perhaps even that Chrome is a poor choice for browser games?

<comment><USER36> Very likely started thermal throttling because apple is notorious for not putting adequate cooling on their mac books.

This game uses fluid dynamics calculated in real time, i don't think its designed to be super optimized but rather super true to physics. Most of the time game optimization involves cheaping some of the complex calculations to be less accurate but still "good enough" see [https://en.wikipedia.org/wiki/Fast_inverse_square_root](https://en.wikipedia.org/wiki/Fast_inverse_square_root) for an example.

In other words you'll run into this issue any time you do anything taxing for more than 10 minutes on a mac book.

</comment></comment><comment><USER37> Ah, this brings back memories of a space landing remake game I made back when I was learning Java applets (c. 2007).

[https://github.com/celwell/space-landing](https://github.com/celwell/space- landing)

</comment><comment><USER38> [https://i.imgur.com/EksA6Rw.png](https://i.imgur.com/EksA6Rw.png) Woo! +1 to the comment about larger levels. Though I'm only getting about 20fps on my laptop as is. Multi-core? GPU? Awesome little game, in any case!

<comment><USER39> Finished with 6128 points here with only 1 ship left. That was a close one.

Great demo. I'd love to see this fleshed out. I think a lot of the older games had seriously good playability and deserve to be revisited.

</comment></comment><comment><USER40> 7867 points. Great game!

I would recommend that in a future version the craft is actually rotated by the "air" too for extra challenge, perhaps having rockets that rotate left and right and make the downward facing rocket more powerful to compensate.

</comment><comment><USER41> Does not work in Firefox 60.2.0esr. Worked fine in Chromium (10004 Points, died once).

<comment><USER42> Works for me (tm) in Firefox 61.0.1 (64 Bit, Linux)

<comment><USER43> Not working in Firefox 60.0.1 (64 Bit, MacOSX). The game runs, but the lunar lander blows up instantly when the game starts. The audio is only in the left channel, but works, as does the space bar toggle for sound on/off, and the explosion uses fluid dynamics which are working.

</comment></comment></comment><comment><USER44> Awesome! Couldn't win yet, but I'll keep trying :)

On a more technical note, I wonder if you could use a Lattice-Boltzman-based flow simulation instead of classical CFD. Could be faster depending on "grid" size.

Great, great job!

<comment> s-macke Not sure. Can you point me to a basic implementation in Javascript, C or Fortran?

<comment><USER44> From a quick search, there are quite a few on Github. Can't point to a specific one, though. I implemented a very basic 2D version on one of my MSc classes, and although we used MATLAB, it was quite fast depending on grid size/fluid properties.

</comment></comment></comment><comment><USER45> I died in the last level, in the last life on the platform but with high speed :(

</comment><comment><USER46> More levels please! ;-)

<comment> s-macke I want to learn Vue or React. So you might get a level editor at some time.

</comment></comment><comment><USER47> About 30 FPS on a 13" 2015 MacBook Pro, 3.1 GHz i7, Chrome 69, and full screen 1200p.

I had a blast and really enjoyed the game. :)

</comment><comment><USER48> I just keep exploding no matter how slowly I reach the landing pad :(

Any tips of what am I doing wrong?

<comment> s-macke Do you see the green bar on the speed indicator on the right side?

<comment><USER48> Yes, every time I land with the white bar inside the green area, it explodes.

<comment><USER48> I opened it on Firefox and everything worked out fine.

I realized that on Chrome all the graphics were weird. No colors on the home page, I couldn't see the windows at the buildings. Maybe there is something not rendering right in Chrome.

I use Chrome Version 60.0.3112.113 (Official Build) (64-bit) on Fedora 25

<comment><USER49> I also had it work better in Firefox for some reason. I tried it in Vivaldi and it ran at ~6 FPS while in Firefox ~60 FPS.

</comment></comment></comment></comment></comment><comment><USER50> How the heck are you supposed to beat the last level?

<comment> s-macke You have to fly to the top left. Then fall down. But immediately after you have started falling you need all your thrusters to stay on the line and land safely.

</comment></comment><comment><USER51> Wonderful game!

</comment><comment><USER52> 8962 points :)

</comment><comment><USER53> thanks for sharing!</comment>


Sega 3D Classics: 3D Fantasy Zone II Interview - <AUTHOR> http://blogs.sega.com/2015/04/13/sega-3d-classics-3d-fantasy-zone-ii-interview-part-1/

<comment><AUTHOR> The folks at M2 [[http://en.wikipedia.org/wiki/M2_(game_developer)](http://en.wikipedia.org/wiki/M2_\(game_developer\))] have done some amazing work lately on taking old games and moving them to the Nintendo 3DS while also adding features (including, of course, 3D!). The level of craftsmanship and devotion is inspiring and their respect for these old games is infectious.

For this game, they actually made a new version of an old game that runs on better hardware (still vintage, though!) than the original version did.

Lots of other interviews in this series: [http://blogs.sega.com/2015/01/23/sega-3d-classics- developer-...](http://blogs.sega.com/2015/01/23/sega-3d-classics-developer- interviews/)</comment>