skysight-inc/HackerNews huggingface dataset:
WD/HGST purchased the former Velobit company and their product morphed into ServerCache, which was Flash-based disk caching for Linux and Windows.

http://www.itpath.it/2014/08/20/hgst-virident-servercache-2/

The product was EOLd last year though, probably due to lack of corporate interest.
The other alternative is functional programming (which is usually not the same as procedural programming).
Note that according to BLS's CPI, that's $192,000 in 2016 dollars.

Still, it was an amazing achievement for nonetheless relatively affordable PDP-11/45, on which it was eminently usable, and in many ways better than anything else out there aside from it's Multics forefather.

(Originally ran on a first generation PDP-11, later the 11/20, with an extra memory unit so it could run split Instruction and Data (I&D) and have decent budgets for both; on the 11/45, that would be up to 64KiB code, 56KiB data, and 8KiB stack.)
How many years before github would that be?

(Edit: this was written under the assumption that the lawyers in question are working on behalf of kik, the cheap clothes company, not kik, the messenger company. The original article is unclear about that)

This really has to be attacked at the root: let's all stop pretending that a sequence of characters can be owned. Before the web came along, people were completely sane about the protection of brands. Nobody had delusions about string ownership, but deceptive abuse of brand names was suppressed just as well. Enter the web, and suddenly corporations start thinking they somehow deserve exclusivity for their stupid little three-letter-acronym, at first on the DNS, now, apparently, also in search engine hit lists ("oh noes, someone might google themselves onto github instead of our site, people will start wearing NPMs instead of our clothes!").
Related discussion on the CommonMark (markdown standardization initiative) forum: http://talk.commonmark.org/t/ietf-request-for-input-text-mar...
Any museum wants to host an exhibition?
"Sure 90% of OOP is crap. That's because 90% of everything is crap" [1]

[1] https://en.wikipedia.org/wiki/Sturgeon%27s_law
Thank you - was a bit of an unexpected appearance here so getting onto the erm, technical issues, now...
You can ask for a specific tag/branch using Github dependencies using babel/babel#v5.x
This is offtopic but what should be size of the VM to handle HN's front page traffic. I know a lot of it depends upon whether the website is static or is backed by DB and on various different factors. But many a times some of my friends ask me questions like this.

To make it simple, lets take 2 very basic websites.

1. A ghost blog. (node.js)
2. A wordpress blog backed by a mysql db. (php)
Build, and They Will Come
I had cognitive dissonance trying to understand the POV of the author. No emergency brake? Bucking the driver's seatbelt into the passenger belt buckle? Seriously?

The person does write novels, so maybe there's a little bit of hyperbole? Because I just can't grok driving without a functioning seat belt!
Steam can be run in offline mode.
Mime type parenting is a thing. There's plenty of IANA-registered mime types which have text/plain, application/zip etc as parents.
Never trusted the sandbox functionality. I've been installing Comodo CIS with only the firewall and antivirus, sandboxing disabled, HIPS on low settings on. Any notable exploits left that would bypass that?
How Ramp spent three days on the frontpage of ProductHunt
A quick solution could be to host the page as a static page and have a nginx route serve that page.
NPM user nj48 steals “liberated” module names
... with zero discussion.
Maven central requires GPG signatures for every package, so all major libraries on the JVM have GPG signatures.

