Italian Supreme Court: News "expires", online archives would need to be deleted - <AUTHOR> http://espresso.repubblica.it/attualita/2016/07/01/news/a-ruling-by-the-italian-supreme-court-news-do-expire-online-archives-would-need-to-be-deleted-1.275720 <comment><USER2> "Winston Smith works as a clerk in the Records Department of the Ministry of Truth, where his job is to rewrite historical documents so they match the constantly changing current party line. This involves revising newspaper articles and doctoring photographs—mostly to remove "unpersons," people who have fallen foul of the party. Because of his proximity to the mechanics of rewriting history, Winston Smith nurses doubts about the Party and its monopoly on truth."

[https://en.m.wikipedia.org/wiki/Winston_Smith](https://en.m.wikipedia.org/wiki/Winston_Smith)

<comment><USER3> Thanks for posting this.

Many are also persistently pushing to change what is 'acceptable' vocabulary to change how people think, as Orwell described in the Newspeak appendix.[1]

[1] [https://en.wikipedia.org/wiki/Nineteen_Eighty- Four#The_Newsp...](https://en.wikipedia.org/wiki/Nineteen_Eighty- Four#The_Newspeak_appendix)

<comment><USER4> [http://alexjs.com/](http://alexjs.com/) for example.

<comment><USER5> In 1984 they weren't trying to adjust the vocabulary to be more inclusive and make every feel more comfortable about open discourse in a fully optional way.

They wanted to erase words that could denigrate the party, change the meanings of words that could be used against the party or add new words that could only say good thing about the party.

Things libel laws that stop free speech, how many politicians wiggle through the truth or how people who try to mandate political correct speech like extreme SJWs seem like the problems indicated here.

</comment></comment></comment></comment><comment><USER6> We should just pass a new law called "The right to scrub your public image", which allows you to control how the public perceives you or your company online. If someone says something unflattering about you, you can force them to delete it.

That's basically what all these European "privacy" laws are amounting to.

<comment><USER7> I've always kind of thought a better system would be one that lets you assume a new identity. This is a war that laws won't win. Data will get out, and once it's out, it's near impossible to get back. And people do make mistakes that shouldn't haunt them for the rest of their lives. A better system is one that lets you disassociate with that data.

<comment><USER8> A restaurant could do exactly that. If the negative publicity for something they did only a couple of years ago is too much for them, they could change their name in a heartbeat.

Instead, what they want is to selectively groom what the internet "remembers" about them. Remove the bad, keep the good.

<comment><USER9> There is a local upmarket curry house near me that is quite good and has been around for nearly 5 years winning plenty of local awards for food and service, but on TripAdvisor about 1/5 of the reviews refer to a steak house that was at the same address before this curry house opened. They did not get good reviews and didn't pass health inspections. Even though the curry house changed the owner, name, management, waiting staff, chefs, food sourcing, decor, and menu the reviews are still tied to the address.

Fortunately their newer reviews are so glowing that they still get over 4 stars average and their front window is covered in plaques of their awards and their most recent 5/5 health inspection (in the UK its quite common for restaurants to flaunt their 4/5 or 5/5 health report on their front door as advertising - there is no legal requirement to show it except in the city of Hull where now almost every restaurant now has at least 4/5 rating as a consequence given the death sentence that a something below 3/5 represents).

</comment></comment></comment></comment><comment><USER10> Counter View. I don't expect this to sit well with HN. Is everything to be a sentence for life? I, and the law in many places, don't think that's fair.

Whilst I don't think 2.5 yrs is the right balance, I do think much reporting should expire to an archive. If a restaurant did something wrong 10 years ago, but clean since (that's in the context of the UK with regular, visible, standards checks), who cares about the old offence? If they're still doing wrong they would probably have other, non-expired, offences in the last 10 years.

Here in Europe we have the concept of rehabilitation of offenders. Whilst the UK has a poor reputation for reform (we go for a more US lock 'em up approach), and Gove leaving Justice looks to have put paid to reform for another decade, we have the Rehabilitation of Offenders Act since early 70s. After a varying period past record is considered spent - 2 yrs prison or more is never spent, the rest expire after a period depending on sentence. Fines expire after 7 years I think.

So the stupidity your child gets into at 18, whilst out drinking, doesn't pop up in searches when 30 and applying for jobs. Legally you don't need to mention it again apart from some exceptions like applying to be a judge or joining police.

The internet is starting to make a mockery of that reasonable intent. The law thinks you can become clean, you have been legally for 15 years, but your potential employer finds a BBC page from 1998, and decides to not extend the offer. That's not reasonable either.

Perhaps news should archive in step with laws such as that. Trivia and public order offences expire quickly, 10 year sentences never. Somehow make it a bit less available behind a paywall, or some credentials. I'm talking of _intent_ not practicality. I realise a mirror elsewhere would render that void.

In the 80s and 90s it was only the exceptional who got background searches. Manually by searching through archives. Reporters would dig into some suspect politician only when it was something major. That's _also_ the wrong balance and meant many things that should have been known in the public interest didn't come to light simply because it was difficult to check.

<comment><USER11> It's a tough thing in some cases. When I was in college, it was very normal to print the names of students in the police blotter (e.g. "John Smith, sophomore in engineering, was booked on charges of public nudity on Friday"). The internet existed but Googling things was not a mainstream habit. Nowadays, I think many college blotters anonymize the names, and that feels right to me. We have a right to know what's on campus, but fucking up as a drunk college student shouldn't affect your post-college life.

But an expiry date, if I'm reading this right, of a few years? Many trial processes don't finish up by then. In my journalism class, I force the students to go on Lexis Nexis and find 10-20 articles in the past decade or older that have been written about whatever they're writing about. Primarily to make them realize that whatever they think is new is not new, and to challenge them to pursue a story that looks at the big picture.

Making it harder to find stories in the past only adds to the dumbification and self-absorption of society.

<comment><USER10> The legal expiry timer starts at date of sentence.

A John Smith might end up locally famous for a while, regret those Tequila shots leading to nude in the town square, damaging a statue, and a £500 fine. Some years after the magistrate passes sentence it ceases to exist and he's not obliged to tell. If you get three years for something more serious it never expires. If you're John Smith you're in luck having a common name, but if you have a rare name...

In former years the reporting is in some dusty library or newspaper microfiche archive forgotten until he runs for Prime Minister perhaps.

There's lots of cases where an innocent accused, or sometimes even the victim, can suffer significant reputational damage from a widely reported case. The adversarial system, and occasional trials by media, seems to encourage that.

I don't think having older, expired, reports of more minor offences moved to archive that charges to search, or requires you to have journalism ID or something leads to dumbification of anything. It shouldn't cease to exist, just become far less trivial to get at. More an attempt to restore balance, regardless of practicality.

A bad debt, even a lot of bad debt, expires in 5 or 6 years from your credit report, but a minor offence 20 years ago doesn't?

<comment><USER12> It's much more difficult problem, because reputation damage happens not only as a result of court decision. A politician could say very dumb and offensive things when he was young - should it really affect his political career?

<comment><USER5> Hasn't hurt Trump and he says "very dumb and offensive things" now.

People generally don't care what you did in the ancient past. The only time it matters is when it is a big deal. Like that Republican in the primaries who fabricated an incident involving a knife. Without a public record we wouldn't know.

We need an uncensored public record so we can verify what people say and guide our future decisions.

<comment><USER5> I think people are downvoting me because they don't like the idea that Trump and Hillary are neck and neck in the polls.

I am fairly certain his saying "dumb and offensive things" is a huge part of his success. Where I am Trump has about 60% of the voters. When I talk to people they say they like the idea of the wall or that they do want muslims banned. These are each dumb and offensive and as far as I can tell the reason people in my area support Trump.

Whether or not you support Trump, if you understand what he is saying, they are objectively (or at least not much room for subjectivity) dumb and offensive.

</comment></comment></comment></comment></comment></comment><comment><USER9> This appears to be an overzealous extension of the right to be forgotten.

The right to be forgotten is a debate worth having as there are individuals that may have historical public records that may be false or no longer in the public interest to be so widely available.

E.g: Man falsely but not maliciously accused of rape or murder in press reports and later being exonerated in court without accompanying press report detailing the exoneration, and now finds it very difficult to get a job or start new relationships. Or a business man who filled for bankruptcy 30 years ago who finds search engines return news reports of his bankruptcy as the first and only return on himself and thus makes finding business partners or credit near impossible.

These seem like people who need protection from a age when its far far too easy to get access to the historical public record, but removing a factually true report that is just two years old seems a bit extreme; without knowing the full context.

What the right to be forgotten should be is some kind of mechanism of adding friction back to the process of getting certain kinds of information when it is in the public interest that this information shouldn't be so easy to get at. It should not be about removing public records altogether. How you do that without inadvertently harming the public interest or allowing abuse seems like a pretty hard or impossible problem.

<comment><USER13> I think the "right to be forgotten" should be replaced with the "right to not have old information considered", which is a much better compromise between the public interest and privacy. In your example, a person false accused of a crime wouldn't have the record expunged, but the record would be heavily tagged with notices that it was a false accusation, and it would be illegal to use that information in considering him for a job and it would be a severe breach of social norms to use that information turn him down for a relationship.

<comment><USER14> Considering old information, whether it's relevant or not, is something human psychology does automatically and inexorably. So when you talk about a "right to not have old information considered", you might as well speak of your right to jump off a cliff and soar through the air instead of hitting the ground. These European laws are doing their best to account for the unfair tendencies of human nature, while your counter-proposal isn't really an improvement over the situation we had before.

> "... but the record would be heavily tagged with notices that it was a false > accusation ..."

There's been some literature lately about people trusting their doctors/lawyers/etc. _more_ when that person reveals that they have a conflict of interest. A similar backfire effect could well occur here.

> " ... it would be a severe breach of social norms to use that information > turn him down for a relationship ..."

Oh good. Approximately when can we expect the social norms to change? And are you accounting for the fact that it may happen never?

<comment><USER13> /Noticing/ old information is automatic, but assigning valence to it and having it influence a decision to a significant extent isn't. I might not be able to notice that a person is left-handed, but that doesn't mean I will favor or disfavor them because of it.

> There's been some literature lately about people trusting their > doctors/lawyers/etc. more when that person reveals that they have a conflict > of interest. A similar backfire effect could well occur here.

A file stating that an accusation was false isn't admitting doubts or uncertainty, though, and it's that admission that leads people to trust advisors more when they reveal conflicts of interest. That file is flatly and loudly stating that the accusation was false.

> Oh good. Approximately when can we expect the social norms to change? And > are you accounting for the fact that it may happen never?

Oh good. Approximately when can we expect law to change? And are you accounting for the fact that it may happen never?

</comment></comment></comment></comment><comment><USER15> Be sure to burn all the archived articles in libraries. We wouldn't want pesky expired history changing our minds.

... wait aren't online archives identical to hardcopy archives.... Silly me, they are totally different.

<comment><USER16> I'm not defending the ruling but speed of access does make a qualitative difference with genuine implications.

<comment><USER13> So...make them available only at certain hours and only over a 56k modem?

<comment><USER6> Make it only available to the government. Your average citizen shouldn't have access to so much information; only the government should.

</comment></comment></comment></comment><comment><USER17> So basically, the world is much more peachy and less vile to read about in Italy after 2.5 years. Any economist or business analyst studying the market in Italy now has even less perfect information. Their studies will be based on an alternate, unrealistically positive data and lead to worse outcomes.

</comment><comment><USER18> Would this also include deleting records that this ruling ever took place, thereby nullifying it?

</comment><comment><USER19> Current historians understand the past by, among many other things, reading old preserved documents including old news. Future historians are going to be real irritated if we get in the habit of purging "expired" news. Well maybe not, maybe if we purge it completely enough we won't even have historians in the future :-)

</comment><comment><USER20> When todays news turn into history? Should history also expire then?

</comment><comment> rm_-rf_slash Hilarious, coming from a country where you can't dig a hole without meticulous verification that you aren't going to damage unbeknownst Ancient Greek/Roman/Renaissance artifacts.

</comment><comment><USER21> Also printed ones? Burn all the old newspapers?

</comment><comment><USER22> "He who controls the past controls the future. He who controls the present controls the past."

<comment><USER23> But we've always been at war with the Middle East!

</comment></comment><comment><USER24> People make mistakes.

We have never had the chance to genetically deal with or lived in societies where people don't forget.

And worse, now can in seconds find about your worst. Do you think in 50 years of life you won't make a mistake (Then 30+ years of people knowing about it)

Your small business can be your entire life.

We might not be currently solving this issue properly. But it is still an issue we are going to have to deal with.

<comment><USER25> Complete freedom of communication harms some individuals, but the harms of "right to be forgotten" laws are far greater. No matter how they're tweaked, they must by their very nature punish people for:

1\. …conveying public information…

2\. …that is true…

3\. …to someone who requested it.

Any law of that sort is inimical to free expression and ripe for abuse.

</comment></comment><comment><USER26> Old newspapers don't (generally) disappear completely, they just get scarcer and harder to access. I would expect major newspapers to have complete microfilm/microfiche archives of their entire 20th century runs. I would think major libraries would, too. So getting access to a particular newspaper for an arbitrary date generally involves, worst case, a special trip to the offices of the newspaper or a library in the same city as it.

What would be needed to do something comparable for online papers? Keep them online, but de-list them from search engines? Take them offline, but keep them in offline storage at newspaper offices and libraries?

<comment><USER27> So basically make this information only available to the privileged?

<comment> lloyd-christmas I suffer from the "privilege" of uniqueness. I'm the only person in the world with my first/last combination. There are 12 living people with my last name, none of us share a first name. A few pages into a google search of me returns high school newspaper clippings from 15-20 years ago. An employer doing a background check on me gets my high jump results from 1999 within 5 minutes. Who's privileged, the 100 people who share the same name, myself, or the person trying to find information about one of those 101 people?

I would hope you wouldn't need a golden key to try to track down information, but it would be nice to have my history equally (in)accessible as someone else's.

</comment></comment></comment><comment><USER17> Instead of being delusional about people forgetting our past mistakes, why dont we become a more open society that is less judgemental about past mistakes but conscious in this reality.

</comment><comment><USER28> They should consider going through and cleaning out the libraries every three years since those tend to accumulate a great deal of historical information.

</comment><comment><USER29> What was the case about?

Overall I have some different views about this, and I'm not sure how to react to some of the cognitive dissonance I notice.

On one hand people claim that privacy is paramount, on the other hand they seem to not question what and how becomes a public record, how it is kept and how easily it is accessible.

Overall the tone here seems to be that the "right to know" is as important or even more important than privacy which is a huge cognitive dissonance in my book.

What's worse is that this seem to be a case where privilege prevails, if you are wealthy you can expunge your record the old fashion way - PR and control the news cycle.

If you are not then you are screwed because the 15min of fame are the only thing that the "internet" as a collective seem to care about.

I don't know what happened at the restaurant nor do I know if it was important at the time or if it is still now but relevance can be assigned an expiration date.

The problem is that you can't "update" the internet, a newspaper isn't going to report that everything is nominal and that nothing happens, news by definition are a record of an abnormal event.

I can understand not wanting to have the top result of your restaurant being "4 puppies and a cat found dead, drugs and sign of sexual activity were discovered at the scene" being the top result in Google simply because there has been no "worse" news for the past 2-3 years about the same place.

For the most part I can agree with the concept of having to reevaluate the worth of information at a given time and evaluate does it deem the information "newsworthy" and within the public's right to know, anything else is a matter of historic record and gossip and it can still have effect on you today since no one is looking at the date.

What happens if some one else buys the restaurant? If the case was due to the misconduct of the previous owner should they be forced to change the name? Should the original owner be forced to rebrand just because something shitty happened at the place outside of their control that has no relevance to the performance of the restaurant or the safety of it's patrons today?

Not everything is an important record, saying "you don't know what is important to history" is silly, we can all agree that a war, a presidential election, a huge economic event, a scientific discovery etc. are more important to history than a random local crime or some other misconduct, we can also agree that not having everything available for immediate public access does not equate rewriting history.

Overall the 1984 comments are a bit silly, and are a false equivalency no one is claiming that historic public record should be rewritten, no one is claiming that some information should always be accessible, but claiming that information should be accessible regardless of how much damage vs benefit it does at any given time, and stripping all agency from the individual to control how information is published does not bode well for privacy.

Maybe Facebook should make everything accessible including things you delete, and if you say well Facebook isn't a newspaper then that argument holds less water every day since Facebook is now aggregating and generating news, and if you claim that you as an individual are not a public figure well how famous do you need to be to count as one? own a business? be a mayor? a celebrity? a government official? rich enough?

This is an argument that we desperately need to have and is is a very good sign that this case has been brought up (not necessarily the outcome) because we do need new rules. Being able to effectively "dox" anyone at a push of a button is going to be a big problem, and if you can about privacy and the real definition of it not the current confusion of privacy and secrecy; which is the agency you have to control what and whom you share information with you should care about this, as much if not more than you care about encryption and other technical controls.</comment>


How to use Chrome Developer Tools to beat a prize game - <AUTHOR> https://medium.com/@amyngyn/look-what-you-made-me-do-chrome-b85eb2a90540 <comment><USER2> Actually, we could use the Sybil attack to exploit such reputation-based system.</comment>


How YouTube's recommendation algorithm works if you're not the average user - <AUTHOR> https://www.theatlantic.com/technology/archive/2018/11/how-youtubes-algorithm-really-works/575212/ <comment><USER2> >YouTube has posted a sign outside the bar that says it's not for kids and points to the playground next door, but then they serve anyone who comes in

What exactly do you expect them to do though? The only thing a birthdate selector does is give the web dev a misleading idea that the majority of their users were born on the first of January, 1900.

</comment><comment><USER3> I hate how this article started out as a genuinely interesting, scientific study of a recommendation system, but quickly boiled down to a meager political debate about kids using technology.

<comment><USER4> Uh, did it? I mean, it talked about kids and YouTube in the last couple of paragraphs, which is an aspect to consider, but the rest of the article focused on the study, its limitations and the possible implications.

<comment><USER3> Kinda, the closing remarks were sort of disappointing to me.

</comment></comment></comment><comment><USER5> > Pew found that 64 percent of recommendations went to videos with more than a > million views.

That drives me nuts. I wish Youtube had knobs I could tweak to exclude anything with more than 1000 or whatever views.

I really have no interest in a video that one million Normal People watched.

<comment><USER6> What's wrong with popular videos. There's lots of great content that's not clickbait with a lot of views

<comment><USER7> Most highly popular things are also average things.</comment></comment></comment>


Ask HN: Best CSS layout and widget set combination for desktop style web apps? - <AUTHOR>

I'm leading a small team building out a suite of web apps, in many of which aspects of the design will mimic  traditional desktop app UI patterns - independent scrollable areas, fixed footers, toolbars, complex layouts, etc.
We've built a couple of the more simpler apps using Bootstrap, and while the 'widget' set that the library offers is nice, it doesn't seem like this will offer the layout support that we are going to need in the more complex apps, or will it?
I've looked at Foundation for Apps and that seems promising. I've tried to get Flexbox to play nice with Bootstrap and failed. Grid style sheets looks kinda amazing. I've considered also just going pure Flexbox and rolling our own styling for UI components.
So, what combination of CSS layout approaches and reusable, styled UI widget sets have others had success with for developing complex web apps?
The rest of our front-end tech stack is React/webpack/ES6 (via Babel)
Responsiveness isn't necessarily a requirement but would be a nice bonus. The browsers that we do need to support are IE11+, FF34+, Chrome41+. <comment><USER2> If I were in your shoes I would roll my own, starting with normalize.css and a very simple grid system.

But if you want to use a full framework, i think Foundation for Apps and Kendo are your main options.

You could also use a minimalist framework like PureCSS [http://purecss.io/](http://purecss.io/)</comment>


Ask HN: Why did AirBnB raise $100million? - <AUTHOR>

So by now we've all seen the news that AirBnB has a valuation over a billion dollars, raising $100 million for a website connecting people who want to rent out their space and those that are looking for it.
OK, so they are running a market-place web-site. They hold no inventory, do no physical distribution, and if they ate their own dog food they would have very little overhead.
Now, I know they probably have (plans for) a large marketing team, a dedicated PR team, some engineers, and executive management. But just because they COULD raise $100 million, doesn't mean they SHOULD.
What are they using this money for? Is this considered a 'lean' round given their plans? Why hasn't the coverage of AirBnB gone into more depth of their business plan, or any sort of justification on this valuation and funding?
They may have a good run rate, revenue, etc, but I still can't see a clear reason a web-site would need to raise that much money in one go.
Is there anyone else who knows more behind this deal? With the recent IPOs, and Techcrunch already covering AirBnB-like verticals, I think understanding the drive behind the money (if any) is valuable for everyone in the industry to keep their head on straight... <comment><USER2> Marketing. They need more inventory IMO. Many of my favorite destinations are sorely lacking in AirBnB rentals.

</comment><comment><USER3> They need lot of cash in hand to spread wider & penetrate the hotel market; and probably to fight enough lobbying groups that might resist such large scale disruption of market.

</comment><comment><USER4> So far they acquired a Germany based competitor to start their european HQ. Guess the next closest step will be expanding in EU market.

</comment><comment><USER5> They probably cashed out early with part of that round like Groupon and Living Social.

</comment><comment><USER6> Because they can.

<comment><USER7> My comment exactly. It would be insane to not take advantage of the valuations in the market right now. I would have a hard time sleeping if I was a founder right now. One big round, and then a race to an IPO before the party is over.</comment></comment>


Why Racket? Why Lisp? - <AUTHOR> https://practicaltypography.com/why-racket-why-lisp.html <comment><USER2> Oh my gosh. When are people going to give up and just admit that Lisp (=lisp- family) just wins? The list of dead contenders for The One True language is breathtakingly long, but it's Lisp that everyone eventually comes back around to. Even in the last decade we went thru PERL then Pyhton and now it's js. And everyone just keeps adding in more and more lisp to their language du jour (d'annee?) until, well, they just give up and build a lisp on top of it, like Clojure or Hy. Please let's just come together and get to where we've been headed for 50 years anyway.</comment>


10,000-core Linux supercomputer built in Amazon cloud - <AUTHOR> http://www.networkworld.com/news/2011/040611-linux-supercomputer.html HPC vendor Cycle Computing recently built a 10,000-core Linux cluster on Amazon's Elastic Compute Cloud, in what might have been the largest HPC deployment to date on the Amazon service. <comment><USER2> Curious about hearing the expression before, I went to search and discovered that "embarrassingly parallel" seems to be the correct technical term: <http://en.wikipedia.org/wiki/Embarrassingly_parallel>

</comment><comment><USER3> The speed of the interconnect really matters for most supercomputer problems. Without knowing the characteristics of that interconnect I would be hesitant to call 10,000 machines at Amazon a supercomputer.

<comment><USER4> They say in the article the algorithm is "embarrassingly parallel", so then it's okay.

But you're right, if there are any interdependencies then the interconnect becomes important.

<comment><USER3> Ah, forgive me; I didn't see that.

I wonder how they'd count Folding@Home, then: 500K active clients, 6M total clients, but only a fraction of their clients are active at any given point in time.

</comment></comment></comment><comment><USER5> This makes me wonder, how many idle computing resources Amazon has on standby. Are there any numbers on this in the public?

<comment><USER2> The thing that always bothered me about cloud computing is where the cloud gets its resources when _everybody_ has a spike, such as during holidays.

<comment><USER6> I recall EC2 going to complete crap during the holidays -- it is (or at least was) their spare christmas capacity.

<comment><USER7> EC2 has never been spare capacity: [http://www.quora.com/How-and-why-did- Amazon-get-into-the-clo...](http://www.quora.com/How-and-why-did-Amazon-get- into-the-cloud-computing-business)

</comment></comment></comment></comment><comment><USER8> The problem in HPC is less often pure CPU horsepower though, it is often cache or memory bandwidth, or in the interconnects.

I guess you might be able to build a system in the cloud to provide TOP500 level of performance, but it would be pretty hard even with the fancy EC2 HPC instances (<http://aws.amazon.com/ec2/hpc-applications/>).

<comment><USER9> better than might... you can: <http://www.top500.org/system/10661>

<comment><USER10> Amazon can. That has no information about how the nodes were allocated. They could have hand picked X rack of nodes that were all connected via the same switch, etc. You don't get that guarantee from AWS.

<comment><USER9> Fair enough, I guess.... they _could_ have done many things.

Although they do not provide an answer, here are some links to additional info - I spent some time searching for additional info on the Top500 setup, but found little:

* [http://aws.typepad.com/aws/2010/07/the-new-amazon-ec2-instan...](http://aws.typepad.com/aws/2010/07/the-new-amazon-ec2-instance-type-the-cluster-compute-instance.html) * <http://news.ycombinator.com/item?id=1904590>

</comment></comment></comment></comment><comment><USER11> > its calculations were "embarrassingly parallel," with no communication > between nodes

That's probably the only type of process that would work in the cloud. Most HPC applications require lots of communication between nodes, so I don't think I would call this a proper supercomputer.

<comment><USER12> I agree. At large scales the speed of light becomes a limiting factor.

</comment></comment><comment><USER13> I must say these are my favorite types of articles on HN. I also think these are the perfect use cases of cloud computing platforms such as AWS. Not sure why massively parallel and "embarrassingly parallel" computing intrigues me.

</comment><comment><USER14> The best part of it? It doesn't cost millions of dollars to use! Only thousands!

</comment><comment><USER15> Am I missing something? If the performance scales linearly, they are at 1000 computers internally (1/10 * 10,000), and it was said to take 8 hours. That would only be 80 hours if they hadn't have used this service.

This makes me believe someone is lying about something in this article.

<comment><USER16> Perhaps their internal capacity is already tied up in other tasks, so while they have 1000 cores internally, they can't all be monopolized for 80 hours for a single task like the AWS machines can.

</comment></comment><comment><USER17> who cares about P=NP when you can do that for $8000 ?

<comment><USER17> Thanks guys for telling me about P/NP

time for me to teach you something : <http://en.wikipedia.org/wiki/Humour>

<comment><USER18> Humour is pretty much seen as noise on Hacker News. If a joke also has some insight about the article, it will get upvotes, but if it's just a joke it gets downvoted.

</comment></comment></comment><comment><USER19> Seems like those guys knew nothing about HPCs. Why didn't they run LINPACK test? It's essential to measure any parallel computing system even of two cores. Also, any first grade CS student knows that the most significant part of an HPC is not the cores, but the network. You need to connect hosts using Infiniband or alike. Using regular ethernet is futile because of high latency, you will waste 90% of CPU cycles in data exchange/syncronization wait loops. I bet they could achieve a way better results on just 1/3 number of cores or even less.

<comment><USER20> LINPACK is about as useful of a benchmark as BogoMips.

""". Genentech benefited from the high number of cores because its calculations were "embarrassingly parallel," with no communication between nodes, so performance stats "scaled linearly with the number of cores," Corn said."""

That is a direct quote from the article.</comment></comment>


Chart: Percentage of a Company You Own vs. Acquisition Price - <AUTHOR> http://onwebapps.com/wp-content/uploads/2007/05/cashout_chart.png <comment><USER2> Um... You know that most modern operating systems include a calculator application?

<comment><USER3> As does Google:

<http://www.google.com/search?q=0.05+*+1000000>

</comment></comment><comment><USER4> I dont get it</comment>


Confronting the parasite economy - <AUTHOR> http://prospect.org/article/confronting-parasite-economy <comment><USER2> Low wages are more symptomatic of 'economic cancer' than causal.

The US economy has been guided by the "trickle down" mentality since the Reagan administration. If money could "trickle up" too, balance could be restored. Some sort of basic income / negative income tax, and reparations for people whom the government hurt with its stupid 100-year long war on plants [1], would be a good start.

[1] [http://www.HowDoIGetHigh.com/](http://www.HowDoIGetHigh.com/)</comment>


Understand the concepts of JavaScript miniaturization - <AUTHOR> http://makingthingssimpler.com/post/understand-the-concepts-of-javascript-miniaturization#continue_reading <comment><USER2> There's a bug in the first optimization example. Specifically, class "point"'s "up" and "down" methods still reference the "move" method as "move" instead of "b". It can be fixed by replacing the original statement "p.move(10)" with "move.call(p, 10)" for the "up" method (and similarly for the "down" method).

Despite the bug, I think it illustrates a good point. You can adopt a specific coding style that help you achieve higher level of minification/obfuscation.

It would be nice if languages like TypeScript can perform this transformation for you.</comment>


Show HN: Paywall Buster Buster - <AUTHOR> http://pbb.nkcss.com/ <comment><AUTHOR> Created this as a small Proof of Concept after reading [https://news.ycombinator.com/item?id=14794271](https://news.ycombinator.com/item?id=14794271)</comment>


Mark Cuban Calls Paul Graham and YC Entitled and Arrogant - <AUTHOR> http://www.geekwire.com/2016/y-combinator-founder-paul-graham-bashes-shark-tank-mark-cuban-fires-back/ <comment><USER2> _Building the best product is how most startups win, not by marketing_

Funny, after building many things, I'm starting to think the only thing that matters is marketing. It certainly isn't the tech or product quality.

</comment><comment><USER3> Sacca was absolutely right. It's bizarre that Paul Graham thinks anyone appearing on Shark Tank is doing it as a substitute to traditional fundraising. It's entertainment, not investing, and it's fantastic exposure for the participants.

Telling people to do something like YC instead of Shark Tank is like telling people to do YC instead of appearing on The Tonight Show.

<comment><USER4> To me they are for totally different types businesses. Most of the Shark Tank businesses are hope to get on QVC type products/businesses which would never get into YC. Very few software companies try to get on there. probably because the valuations are much more inline with traditional business valuation not high grow companies.

<comment><USER3> I agree, which still reinforces the point that it's really weird for Paul Graham to attack Shark Tank. They're just totally different entities with different purposes.

</comment></comment></comment><comment><USER4> Pot Kettle nice to meet you. Name a billionaire that isn't full of themselves. It's almost a prerequisite to think your better than everyone else to start a company. Let alone be super successful at it. Just some people are better at pretending humility better than others.

<comment><USER5> Gates? Considering what he's achieved I always found him quite humble.

Here's a guy perfectly justified if he said "I am much more brilliant than everyone else". This take over the world thing is quite new amongst tech entrepreneurs. From my understanding.. he knew he was onto something big, but super-billionaire was not in the expectations.

<comment><USER6> Gates (and Page, Musk, Bezos, Zuckerburg, Kalanick, etc.) don't _say_ they're more brilliant than everyone else, they act like it. Rather than say they're going to take over the world, they actually do it.

It's a little fascinating to me that culturally, we look down upon people who talk about dominating their opponents, but look up to people who say nothing but actually do dominate their opponents. But then, I suppose it fits with "actions speak louder than words".

</comment></comment></comment><comment><USER7> Use the original title if possible.

Additionally, the article does not mention Chris Sacca guested in Shark Tank.</comment>


Chinese students at UC San Diego want a safe space from Dalai Lama's speech - <AUTHOR> http://shanghaiist.com/2017/02/16/dalai_lama_ucsd_speech.php <comment><USER2> Its not like the Dalai Lama is promoting an armed revolution or uprising in Tibet. He's a chill dude with a peaceful reasonable message compared to Milo Yiannopoulos.

<comment><USER3> > "The cultural heritage of the country or region plays a big role. For > example, unlike the Muslims in China or other neighbours, those from India > are peaceful and harmoniously co-exist with people of other faiths. It is > the same religion but culture makes the difference," the Tibetan spiritual > head told 139 IPS probationers and 15 officer trainees from Bhutan, Maldives > and Nepal at the event. [0]

0\. [http://timesofindia.indiatimes.com/city/hyderabad/indian- mus...](http://timesofindia.indiatimes.com/city/hyderabad/indian-muslims-are- peace-loving-dalai-lama/articleshow/57105106.cms)

</comment></comment><comment><AUTHOR> "In the early-to-mid 20th century, the phrase "politically correct" was associated with the dogmatic application of Stalinist doctrine, debated between Communist Party members and American Socialists."

[https://en.wikipedia.org/wiki/Political_correctness](https://en.wikipedia.org/wiki/Political_correctness)</comment>


Ask HN: Advice for a liberal arts grad thinking of going back for STEM degree - <AUTHOR> Graduated with BA English + BA Philosophy in 2015, did Fulbright, got a job in media, but now considering going back to school to pursue a degree in STEM, most likely ME or aerospace. Is this a waste of time? Any advice from people who've done something similar? Right now I'm working through MOOCs to refresh my math + will probably enroll in some community college classes in the fall to get intro credits out of the way before applying to universities. <comment><USER2> If it's what you want to do it's not a waste of time. I've known people who took similar paths (though not into ME/AE).

You do have an advantage in being older and hopefully more mature, you'll likely find most of the coursework fairly easy compared to your younger classmates if you approach it properly (like a job: with planning, scheduling, and deliberate action).

Pay attention to what credits will carryover. Not everything will to every school. Some will be very picky.

Start contacting faculty at universities you're interested in. Find ones that have a specific interest for you. Different schools have faculty focused in different specializations, and there's often a degree of synergy in the department. Using CS, since I know it, a school strong in AI will have a number of faculty focused on it. A school strong in distributed computing will be similarly staffed.

So find the fields of ME/AE that interest you and start researching which schools have that, don't just get the degree. Take advantage of the time you have and the experience you have to make a better decision than most of us did at 16 or 17 when we applied to our first colleges.

Look further, into graduate programs or what you'll do after you graduate. If you want to work for a SpaceX or Blue Origin, you'll want to study different things than if you want to go to Gulfstream. That will help guide your decision on which undergrad program you pursue (assuming you can't get directly into an ME program).

<comment><AUTHOR> wrt 'waste of time,' i've just heard from plenty of people that employers look unfavorably at candidates who get late starts in careers and have switched from radically different lines of work since it demonstrates 'lack of commitment' &c., not to mention the downsides of doing entry level positions in your early 30s, which is probably where I'd be by the time I finished any programs

<comment><USER2> I meant to respond to this last night, sorry.

If you're concerned about that, then you should start talking to potential employers/professors early before switching. For instance, in my office, we have a guy (about 35) going back for his CS degree to get out of a support role and into a developer role (he has an associates degree, and was hired to do limited IT work and paperwork). Yeah, he'll be older when he finishes the degree, but he's already started getting development work in the office. And the office, staff, bosses all know him and his interest and work ethic.

If you can do something similar with your current employers, that'd be a good way to transition. Alternatively, network and reach out to people. And don't be afraid to use the services of your university when you complete the degree. Your professors there and the staff of the university will be well-connected with industry if you don't go to a bottom-tier university (and even there they'll have _something_ , even if it's only regional connections).

</comment></comment></comment><comment><USER3> I did a BFA in Filmmaking, some years in the industry, then went back and got a BS in Computer Science at a pretty highly ranked engineering school. My email's in my profile.

You're definitely doing the right thing by starting with MOOCs and community college. Even though I was good at math in high school, that knowledge had really atrophied without consistent use so I had to re-learn a lot of trigonometry and pre-calc material.

Also in my case the engineering school required students with prior undergrad degrees to apply as transfers, which meant I needed a bunch of math and science pre-reqs from community college before I could even apply.

CS for me is a fantastic day job. I miss the arts, but I don't miss the film industry, and I don't regret the choice to give up my "dream career" in favor of a more balanced life.

Oh, and when I was interviewing, my age and previous work experience were attractive to employers, not repellent. That probably varies quite a bit depending on field and geography, but in my experience is false that employers only want candidates in their early 20s.

</comment><comment><USER4> Why do you want to do that? Why are you dis-satisfied with your liberal arts degree, or with the doors it has opened for you? What are you hoping that STEM will do for you?

<comment><AUTHOR> A few reasons--for the last few years, I've mostly worked as a science writer and have learned a lot about the fields I cover at a high level. Although I can write competently about these subjects now, I feel that because I don't have a background in the actual fields I'm covering I am doing a disservice to my readers and am limiting myself as a science communicator. At the same time, it's made me realize how much of the world my brain effectively treats as magic for lack of the basic knowledge that comes with just an undergrad degree in almost all STEM fields. Finally, when I look at career trajectories in media, i've realized that financial incentives are not great unless you make it to the top 5% of those employed in this field and many of these positions aren't something I'd want to do anyway, much less work my ass off for decades to get there.

So I guess from STEM, I'm looking for:

-financial stability/mobility in career

-understanding of the world at a deeper level

-the chance to actually be work at something that can change the world, rather than just writing about the people doing this work (arguably, media _does_ change the world, but from the inside I'd say I'm being generous by saying that 2/3 of media is entertainment 1/3 actually results in change).

<comment><USER4> Well, in my view, we need science writers who really get the science (and who can really write) worse than we need more STEM workers. I say this because such science writers are far more rare than STEM workers are.

But you don't necessarily want to be that writer. You're somewhat unlikely to get the financial stability that you're looking for out of it (much more likely to get it in a STEM career). But if you _were_ interested in being that writer, the world could seriously use you...</comment></comment></comment>


Chromecast vs Apple TV - <AUTHOR> http://blog.riobard.com/2013/08/23/chromecast-vs-apple-tv/

<comment><USER2> Funnily enough, I completely disagree with the author's preference of the Chrome hardware over the Apple hardware.

The Apple hardware fits neatly into my entertainment center. It's small, the light is unobtrusive, and the power cord is a cord, rather than a brick. The ethernet cable gives me a solid, reliable connection.

The Chromecast, however, has a much brighter light. It flashes incessantly when it can't connect properly, which it can't when plugged in behind my receiver. (It also would have been completely useless in my old condo, where the 2.4 Ghz range was so crowded as to be unusable.) So then it goes back behind the TV, where the included extension is too short to properly flex 90 degrees. The USB power either sticks out from the side of the TV, or is yet something else to fish down to the power strip, far away from the wall-mounted television.

Don't get me wrong - I really like the $35 device. It's going to be great next time I travel; I'll bring it rather than the HDMI dongle for my tablet for before-bed Netflix viewing. But the author's negative points about the AppleTV are easily resolved by a $3 HDMI cable from Monoprice.

<comment><AUTHOR> Author here. Thanks for the comment!

Interesting that the Chromecast sticks out from the side of your TV. Mine is an 40" Samsung, and the HDMI port is deep in the center of the TV enough to completely hide the plugged Chromecast from front view, so I cannot see the light at all. I don't even know it blinks! :D As mentioned in the article, I use the TV's USB port to power Chromecast, and I really enjoy the cleanliness this design gives me as I have severe aversion of cord mess.

I completely agree with you on the wired connection part, and I feel for many urban dwellers the instability of 2.4 GHz will be a major headache to use Chromecast. My neighborhood is relatively Wi-Fi-sparse with only a dozen or so visible SSIDs so it's fine for me.

As for the HDMI cable thing, I did get a ~$3 HDMI cable from eBay so I'm fine. I'm just pissed off by the whole HDMI cable scam that's widespread at places like BestBuy for general folks.</comment></comment>


Adobe Launches Photoshop Android Application - <AUTHOR> http://phandroid.com/2009/11/06/adobe-launches-photoshop-android-application/ <comment><USER2> Adobe devalues Photoshop brand by releasing feature-limited iPhoto-like application for Android and calling it Photoshop.

<comment><USER3> If it makes any difference, they called it "Photoshop.com", this blog just dropped the tld.

<comment><USER4> Finally an application name sillier than "OpenOffice.org".

<comment><USER3> I don't know that I'd agree. Photoshop.com provides a subset of the features that Photoshop has, and the name's a derivative. It's sufficiently distinct that it shouldn't be confused with Photoshop, but still gets the brand bonus from being associated with it.

</comment></comment></comment></comment><comment><USER5> Kleenex is a verb?

<comment><USER6> In English, you can verb any noun.

<comment><USER5> {hushed voice} how awful...

</comment></comment></comment><comment><USER3> ...Photoshop referring to Photoshop.com, their photo editing web app, not its more impressive namesake.

All of Adobe's copy seems to make this distinction, it's a pity this blog couldn't be bothered. It's not the _Photoshop Mobile App_ , it's the _Photoshop.com Mobile App (for Android)_.

<comment><USER7> Heck, if they want to sabotage their own brand why go out of your way to stop them? The urge to over-extend a good brand seems to strike every large company.

<comment><USER3> No, I'm saying that the blogger is removing the ".com" from Adobe's copy, with the result that he is not distinguishing the brands. Adobe sort-of does.

<comment><USER7> I suspect regular people aren't pedantic enough to distinguish between Photoshop and Photoshop.com and Adobe should take that into account in their marketing.</comment></comment></comment></comment>


New Startup Investment Model - <AUTHOR> http://www.mikekarnj.com/blog/2009/12/07/new-startup-investment-model/

<comment><USER3> Startups are still far more than just their teams. This is different - <USER2> author seems to be arguing for something broader as if they create a shared contract technical organization underneath each of the 3+ ventures that may go in wildly different directions.

A few problems come immediately to mind - people and personality conflicts. Can you imagine 3 CEO typess competing for resources/timing on various projects? It might sound ideally initially but conflicts in time and resources are bound to happen.

The second is trying to convince each startup founder that their idea is equivalent to the other two and the timing/stage of development is the same. I doubt it's an impossible idea, but certainly not an easy one to execute. A lot of (contractual) planning for "worst case scenarios" would be especially important here.

<comment><USER4> We've been ironing out this process over the last year. We inject a venture with need resources up front and then taper them off. That way we don't continuously struggle with conflicts. Details at <http://sproutbox.com/what>.

<comment><AUTHOR> I like Sproutbox. Seems like a more hands-on Y-Combinator. How has the success been so far?

</comment></comment></comment><comment><USER5> The best teams are 2 or more people, including at least one technical founder. The idea that startups would "would share the resources of the most talented web developers and designers" doesn't make sense--these people should be founders.

The USA basketball analogy is apt, because the team failed to perform until they started to "field complete teams instead of piecing together rosters of NBA All-Stars at the last minute." ([http://en.wikipedia.org/wiki/United_States_men%27s_national_...](http://en.wikipedia.org/wiki/United_States_men%27s_national_basketball_team))

There's certainly something here--sharing office space, legal resources, unsuccessful teams folding into more successful ones--but I think the best success will come with teams whose focus isn't split.

<comment><AUTHOR> Great point on the technical founder. Actually, really good point. Will add it to our notes.

</comment></comment><comment><AUTHOR> At the very early stages of a business, I think the CEOs should focus 80% of their time on marketing and growing their business (getting new customers, building community, etc), and 20% of their time developing the actual product. The dev team should launch just enough of the website to see if it sticks, and picks up traction. If it does, it should receive more time and lovin'

</comment><comment><USER4> This is reminds me of how SproutBox came to be. The 3 founders were all considering starting their own ventures and decided to pool resources. Things have evolved a lot since then, but that (and us wanting to also be 'active' angels ) played a big part in the birth of our investment model.</comment>


How I Wrote a Book in 3 Days - <AUTHOR> http://blog.teamtreehouse.com/how-i-wrote-a-book-in-3-days

<comment><USER2> I will not pass final judgement on the book until I've had an opportunity to read it, of course. But my initial reaction to this title is one word:

"Poorly."

Not that there's anything wrong with that. Every application I've seen that was written in three days with any amount of functionality was also written poorly. But it didn't matter. Because you don't consume the application's code, you consume the application. The trouble with writing a book is that you _do_ consume the product of the book directly. That's why I'm skeptical.

That said, maybe this book is awesome. That would be awesome, and hopefully would get more people riding the writing train and flexing that language muscle so many often forget about.

<comment><USER3> "Everybody does have a book in them, but in most cases that's where it should stay."

― Christopher Hitchens

<comment><USER4> Looking forward to write both a technical and a non-technical book in the future, that quote is _really_ hard to digest.

<comment><USER3> If you work hard enough on becoming a good writer, you shouldn't fear anything.

Basically, it just expresses the fact that that only 5% of people are on the 95th percentile.

<comment><USER5> Isn't it saying something more like: only the top 5% of people are worth reading.

<comment><USER3> Ah, yes, that was the other implication, which I took for granted. Generally, though, only people in the top X% of anything are worth attention, I think.

</comment></comment></comment></comment></comment></comment><comment><USER6> Having been working on a science fiction novel that covers economics, futures markets, genetic uplift, AI, finance, combat, and orbital mechanics, and having been working on it for 3-5 hours per day for 18 months ( <http://morlockpublishing.com/the-book/> ), I'm somewhat underwhelmed with anything that can be done in three days.

I suspect that I spent more than three days on researching lunar geology, minerology, titanium refining, the compresibility of air, etc.

Not to mention that my first draft took 9 months, and my revisions have taken 12 months.

Some things require iteration and polishing. Writing, IMO, is one of those things.

<comment><USER7> I have not read your book or the OPs, but would you mind combining the two

I would far far rather read a book written by you in three days on orbital mechanics and what is feasible and what might change. Then another on lunar geology and moonbases.

I am having a hard time getting back to fiction these days and my brain craves idea candy. And you seem to be stirring that sugar into a healthy and nutritious meal.

Bu sometimes consumers just want to lick the bowl

<comment><USER8> _"I would far far rather read a book written by you in three days on orbital mechanics and what is feasible and what might change. Then another on lunar geology and moonbases."_

This is an orthogonal point, though. He said he's writing a novel, and you're saying don't want to read novels, because you like quickly digestible information.

He's not trying to write an informational book about orbital mechanics. He's saying he spent time researching that subject in service of his work of fiction. Presumably, he did that research to help flesh out the world of his story, and to make sure his science fiction is informed by real science (something few SF writers these days actually take the time and effort to do). I don't think his goal is to "stir sugar into a healthy and nutritious meal," but rather, to stir nutrition into what would typically be a sugary snack.

J.R.R. Tolkien famously spent a great deal of time creating an entire language before incorporating it into his _Lord of the Rings_ series. That doesn't mean he should have written a dictionary of the language instead, and then kept the novel a separate work. His primary goal was the novel, with the linguistics being a (very fleshed out) supporting detail.

<comment><USER7> I am not saying what he _should_ do, I completely accept that he may well just care about his novel.

I just want, tasters ...

Signed up for the email list by the way - space battles with rusty oil tankers, sounds fun :-)

</comment></comment></comment></comment><comment><USER9> I honestly dont understand what the take away is from these articles...

Lots of people communicate information in a hurried manner using a similar formula.

\- College students do it the last week of every semester but its called a paper

\- Bloggers do it all the time but its called a blog

A book typically infers to most people something that has been written in a very thoughtful or high quality manner with much thought put into it (and we have many descriptors for the "lesser" forms... articles, stories, etc.) That doesnt mean you can't write a proper book in 3 days... but whats the point? - you are just likely putting yourself at a disadvantage. What matters is how impactful the book is. If you spend 3 days and its forgotten (sorry but likely based upon effort) and somebody else spends 1 year to craft something meaningful (much more likely based upon the history of literature) its pretty obvious who is creating value for their readers.

These articles read to me like "hey look at me I wrote a book in 3 days"... there is no mention of what is truly unique or skillful about it. Sorry to be so negative but I just feel like this encourages the creation of pretty artificial stuff that will be forgotten in a week.

<comment><USER10> I think the take away is, "Look at my linkbait headline and click!" That's the only possible thing I can think of. I'm with you - it's a hurridly-written "book" and the headline screams "hey look at me I wrote a book in 3 days" (like you said). Linkbait.

</comment></comment><comment><USER11> "Great products are simply the result of decisions made aong the way."

So are shitty products. So are mediocre products. So what? That pull-quote tells me nothing useful. Products are the result of decisions.

Is this kind of trite observation indicative of the book's content?

<comment><USER12> In context it may be more impactful. In the book "Made to Stick", the authors make the point that most people think that the their final "one-liner" is the most impactful portion of their writing or their speech, but it turns out that the story leading up to that sound-bite is usually much more important and memorable. This may one of those situation. (Which, in all fairness, would probably have been noticed and not used as a pull-quote had the book been written in _more_ than 3 days)

<comment><USER11> OK, I get that, like the punch line of a joke, the part that gets the reaction may only make sense given all that lead up to it.

But I'm skeptical. I've seen a few too many "Rorschach aphorisms" where some readers, really wanting to believe that the text has some important meaning for them, end up inventing it for what is essentially trite or content-free.

</comment></comment></comment><comment><USER13> Unless the author is Hunter S. Thompson or someone of that ilk, I'm not sure I'd really want to read a book written in 3 days.

<comment><USER14> I think there are a _lot_ of authors whose 3 day long first draft I'd buy and read especially in non-fiction.

For example, a three day scrawl by John Carmack about his latest thoughts and experiences with graphics technology would be ace. (I read an e-book collection of all his old .plan updates and while it was disjointed, it satisfied my lust for a geeky read.)

<comment><AUTHOR> Totally agree. I don't know that time or even refinement is what makes a great story. Yeah, the certainly don't hurt, but if you tell me the most amazing story ever and it's a little sloppy, I'm still probably going to think it's the most amazing story ever.

<comment><USER14> I wonder if there's opportunity for a publisher to specialize in this (or create a series). I will ask them!

Here's the idea: they sit down/have a long call with an interesting character, talk with them extensively, get them to type out some further stories, then the publisher does all the work of making it readable without killing the subject's voice.

PeepCode and Tekpub do something like this in the screencasting world where they sit with respected developers and bash through a project and talk about tools for an hour or two. I've not seen it done in the written word other than, perhaps, feature articles for magazines.

</comment></comment></comment></comment><comment><USER15> You do it by stretching the informal but accepted definition of "book". Which reminds me of the more irksome side of marketing.

</comment><comment><USER16> Clearly, this shows how you wrote a book in eight days (five days for the first draft, three days for the second). Still impressive, but it isn't the same as writing a book in three days.

As noted by others, this also discounts the time taken earlier, discussing the process to be documented, with your friend -- so I guesstimate "How I wrote a book in a short month" might be more accurate.

I really wonder if you didn't just demonstrate how to write a (good) blog post in a month -- I'll be very surprised if your book is better (sheds meaningfully more light on your process) than the blog post.

Either way, I respect you for doing it - and getting it done. It reminds me of someone (couldn't find the link now?) writing that their first book took one year to write, spending less than a month on the structure, and the rest on writing (and re-writing) -- and the second book took three months, two of which was spent on the structure/table of contents. Moral being that time spent on design/plan is returned many times when "fleshing out" the text.

Perhaps it was noted somewhere in "On Writing Well"[1] -- a book I highly recommend for anyone interested in doing any kind of writing.

[1] [http://www.amazon.com/gp/product/0060891548/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/0060891548/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0060891548&linkCode=as2&tag=hypertekstnet-20)

</comment><comment><USER17> What I see _every_ time I see an article like this is that it understates the real time investment, whether intentionally or because people get over-excited about learning how quickly they could do it.

He did not "write a book in 3 days" in anything but the purely mechanical sense that he put the words of the final version down in 3 days.

Usually these articles on "How to do X in Y days" boil down to:

\- Prepare upfront (in this case 5 days on the draft that he threw away + time spent learning the subject by doing + time spent talking about the idea with someone).

\- Divide and conquer.

\- Don't do more than necessary (in this case, make the book only as long as need to convey your message; adding more words to make the word count longer does not improve quality)

\- You'll be a lot faster at pretty much anything you already know well enough to talk about at length.

If you have a decent amount of practice formulating yourself, putting the words down is not the hard part of writing a book.

Learning to understand the subject, and then structuring the material is.

In this case, by the time he'd learned about the subject and invested the time in figuring out how to communicate it, actually _writing_ the final version was not a huge investment in time, and that is the real takeaway.

Still a big accomplishment and something most people will never do, so good on him for doing it.

</comment><comment><USER18> Regarding the negative comments, time alone is not an indicator of quality. The consumer doesn't care how long it took you to do something. In many instances, we don't even know the time it took. Some people take decades to produce work, while others take hours or days. The proof of value is always in the work itself.

There are countless examples of artists producing work at breakneck speeds; Miles Davis, Ornette Coleman, Frank Zappa, Issac Asimov, Alexandre Dumas, etc... I could go on and on.

</comment><comment><USER19> I didn't read this article because of its title. I think it is either a lie or a lie that's nuanced in a way to be technically true.

Assuming the book actually was written in three days (planning, research, the actual writing, typography, editing, etc), I'm not sure I want to read it, because I fear the quality to be low. Similarly, I'm not sure I want to read an article by the same author.

Pity.

</comment><comment><USER20> Renowned author Oliver Sacks tells that he wrote his first book in 10 days. He had committed to kill himself if he didn't make this goal. The story is in this RadioLab episode: <http://www.radiolab.org/2011/mar/08/>

</comment><comment><USER21> It would be interesting to read a preview of the book.

I think that releasing software quickly is completely different to releasing a physical item quickly. You continue working on the software and update as necessary but you cannot update a physical book that is sitting on someone's coffee table.

How much time was spent on the content of the book versus the design? Is the content alone worth the price asked or is the content just a filler for the book design/marketing effort?

</comment><comment><USER22> I believe in the vision that these guys have. I contacted Drew and before ordering and he was very pleasant to deal with, so I went for it.

I would be lying if I say that I'm not curious about the quality of the content, which is exactly why I decided to jump the gun. Worst case scenario, I'm out $29. Best case scenario, I improve my execution abilities.

Will keep you posted.

</comment><comment><USER23> With the word "execute" I also associate the word "ship".

So if there's an big push to "execute" as quickly as possible, why did they go with a physical book when they could have shipped a finished book in digital format exponentially faster?

I would love to read the book, but I don't buy physical books anymore.

<comment><USER24> The print publishing process gives you chances to find and correct errors (typos, etc.) before people get their copy of the book. Of course, if you don't mind publishing with errors initially you can update an eBook in ways you can't really update a printed paper copy of the book.

Just a thought.

</comment></comment><comment><USER25> So where can I get a sample of this masterpiece that took 8 days to write?

</comment><comment><USER26> Christ, it took me 4 months to submit a passable draft of ONE chapter. Good on ya.

</comment><comment><USER27> Is there an ebook version coming? I don't really need/want a hardcover copy.

<comment><USER28> There will be ebook versions later.

</comment></comment><comment><USER29> Anybody notice the table of contents and page numbers?

</comment><comment><USER30> must be awesome! if books start to be written like blog posts then.. oh well I have nothing to say, I will write a book about it.</comment>


Man who hacked jail systems to free associate sent behind bars - <AUTHOR> https://www.zdnet.com/article/man-who-hacked-jail-systems-to-free-his-friend-joins-him-inside/ <comment><USER2> They're making him pay a quarter million to investigate and address the vulnerability.... good grief</comment>


AVX512 VBMI – remove spaces from text - <AUTHOR> http://0x80.pl/notesen/2019-01-05-avx512vbmi-remove-spaces.html <comment><USER2> OK, I got nerd-sniped here. You can actually construct the indices for the shuffle fairly easily with PEXT. Basically, you have 6 64-bit masks, each corresponding to a different bit of the index of each byte in the 64-byte vector. So for mask 0, a bit is set in the mask if its index has bit (1 << 0) set, mask 1 has the same but for bit (1 << 1), etc. The masks have a simple pattern, that changes between 1 and 0 bits every (1 << i) bits. So for 3 bits the masks would be: 10101010, 11001100, 11110000.

These masks are then extracted with PEXT for all the non-whitespace bytes. What this does is build up, bit by bit, the byte index of every non-whitespace byte, compressed down to the least-significant end, without the indices of whitespace bytes.

I wasn't actually able to run this code, since I don't have an AVX-512 machine, but I'm pretty sure it should be faster. I put the code on github if anyone wants to try: [https://github.com/zwegner/toys/blob/master/avx512-remove- sp...](https://github.com/zwegner/toys/blob/master/avx512-remove- spaces/avx512vbmi.cpp)

        const uint64_t index_masks[6] = {
            0xaaaaaaaaaaaaaaaa,
            0xcccccccccccccccc,
            0xf0f0f0f0f0f0f0f0,
            0xff00ff00ff00ff00,
            0xffff0000ffff0000,
            0xffffffff00000000,
        };
        const __m512i index_bits[6] = {
            _mm512_set1_epi8(1),
            _mm512_set1_epi8(2),
            _mm512_set1_epi8(4),
            _mm512_set1_epi8(8),
            _mm512_set1_epi8(16),
            _mm512_set1_epi8(32),

        };

      ...later, inside the loop:

        mask = ~mask;
        __m512i indices = _mm512_set1_epi8(0);
        for (size_t index = 0; index < 6; index++) {
            uint64_t m = _pext_u64(index_masks[index], mask);
            indices = _mm512_mask_add_epi8(indices, m, indices, index_bits[index]);
        }
        output = _mm512_permutexvar_epi8(indices, input);

<comment><USER3> I'll run it for you on the same machine Wojciech is using and report back shortly. I'm getting a compiler error for your call to _pext_u64(), but I think it's just a matter of adjusting the compiler flags. OK, adding "-march=native" works (was only -mavx512vbmi). Oops, now ./unittest fails:

      [nate@nuc avx512-remove-spaces]$ ./unittest
      test 1 gap
      FAILED; len_ref=63, len=0
       input: [ bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#@]
       ref: [bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#@]
      result: []

Did you maybe flip the args to _pext_u64() like I often do? I'll check back in a few minutes and see if you've committed a fix.

Edit: Getting to my bedtime here. Send me email (in profile) if you'd like me to follow up with it tomorrow.

<comment><USER2> Ah, just figured it out. I accidentally deleted this line:

                len = 64 - __builtin_popcountll(mask);

So the destination pointer never got updated. Mental debugging is kind of annoying :)

Thanks!

<comment><USER3> OK, I'm still up and just saw your fix. Yes, that makes the ./unittest work. I have numbers for ./benchmark; let me grab and compile his original for comparison. Do you know which result you'd expect to see the best difference for?

Results: Yes, if I'm reading things right (and assuming the unittest caught any issues) you are much faster at large cardinalities! Your approach seems to be a constant .7 cycle/op, while Wojciech's varies from about .4 for card=1 to 4.0 for card=64. The breakeven point is card=7, with your approach faster at all higher numbers. Nice improvement!

Send me email if you'd like to pursue this further tomorrow. Also, you probably want to read dragontamer's post here closely and mentally consider whether his approach might make even more sense. I haven't thought about it yet, but if he thinks he knows the best way, he may well be right. Good night!

Edit: Just noticed that my numbers seem slightly faster than the ones Wojciech reported for large cardinalities. My guess would be that this is because I added "-march=native" to both compilations, although maybe there's something more subtle happening too. He's in Europe, so probably asleep now, but will likely be by to offer his thoughts in a few hours.

<comment><USER2> Awesome, thanks! I'll play around a bit with the algorithms and see if I come up with anything neat. I'll email you if I do.

<comment><USER4> Just favorited this thread for algorithmic awesomeness. Thanks guys.

</comment></comment></comment></comment></comment></comment><comment><USER5> I was excited for AVX512 long ago but I've since heard that if you are jamming AVX512 instructions to every core you get a forcibly lower clockrate. In practice this sounds like it'd suggest using an AVX512 algorithm could actually be slower even when it's faster. If that's the case, I wonder what kind of performance gain you'd have to hit to beat a scalar or SSE-based vectorized algorithm.

<comment><USER6> You also get a lower clock rate from running scalar code on many cores at once. Use of the 512-bit unit only makes the coefficient different.

That said, the biggest mystery in this article is why you'd ever want to remove all whitespace from text. Why is that useful?

<comment><USER7> If one could remove spaces from JSON to create a so-called "Canonical JSON" one could obtain the same digest hash from the same data (even in combination with the hardware accelerated hashing offered by AVX!). Admittedly this is a strange case but I've run into it.

<comment><USER8> Isn't this a problem if you're fed these two inputs:

{mystring:"Hello World!"}

{mystring:"Hello World !"}

They aren't the same JSON.

<comment><USER9> also: {mystring:"HelloWorld!"}

</comment></comment></comment></comment></comment><comment><USER10> I've been nerdsniped as well. I can't say I'm going to go ahead and try and solve it, but the methodology presented in the post seems suboptimal.

The best method I personally think would work, is the "compaction algorithm" documented here: [http://www.davidespataro.it/cuda-stream-compaction- efficient...](http://www.davidespataro.it/cuda-stream-compaction-efficient- implementation/)

True, that's a CUDA implementation, but AVX512 is closely related to GPU programmers. Effectively, you calculate the prefix sum of the "matches".

The paper the above code is based on is very clear on how this works: [http://www.cse.chalmers.se/~uffe/streamcompaction.pdf](http://www.cse.chalmers.se/~uffe/streamcompaction.pdf)

Pay close attention to "figure 1" on page 2. That's the crux of the algorithm. Assuming 8-bit characters, you can generate a prefix-sum in just 6-steps (Each step is a constant, pre-defined byte-shift + Add). A prefix sum is best described by the following picture: [https://en.wikipedia.org/wiki/Prefix_sum#/media/File:Hillis-...](https://en.wikipedia.org/wiki/Prefix_sum#/media/File:Hillis- Steele_Prefix_Sum.svg)

Full Wikipedia page on Prefix Sum: [https://en.wikipedia.org/wiki/Prefix_sum](https://en.wikipedia.org/wiki/Prefix_sum)

Prefix Sum is just 6-steps for a AVX512 register on 8-bit ints. That generates the full AVX512-space permute (ie: if the prefix sum is 5 for an element, that means that element belongs in index #5)., but AVX512 has "in lane" permutes only. I dunno how many steps you'd need to get a "in lane" permute into a "cross lane" permute... but it doesn't seem too difficult of a problem (and IIRC, I think i read a blogpost about how to convert the in-lane AVX512 permutes into a cross-lane one).

I bet that the above sketch of the AVX512 algorithm can be implemented in less than 30 assembly instructions for the full AVX512 / 64-byte space, maybe less than 20. That should definitely run faster than the scalar version.

\</comment><comment>-

EDIT: Herp-derp. It doesn't seem like VPERMB is affected by AVX Lanes (!!). [https://www.felixcloutier.com/x86/vpermb](https://www.felixcloutier.com/x86/vpermb)

So I guess you can just run VPERMB at the end on the calculated prefix-sum. The end.

\</comment><comment>-

The Stream Compaction algorithm is a very important 1-dimentional work- balancing paradigm in the GPU programming world. It is used to select which rays are still active in a Raytracing scenario (so that all SIMD registers have something to do).

<comment><USER2> Interesting, I started out thinking along these lines, but once I figured out I could use PEXT, I just went with that.

I think this approach needs some tweaks, though. Mainly that the vpermb at the end is the inverse of what we want--the bytes at dense indices get spread out to the sparse indices (it works analogously to gather, but we want scatter). I can't think of a way around this right now...

That said, it's an interesting approach. I think the PEXTs would be the bottleneck in my code (looks like there's only one execution unit for them, whereas there's two for the VPADDs), and finding a way to parallelize all the VPADDs could lead to a nice speedup.

<comment><USER10> You're right.

I did a brief look through AVX512 instructions to look for a solution, and unfortunatley, it seems we both may have been overthinking this.

vpcompressb more or less does the job in one instruction. Agner Fog doesn't have a latency listed however.

\</comment></comment></comment><comment>---

My search methodology was basically this: [https://software.intel.com/sites/landingpage/IntrinsicsGuide...](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#cats=Swizzle&expand=1219,1227,1229&text=__m512i)

Search for __m512i (integer-based ZMM registers), with the category "swizzle" (which includes permute, insert, and other such instructions). I figure any potential AVX512 instruction would be a "Swizzle" style instruction.

\</comment><comment>-

Note: I originally responded to the wrong location in this thread. I copy/pasted my text to here, which is where I originally intended to respond.

<comment><USER3> Do you recall which machines VPCOMPRESSB works on? I think it's next generation Icelake? Or is it there already on Cannonlake? And along the same lines, is there a good general way of looking this up?

Coincidentally, searching for this, I found Geoff Langdale's blog post where in addition to describing VPCOMPRESSB as 'dynamiting the trout stream', he also describes something very close to zwegner's PEXT approach: [https://branchfree.org/2018/05/22/bits-to-indexes-in- bmi2-an...](https://branchfree.org/2018/05/22/bits-to-indexes-in-bmi2-and- avx-512/)

<comment><USER11> It's not in Cannonlake (nor the W variants). The D and Q versions are in SKX though and they are 4L2T IIRC.

You need a CPU with VBMI2 for the B variant, can't remember off the top of my head if Icelake has that.

</comment></comment></comment><comment> Const-me Interesting but his scalar code is slow. When you care about performance, better to implement such algorithm so it reads bytes one by one, but move blocks with memmove when switching from write to skip state.

Pathological case (skipping every other character) is slightly slower, but on real data it's much faster overall.

Unfortunately I don't have AVX512 hardware so I can't test.

<comment><USER12> I was wondering if you like to contribute better scalar code? I'll be happy to include your (or anybody else) code and then compare different approaches.

<comment><USER13> Try some of these :p [https://gist.github.com/aqrit/6e73ca6ff52f72a2b121d584745f89...](https://gist.github.com/aqrit/6e73ca6ff52f72a2b121d584745f89f3)

<comment><USER12> Thank you again! Take a look: [https://github.com/WojciechMula/toys/tree/master/avx512-remo...](https://github.com/WojciechMula/toys/tree/master/avx512-remove- spaces)

Your AVX2 is better in benchmarks than Zach's AVX512VBMI, wow. I have to admit that looked at the code but got lost. :) Will need more time to digest it.

However, in despacing English texts and CSV, Zach's variant is still faster.

</comment></comment></comment></comment><comment><USER14> This is really neat, I wonder if there's a way to keep a "remainder" around, kind of like Bresenham's algorithm, so that you can always do aligned reads from memory.

The speedup on English text is really good, and I love the exploration into the AVX intrinsics.

<comment><USER11> Unless I'm missing something it's the stores that are variably sized and hence become misaligned, not the reads?

</comment></comment><comment><USER15> Instead of generating shuffle at runtime, couldn't a table be used for shuffling lower and higher parts of the register separately, then merging the result?

Also, for uncommon patterns, the register could be split further to make the shuffle table fit into L1.

Also, I am not sure compiler can optimize that continue statement. The non-AVX version might be improved by removing the if alltogether, and replacing _dst++_ with _dst =_ followed by _dst += (src[i] == ' ' || src[i] == '\r' || src[i] == '\n') ? 0 : 1_

<comment><USER16> The ternary operator a?b:c is still a conditional operation and may result in a branch instruction, same as an if statement. I wouldn't think it would matter much how exactly the branch condition was spelled in C code. It'll get translated to low level IR and optimized at that level.

<comment><USER17> In this case, the GP is having code of the form

        a ? 0 : 1

which can usually be rewritten as

        !a

Any worthwhile compiler should compile that into one instruction or two, like `setne` or something else.

<comment><USER15> I was hoping for a direct translation to CMOV. Anyway, the assembly has to be analyzed to be sure.

<comment><USER18> No need to speculate. [https://godbolt.org/z/AC2NKY](https://godbolt.org/z/AC2NKY) . Results significantly vary between compilers. In almost all cases there is at least one jump generated due to the way comparison with 3 values less than 32 is done. If the number is less than or equal to 32 compiler does a lookup in bitmask indicating which values to skip. Often Clang and MSVC generated a second jump.

<comment><USER15> None of the compilers generated branch-free loop. Looks like _or_ short- circuiting is the reason.

Now I wonder if getting rid of branches at assembly level actually gives any benefit. That can be achieved by using _|_ instead of _||_.

</comment></comment></comment></comment></comment></comment><comment><USER19> what is the usage of these things?

</comment><comment><USER20> What if you are working with unicode?

<comment><USER21> This removes ascii spaces from ascii or ascii-compatible encodings (e.g., utf-8 and others). It doesn't handle the full complexity of unicode spaces, obviously.</comment></comment>


Ask HN: How do I find a job that involves Windows kernel development? - <AUTHOR> Hi all!
I am from Germany and I am going to finish my master's degree in computer sciences in about a year.
I've developed Windows drivers in my free time and in a team project in the university.
I also plan to focus my master's thesis on Windows kernel development.
However, I have looked for jobs in that area and it's hard to find them.
Did I pick a wrong field and should try to focus on other stuff? I really enjoy it though and it would be sad if all the knowledge I gathered in that field will be lost.
Do you have advice?
Thanks! <comment><USER2> I'd expect all Windows kernel development jobs would be at Microsoft. Driver development jobs would often be at hardware companies. However, I think you're looking for too narrow a subfield---search instead for jobs in areas like OS, driver development and embedded development, which is burgeoning now because of IOT hype. You might also expand your search into programming jobs advertising for computer engineers. CompEng folks tend to work closer to the metal.

</comment><comment><USER3> Too narrow a specialisation as evidenced by the difficulty in finding jobs. However, if it's something you enjoy then stick with it and add complementary skills. Add in linux kernel/driver development (double up and you can volunteer) and something complementary such as security. You may also want to brush up on things like biometrics and the hardware part (i.e. electronic engineering) to bridge out into a wider space.

</comment><comment><USER4> I guess 90% of Windows kernel developers learn on the job. So if you know the drill, you should be a step ahead of the competition in this space, hence cold-mailing recruiters is the best strategy IMO.

I would try MS first, then major MS partners who ship software for based on Windows, which is a market as big as any.

</comment><comment><USER5> you can apply a microsoft internship first.

I do device driver development as my day job. boring boring stuff. I wanna out.

</comment><comment><USER6> Government agencies.

Large investment banks in security or information security.</comment>


Analysis of HTML5 Canvas Javascript performance in various browsers - <AUTHOR> http://code.google.com/p/freeciv-forever/wiki/FreecivBenchmarkResults

<comment><USER2> Here's a comparison of Canvas versus SVG: <http://www.borismus.com/canvas-vs- svg-performance/></comment>


Complaints EU US Transfers Filed - <AUTHOR> https://noyb.eu/en/101-complaints-eu-us-transfers-filed <comment><AUTHOR> A quick analysis of the HTML source code of major EU webpages shows that many companies still use Google Analytics or Facebook Connect one month after a major judgment by the Court of Justice of the European Union (CJEU) - <USER2> both companies clearly falling under US surveillance laws, such as FISA 702. Neither Facebook nor Google seem to have a legal basis for the data transfers. Google still claims to rely on the "Privacy Shield" a month after it was invalidated, while Facebook continues to use the "SCCs", despite the Court finding that US surveillance laws violate the essence of EU fundamental rights.</comment>