(Whether anyone's checking them is another question, but at least you can if you want to)
As a matter of fact in the EU if the police stopped him without a working seatbelt or emergency brake the car could be impounded until he arranged to have it fixed.

When I first heard that some US states do not have mandatory inspections every year I was shocked.
http://www.graphics.stanford.edu/~niessner/thies2016face.htm...
Sounds like NPM should move to pulling in the code from specific github tags or something? although I suppose, github is also "private land"...
> Human beings are complicated and difficult to study

Well that's a positive way to put it. I wonder whether it is possible to find steady cause and effect patterns at all.

Same goes for economy (which IS basically a proxy for human behavior). You can certainly have a go at documenting its history but the present and future are probably not predictable because they are subject to evolutionary responses.
When I had to take an economics 101 class negative interest rates were out of the question and look what we have now.
Is there a windows one?
We also need some way to link packages to authors. In the Java world packages are supposed to be in a namespace that's the reverse domain name, so you could (potentially, theoretically) connect that up with something like DNSSEC and enforce that people can only publish packages for domains that they control. (Though even that is really just punting the problem up to the DNS registries).
I think that FP is a valuable addition, but not strictly better than OOP (or procedural/imperative). I think that some problems are better expressed in FP, and some are better expressed in an imperative manner and a language should let you choose.

edit: s/think/BELIEVE/
How iPhone encryption works, in layman's terms
Is it right now to expect browsers to render markdown file natively?
Mozilla lays off part of Firefox OS team
Would love to hear more on your usage as a graph database, especially in light of http://static.googleusercontent.com/media/research.google.co...
Every written line of code is a liability. By maintaining an internal fork of an opensource you are actually putting a burden on your business and no longer receive the latest patches for free.

>the improvement is lost for the rest of the people.
You are forgetting that businesses sell a product. You can get the improvements by buying their product.

If the business saves money because they used opensource technology this should translate into lower costs and it follows that they will reduce prices (after all they have to compete with free as in beer!) for their customers.

If you don't want them to earn money from your MIT code you can always try to erode their profits by implementing similar improvements.
This is exactly what I thought it was. In fact, my imagination flashed forward to a typical SaaS page with pricing tables and everything depending on the level of "Justice" you want served.

The $49 package is a firm knock on the door, some harsh words, and light intimidation to motivate the servee to make things right.

The $99 package is a everything in the $49 package, plus some unsavory physical intimidation.

And the final $299 is the "Justice Served" package. Full Stop.
Why is it all videos?

Text is so much better for evaluating arguments. When reading you can spend variable time on different parts to skim the obvious and go deep into the more difficult stuff, you can random access it later to refresh your memory, you can quote it.

Videos are probably only better in persuading people - but that requires that they watch them (and maybe get some stockholm syndrome after wasting so much time :).
It should be noted that basically all tools use the same format: text. And badly behaving tools can be cooerced with a single line of awk.
But it's not immaterial. When a company becomes aware that its patent should not have been granted and can be invalidated, it is entirely (and legally) pertinent when considering bad faith enforcement actions.

In this case, the company is likely now aware that the particular "stolen" arrows in question had been designed and manufactured by that manufacturer many years before this company filed its patent.

The company is not protecting itself against copies of an idea that it came up with.
http://www.ieee.org/conferences_events/conferences/conferenc...
Thanks for your answer, although its worrying we need to have a lawyer around to see how we can signup without accidentally violating my local country's VAT regulations as a developer who just wants to pay and build stuff :(
This dichotomy is silly. You should write as little code as possible to do the job required, and should use only the dependencies required. This might be none, or nearly everything, depending on what your app or library is supposed to do.
A lot better than MS-DOS's 8.3!

14 bytes for filename, and as I recall 2 for the inode in that particular filesystem, so a total of 16 bytes per directory entry. I'm not sure what the typical minimal disk space budget was, but assume as little as 5 MiB, e.g. 2 RK05s, so you had to make every byte count. On a student run computer center I started with the Logo Lab's surplus PDP-11/45, we considered ourselves very lucky to have scored the prototype CONS Lisp Machine's CDC SMD 80 MiB (unformatted) drive to run the system on. Note that the latest Haswell Xeon CPUs are getting up to a max of 45 MiB L3 cache....

What was much worse was that many programs just opened directories as files (which of course they are) and assumed that format, which caused more than a little pain when we moved to bigger machines and more sophisticated filesystems.
Microsoft A.I chatbot for Twitter, Tay is here to disrupt your productivity
OT, but that one side loses doesn't mean they're wrong, just like if one side loses a battle doesn't mean they don't know how to fight. It might just mean that the other side was better; or got lucky.
Poor guys...
Thanks - kicked off a resize, that may not have been the best idea. That'll teach me for hanging on to mainframe-era blogging technology :-)
This. I'm on Windows. Npm never worked for me, like not at all. Npm has cost me lots of wasted time, I know I should be thankful for this free product, but, but, Grrrrr...
It was 3800 lines of code before, and it's 3800 lines of code after. Let's spend the remaining 45 minutes discussing why my personal preferences are correct, and OOP is garbage.
IPFS with public keys per developer and signing of packages would solve that.
I was thinking mostly of the boards that decides what is allowed OTC and what needs a prescription. Regardsless, people should consult their doctor if they have a long term issue, regardless if it can be controlled with OTC medicine or not.
I can't remember who said this, but it seems apt: "Don't ask if they do regular backups -- ask if they do regular restores".
LaTeX is given as an example of a markup language alongside HTML.

Is it allowed to be both that and a turing-complete programming language?
I've still got my 2004 Toyota Matrix (first car) which just hit >100,000 miles this year, nothing compared to other stories out there I'm sure, but impressive for the little amount of trouble it's caused me. One thing that scares me about getting a new car is that this one has kept me so safe, and been so reliable for 10+ years, can another car do that for me?
If they receive a court order, and there is no technical way to do that, then the court is out of luck. "A court might order it in the future" is not a design constraint on your decisions today.
How does the actual belief in paradise have anything to do with politics?
The 'Bad' one is all about personal opinions, no real arguments beside a bunch of information already well-know about oop and that has been discussed by years. And honestly, it looks like a iluminatti conspirancy video, with the boring narration, the sensationalist tone, the black screen. ugh.
Indeed, they've done some great work.

It's times like this that make me I'm glad I'm not a developer. If I were, I'd be forever worried that today is the day I open up my mail client and see a new message from 'taviso@'.
No, he's just careful and professional.

Pulling packages from npm on every build in relying on it seems like fine for a little startup that no one would actually care if it went down for a day or two. That's fine.

But there are plenty of applications where it would be a catastrophic fuck up to break things because someone somewhere decided to delete something.
Yup, same here. I thought it actually read pretty recklessly. Nostalgia is one thing, nostalgia to the point of danger is another thing altogether.
Given that it is unnecessary in 99.99% of the cases, it is always safe to assume that it is just a garbage, period.
OO in itself is not bad

But of course some people want to create 10 level class hierarchies, replace every 'if' with a subtype and using design patterns ate every occasion (especially the factory, so instead of writing 1 or 2 they will have a OneIntegerFactory, a TwoIntegerFactory, etc)

One advantage into Go for example is that it reduces the potential of misuse of "OO happy" people
And what would your reaction be if a SV start up didn't even have a token woman in their graphics?
Ravello, nested virtualization on public cloud
Is it just me or does the interface look ... familiar. Almost like GitHub from a few years ago.
About your third point, discoverability and optimization of dependency resolution can be solved by a proxy, in a decentralized system, like the one used in Go.
Thanks to this, I hope people will consider the way too common deployment approach when during the build time you pull stuff from npm (or whatever external package manager/repository), and if it fails, the build fails.

This is fine for small projects. There are tons of applications where availability is less important then development speed.

However, not being aware of the risks and tradeoffs you're making is just plain simple insanity.
Tribe Called Quest star Phife Dawg dies aged 45
There is no need to sign. Just keep a cryptographic hash (SHA256 is a good bet) of the package in the dependencies manifest, and check it after download.

Using a git repository gives you that for free.
They have used adjacency lists, which looks strange to me — this is a common way of representing graph data in memory, but doesn't map well to the relational model. I have used "extreme normalization", where all edges are represented as many-to-many relationships with associative tables.

Though I stored document relationships and social graphs, not semantic graphs, as they describe in this paper. I have little experience with semantic graphs — perhaps, they have different requirements.
China’s Youzu Interactive buys German online game developer Bigpoint for $89.7M
Where'd you pull the 50% statistic? In the U.S. it seems it's more like fewer than 14 people die for every 38,000 carjackings.
3'rd video in a series, comparing more and more complex pieces of code, trying to prove OOP is unnecessary in most real-world cases. Worth watching whether you agree with it or not - it can't be really TL;DR'd.
Record companies made $2.4B last year from streaming, but it’s not enough
Contributing to open source Swift
Down Syndrome heading for extinction in Denmark
Yep. My regular rant: until it is tested what you have the is just a file, or collection of files or other object(s), that might be a backup. You don't really have a backup until you have tested it.
Used their service! Awesome!!!!!
Vietnam Expecting Strong Capital Wave from Apple
I wrote a small paragraph about the warning [1] and how the new modules look like.

[1] : http://www.drinchev.com/blog/alert-npm-modules-hijacked/
The sheer wtf of having "windows running on windows" is worth of discarding this AV entirely. How do you like running TWO operating systems at all times? And people wonder why AVs make powerful machines struggle under minimal load...
Facebook Basketball messenger forever alone …
"More than a third faster than the shell script approach"

That's not quite a fair comparison. It uses 'awk' as the shell script baseline. The reference article points out that 'mawk' is faster than awk, and took the run-time from 18 seconds to 12 seconds.

Also, the 'find' isn't needed here because of the directory flattening, and because the list of filenames in 'data/ * .pgn' is so small.

Also, the original command-line code was too complicated. There's a much easier and faster way to get the same answer. But to get there I have to point out that the original code and the re-implementation contain a bug. They assign "0-0" and "0--0" as a win for black, when it should be a draw.

Timing are on my laptop, a 2011 MacBook Pro, reporting only the real time, and ensuring the data is in cache.

$ time cat *.pgn > /dev/null

real	0m1.523s

(If I purge the cache, this goes to 1m45.176s!)

Using the awk script from the reference code, without the find:

$ time grep -h "Result" *.pgn | awk '{ split($0, a, "-"); \
res = substr(a[1], length(a [1]), 1); if (res == 1) white++; \
if (res == 0) black++; if (res == 2) draw++;} \
END { print NR, white, black, draw }'
9878269 3762840 2853647 3260769

real	0m44.169s

replace awk with gawk:

$ time grep -h "Result" *.pgn | gawk '{ split($0, a, "-"); \
res = substr(a[1], length(a [1]), 1); if (res == 1) white++; \
if (res == 0) black++; if (res == 2) draw++;} \
END { print NR, white, black, draw }'
9878269 3762840 2853647 3260769

real	0m22.970s

Use a more efficient awk script, and assign '0-0' and '0--0' as wins for black, to be bug compatible:

$ time grep -h Result *.pgn | awk '/0-[01]/||/0--0/ {black++} \
/1-0/ {white++} /1.2-1.2/ {draw++} END {print NR, white, black, draw}'
9878269 3762840 2853647 3260769

real	0m11.539s

Switch to gawk:

$ time grep -h Result *.pgn | gawk '/0-[01]/||/0--0/ {black++} \
/1-0/ {white++} /1.2-1.2/ {draw++} END {print NR, white, black, draw}'
9878269 3762840 2853647 3260769

real	0m8.065s

The result is significantly faster, still using the command-line.
I really doubt anyone checks them. It's not integrated or enabled by default, there's no way to pin keys in the build files, etc. GPG isn't the solution to such problems, unfortunately.

In one of my old projects (bitcoinj) we did write a Maven plugin that let you put the hashes of the dependencies into your build file.

However it's rare to see Maven/Gradle builds that accept version ranges. And once downloaded it's cached.
That was my thought as well. In order to justify the crass title, something a little more than a circular argument as evidence might have been called for.
While I'm sure the topic (and title) may be seen as hostile, this is a very nice code walkthrough and discussion.

The arguments against OOP seem to be 1) OOP obscures data structures by hiding them in too many data types, and 2) the boundaries created by these data types forces workarounds like extra fields to hold a root structure pointer even though it isn't part of the type.

OOP - in practice - does tend to encourage far too many types. A lot of these types are often represent code or design decisions, not the actual data. Instead of a "few" structs that clearly show how the data is organized, we tend to see OOP code that has the data structure spread out over various classes, interleaved with types that actually represent different actions (with the same data).

The solution I always try to keep in mind is that OOP can be useful if-and-only-if the data actually has a hierarchy. A single standalone class is equivalent to a basic struct passed to functions. The class only becomes worthwhile when are able to use polymorphism that closely model the data. The serious problems start when you try to force everything into a class; in extreme cases you end up with the Kingdom of Nouns[1]

The second argument seems to follow from the first; if you have too many types, you tend to take shortcuts like keeping a local reference to a parent or global object that is really outside your scope. This tight coupling creates maintenance problems and further confuses what the type is actually representing.

[1] http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom...
Dad? :)
Mods - the original article has an awful title but the piece itself has some interesting content.

Any chance of a title change?
And the very same person did this, to justify to lie to the whole humanity about the existence of aliens ... to keep them as stupid sheeps.

So I don't agree. It might be, that intelligent people give in to group pressure of a all in all much more stupid group.
But even if you have too much stupid people, their collective intelligence still pays off.
Glad you've brought up the dubbing/translating issue in Spain, because as I was reading the start of your comment I could remember how I played DOTT in perfect Spanish... And a lot of other LucasArts games (Indy Last Crusade & Indy Fate of Atlantis, Monkey Island, etc).

Now my computer doesn't even have a Spanish keyboard, let alone OS or any software running on it. Life is much easier now :)
Just reading this headline makes me queasy.
With 1000 of dependencies, I would be much more worried that one of them are proprietary licensed (or was ripped from a place with no copyright license attached and then had a new license added the original authors permission). Imagine distributing a "$100 per use" software for a few years without paying, and how the court system would react.

I guess this is why debian takes licenses so serious.
The Secret Startup That Saved the Worst Website in America
No, and I'm sure we'll realise that when it's all too late.
http://www.joelonsoftware.com/items/2009/12/14.html
The intent behind the remakes of Grim Fandango, Day of the Tentacle, and Full Throttle comes from a spirit of preservationism more than anything. The idea was to make these games easily purchasable and playable by modern audiences while keeping as much of the original games intact as possible. So you get things like cleaner audio, uprezzed graphics, simplified controls, and so-on, but nothing that radically changes the games.
Templates are a macro system. Macro systems are often Turing-complete. But if being Turing-complete was the only important thing in programming, then we'd all code in assembly and never look forward. Most programming languages are Turing-complete, but this doesn't mean they are practically equivalent for every job. You know, Brainfuck is also Turing-complete, but you'd be probably pissed-off if I said heavy-templated C++ code readability is often close to that of Brainfuck.

Macro systems can be very powerful, but they are also quite hard to use. It is 2016 and error messages in C++ templates are still inferior to the messages you get in C#, Java or Scala generics, despite templates existing for much longer.

C++ templates are also not the very best at metaprogramming either. Take any macro system like the ones found in LISPs, Scala or Template Haskell - they are much more powerful and consistent with the rest of the language. I can code Scala metaprograms in Scala or LISP metaprograms in LISP. But I can't code C++ metaprograms in C++, I have to use this weird duck-typed functional template language which doesn't have even loops or conditionals.
This is the most interesting thing you can find to talk about in this article?

This article describes an absolutely fascinating take on the origin of life. If correct it has profound ramifications for the way we design systems. It's "holy shit" stuff, it's potentially world changing research and the top comment hones in one tiny little detail. It hones in on a tiny insignificant detail of the article. Such toe curling, enraging pedantry. Get a grip. I despair of hacker news.
No - then you won't get updates easily and everyone reading your project would have to make sure that your copy of the module hasn't diverged from the original module before working with it, especially if it's a larger module that has full documentation and a community of people who know how to work on it.
‘Dune’ Can’t Capture the Novel’s Incalculable Brilliance