skysight-inc/HackerNews huggingface dataset:
Imagine a first year medical student who comes across a seriously injured pedestrian on a busy street, announces that they know first aid, and provides care on their own...but imagine that a passerby who was about to call an ambulance refrained because the student showed up and took charge

Then he's not following his first aid training. One of the first things they taught in my first aid class is to send someone for help first -- find someone in the crowd and tell them specifically to call 911. Don't just tell the crowd in general to call for help or everyone may assume someone else is doing it, direct someone in particular to call.
> use the right tool for the right job, and try to keep things as simple as possible

Now all we need to do is get the field to agree on universally applicable definitions of "right tool" and "simple", and never change any requirement after any technical decisions have been made, and we'll be all set!

I had a manager who used the term "ice cream" for phrases like this that sound good (everybody loves it!) but don't help drive any useful conversations or decisions. Should we use the right tool for the job, or the wrong one? Let's use the right one! OK, are we all agreed? Great! It's unanimous. Next issue.

Unfortunately, the 5 people sitting around the table each have a completely different conception of what this means, so we're no closer to a decision than when we started. It's simply not a useful guide or metric. I think it's mostly code for "be quiet and do as I say".
Fluid Messaging
I just dont think it matters if a foreign person (or bot farm) tries to sway an election? They aren't telling any more lies than the politicians, their PACs and/or supporters are already spreading. They just don't happen to be in the US, but we live in a global economy, with treaties, arms deals, pacts, etc.... If someone is dumb enough to be swayed by what they read on Twitter it doesn't matter who is sending the message. No one said the internet is a source of truth or honesty, and in reality there isn't much of that in US politics anyways, especially during an election campaign. This seems like political fodder and grandstanding by all parties.
It's important to safe guard how that data is used, but I'm not sure driving on a public road counts as a private activity. It's already illegal to drive an unregistered vehicle on a public road or to drive without the license plate displayed.
That's really funny, I had to have a look at the source:

https://github.com/git/git/blob/master/README.md

TL;DR: Git can stand for
> "goddamn idiotic truckload of sh*t": when it breaks
Targeted Mobile Traffic
> One of the central contradictions of capitalism is that what makes it work — competition

No.

Competition and Capitalism are literally antithetical. This is outlined better than I could ever explain in Zero To One by Peter Thiel, but in essence:

Capitalism is all about, including in its very name, the access to and deployment of Capital. Competition destroys Capital. In its most basic form, think of the airline industry. It's highly competitive, which forces airlines to run razer-thin margins and drop prices. This kills R&D, and while its great for consumers in the short-run, it can actually hurt consumers in the long run because it doesn't even matter if Delta would love to invest more R&D into more efficient planes, allowing them to make them roomier and cheaper; they can't, because they don't have the capital to spend on it.

In the worst case, companies abuse incumbent/monopolistic positions by sitting on their asses and doing nothing with the capital they bring in. That's why a market without competition gets a bad rep. But this isn't always the case, especially in the modern market where companies are deathly afraid of technological disruption.

Competition is necessary, but that doesn't make it a great thing. And it certainly is not a core component of capitalism; it's a core, necessary component of Free Markets.
And don’t use a class if it holds no state.
How I failed to hack my sleep
The best one I've tried is called: paperang.

You can find instructions by searching: "paperang paper airplane".

There is a TED talk about it: https://www.youtube.com/watch?v=VS7zcI_5Mp0
Ubuntu Linux 18.10 arrives
It's not really gut feeling. The following is very abstract but it's how I think about the "single-responsibility principle."

When you're designing a software system you need to step back from the individual components for a moment and consider the overall system -- who is using this system, what is the problem being solved here, and how does this solution relate to other problems and solutions within the system. It's not obvious only if you don't completely understand the problem domain, which most people don't.

If you find yourself thinking that some object's responsibility is ill-defined, you need to talk to whomever authored that part of the code to see if there's something you're missing about the system that the code controls. Either you are or they are, and at any rate the conversation will make the software system better somehow, which is the goal.

So once you understand the system and you understand the problem that you're trying to solve, and you think you have a solution, it's an exercise for you to sit down and identify specific activities that the software system has to undertake in order to solve the problem within the context of the system. You can consider these "responsibilities" at a top level and start partitioning them up further into classes that mutate and emit data in response to data received from other components of the system. The boundaries of these classes are interfaces, and each interface should be responsible for operating on a specific kind of data in response to its inputs.

Now the interface itself also needs to be defined in terms of the problem the class is solving. So you use words like "setMotorSpeed" on a class called "ConstantSpeedServo," and your ConstantSpeedServo might be composed with a "ValveController" which is responsible for controlling the position of a valve based on some input data.

This all goes back to thoroughly understanding the system you are controlling so that you can write code in terms of that system, but it goes beyond that in that you have to be very explicit in your understanding of what it is the system does in order to write software that accomplishes that goal.
> Except for the fact that objects can be serialized and ORM's exist to convert your data into OOP. How do you think Entity Framework works? How do you think Rails works? You can build almost an entire ORM from a database without even writing any code in Entity Framework.

That was actually sort of my point. You need all of this extra stuff _because_ your code is all objects. Data doesn't get serialised, data just gets sent and then it gets received. Why should you spend time serialising and de-serialising an object, when you can just send your map data structure directly? Maps can be represented 1:1 as e.g. JSON. Any JSON data is basically a big map data structure. It's one function call instead of hours of writing ORM classes or custom serialisation methods just to send some data over a wire.

> Except Clojure uses OOP principles and even admits to saying it uses immutable objects in the form of interfaces. Interfaces are essentially stripped down abstract classes. How this is not a subset of OOP, I don't know.

You don't use interfaces in Clojure, you tend to use multi-methods for most purposes where an interface is needed.

I wouldn't say Clojure uses OOP principles. Its core is written in Java, so obviously that part is forced to use objects, but that is only used to create the immutable data structures used in Clojure, which are represented as data literals, not as objects. You typically don't operate on objects in Clojure unless you're doing interop with Java or JavaScript. Instead what you do is use pure functions that take immutable data as input and spits out new immutable data. There is no object to consider, only the raw input data. A vector or a map is as much of an object as a struct or an enum. Those are data types that also existed in C, not exactly intended as an object-oriented language.

> I'm sure Clojure is great, but can you write interactive applications with it without integrating OOP libraries?

Well, yeah? Why wouldn't you be able to?
Personally the content style isn't my sort of thing. It seems to follow the trend of having a light tone, lots of inline images, and other features which seem to make it into a 'medium-style' post (it's not necessarily bad, just not my thing).

What is your goal out of writing? If you can nail that down, then it should be easier to improve or at least see what needs improving.
I like Calculus Made Easy because it uses informal infinitesimals. You can make these fully rigorous if you want and they're a much more intuitive technique than epsilon-delta.
What makes a development roadmap so useful?
The engineering organization where I work is full of dysfunction. This is because numerous poor practices were ignored or encouraged over the years. Now there is strong inertia against change because the incompetent long-timers know all the tricks and manage their job security through the system as it is.

This is not uncommon especially in the Bay Area.
The moral seems to be "Don't do anything, because there are always too many risks, many of which aren't obvious." If we followed this, nothing would ever get invented or done, and we'd still be hunter gatherers, so I'm not really feeling it.
Can you please point out exactly what I said when you say 'the behavior I'm criticizing OOP for'. Haskell typeclasses are very different from OOP inheritance or OOP classes. In any case, I don't see how that relates to the explicit criticisms I made.
Probably every company outside the startup domain? If you're working on product-market fit, then you can expect to discard lots of systems, however, that's a niche and even startups are only temporarily in that position (unless they fail). For any business where there is a clear product-market fit (which, employee-wise, is pretty much all businesses) the systems rarely go away, they accumulate - if you're not a startup, or if you have found your product-market fit, then you expect that your products and processes won't disappear after 5 months or 5 years, and neither will the code that supports them, unless it's so broken that it's prudent to invest in a full rewrite.

Even if a company fails, their products, processes (and code) usually get absorbed by some other company and need to be maintained - startups get acquihires that keep teams but discard products; "normal companies" get M&As that discard headcount but keep product lines, divisions and processes that require lots and lots of running code. The large companies often have multiple "inherited" codebases from all the other companies they have absorbed. And there is a lot of old code running; nothing is as permanent as temporary code - I have seen comments stating "this won't work properly on the boundary between fiscal years, but the system is scheduled to be replaced by then" that were made IIRC 6 years before I was looking at that system, so it obviously did not get replaced back then. In many industries a 10-year old company is a young company; heck, most of the current "internet startup unicorns" are 10, 20 or more years old; in established industries (you do know that the vast majority of software people work in non-software companies, right? most code is written for internal business needs, not sold as a service or product or consulting to others) there is a lot of mature code serving business processes that have been there for decades, will be there for decades, but often have some changes that require also code adaptations. The same goes for all the code that's inside industrial products - in the automotive industry, in home electronics industry, etc; you may have a new model of car every year, but most of the code in that car will be much older than that.

I mean, the trivial fact is that if we look across the whole industry, all the statistics show that the majority of programmer manpower is spent on maintenance. So the total costs of software are dominated by how easy it is to maintain it, and a lot of that comes from proper design that takes into account what the likely needs are going to be after a bunch of years.
That's true but only to a limited extent: if you see today's we still have active groups without spam, with highly valuable discussions...

Spam is a symptom of our social degradation, and it's not a thing of usenet nor internet nor IT, it's about our society that reforms schools to form Ford-model workers at any level because they are easier to manage, that promote ignorance just to sell more stuff etc. Something that ANY communication free, user-centric, platform, usenet included, can contribute to reduce. When we are citizens we tend to be honest (on average), when we are consumers we tend to be raw and the right answer we all know that's not put "more cops" like in the prohibitionist era in the US or Victorian era in UK but empower people. We know even from today's data, there are more unwanted teenage pregnancies in US state with "chastity tendency" than in countries like French or Sweden with a strong sexual education at school, there are more violence in "strong police" (sorry I do not know how to name it in English) like Russia, USA, UK, Arab world than in "soft police" countries like Swiss.
> I prefer the privacy of the waiter going and coming back

I don't. I creates an opportunity for credit card skimming.
Can anyone working on this project comment on how HopsFS compares to similar alternatives? The post and the paper compare it to HDFS, but that's not really fair - HDFS was not designed to handle huge quantities of small files, and if you use it for that, you will of course not get good performance. Competitive offerings would be things like Qumulo, Amazon EFS, Objective FS, perhaps BeeGFS & Lustre, and so on.
They’re guidelines and tools. You have to know how and when to use them. There are no unambigous rules in programming beyond what the language itself enforces. But that doesn’t mean some rules aren’t useful. As the saying goes in science: all models are wrong but some of them are useful. Or in art: you have to know the rules before you can break them.
I understood the question wasn't whether SNI is useless, but whether its primary goal of making it difficult to track website connections is being at least partially subverted by IPv6.
Child labor is much the same - a society can only ban it when it can afford to do so. An agrarian society has inevirably plenty of child labor, as part of the family. That said, you can probably ban companies from ever employing children, especially with the productivity level of current mass-production tech.

Investment in people is a red herring. You can give people choice and invest in them. Though guess what: developing countries (which is who we're talking about) don't have money to do the latter.
> To use ESNI you need DOH

This is a Firefox decision, not something required by the standard:

https://tools.ietf.org/html/draft-ietf-tls-esni-01#section-7

ESNI is best combined with DoH to prevent snooping (hence Firefox's apparent decision to tie the two features together), but obtaining the ESNI key does not strictly require DoH.
The public accepts prices more readily if they're broken up into smaller bits.

Sell a $4 muffin without tips, and you might lose business for being seen as "too expensive". Even if everyone always spent $4 anyway when you consider tips.

My favorite brand of fish fillets no longer come with packets of tartar sauce, because $8 for a box of breaded fish was seen as too expensive and they didn't sell well. So now the box is $6.25 and they have a display of little tartar sauce bottles for $1.75 next to the freezer. Sales more than tripled, or so claims my grocer.

I agree with you overall, and I don't think the psychological trick of dividing up the cost is a good reason to keep tipping going. Just mentioning it as a reason that seems to exist.
Whether they viewed them as a threat or food, modern humans (i.e. humans with fully developed hunting skills and weapons) who encountered megafauna that weren't afraid of them frequently slaughtered them to the point of extinction.
That's what I'm thinking.

Maybe the cost is paid in non-monetary ways even (can't message much when anonymous) and maybe the cost is along a continuum depending on how much anonymity is requested (email, but no real name, or location and age but no personally identifying info).
I never thought of Heinlein as especially patriotic or nationalistic; he was, on the other hand, a big fan of revolutions against oppressive regimes.
I grew up in a house of readers. My earliest exposure was a 500+ comic book collection before I knew how to read, which graduated to children's novels by early elementary, and devouring the classics beginning in 3rd grade. By high school I was finishing most the 'great american authors'. During HS french existentialists and the beatniks were perfect foundations for a too-smart-for-his-own-good arrogant teen. I am lucky to be alive. I dropped out of high school, but tricked my way into Harvard. Worked with Mandelbrot, was on the Sony PSX OS team, and quite a bit more. Primarily thanks to my exposure to multiple lifetimes of wisdom, generating inner confidence, thanks to reading. It's been quite entertaining, to say the least...
"You Aren't Going To Need It" is the most overlooked piece of advice anyone has ever given anyone.
If your browser is talking to a DNS resolver wired to your OS, that doesn't change what any upstream network observer sees, since they can observe DNS requests generated by your OS-level DNS resolver exactly as they would observe DNS requests generated by your browser.

DOH isn't about trust. It's about preventing network observers from figuring out what sites you visit by observing the DNS requests you make.
last.fm. the best music discovery community. I wish I could afford to buy it back from whoever owns it now and is letting it die slowly.
I usually love your moderation, dang, and agree with you 99.99% of the time. But I think the parent here's criticism of the article does add something - the idea of genetics as a powerful confounding variable. He could have expanded on it, but it didn't add nothing.
"I treat 99% of studies with a grain of salt"

now with microplastics! :P (sorry, i couldn't help myself)
How We Sped Up Unit Test Performance by 10x at Qri
I remember Jean-Marc Valin, the guy from Xiph published a noise suppression algorithm using RNN a year ago [1]. I thought it was just an experimental project that will be abandoned soon. But they really integrated RNN to the codec.

Great job Xiph!

[1]: https://news.ycombinator.com/item?id=15362982
Here's the article in short.

1. "Roland Omnès says the idea that every little quantum “measurement” spawns a world “gives an undue importance to the little differences generated by quantum events, as if each of them were vital to the universe.” This, he says, is contrary to what we generally learn from physics: that most of the fine details make no difference at all to what happens at larger scales."

2. "What can it mean to say that splittings generate copies of me? In what sense are those other copies “me?”" / "Consciousness relies on experience, and experience is not an instantaneous property: It takes time, not least because the brain’s neurons themselves take a few milliseconds to fire. You can’t “locate” consciousness in a universe that is frantically splitting countless times every nanosecond"

3. "You could become a billionaire by playing quantum Russian roulette. Your quantum splitter is activated while you sleep, and if the dial says Up then you’re given a billion dollars when you wake. If it shows Down then you are put to death painlessly in your sleep." / "But a committed Everettian should have no hesitation about doing so using the quantum splitter. For you can be certain, in this view, that you’ll wake up to be presented with the cash. Of course, only one of “you” wakes up at all; the others have been killed. But those other yous knew nothing of their demise. Sure, you might worry about the grief afflicted on family and friends in those other worlds. But that aside, the rational choice is to play the game."

4. "Alice is put to sleep before the measurement is made, knowing she will be wheeled into one of two identical rooms depending on the outcome. Both rooms contain a chest. Inside one is twice her stake, while the other is empty." / "But what if Alice were to say, “The experience I will have is that I will wake up in a room containing a chest that has a 100-percent chance of being empty”? The Everettian must accept this statement as a true and rational belief too, for the initial “I” here must apply to both Alices in the future." / "In other words, Alice Before can’t use quantum mechanics to predict what will happen to her in a way that can be articulated — because there is no logical way to talk about “her” at any moment except the conscious present (which, in a frantically splitting universe, doesn’t exist)."

Sengachi's reply in the comments below basically summarises my reaction.
Its the only choice available because the previous means of survival was at best subsistence farming. And it isn't guaranteed to happen, but impoverished countries will never enter modern society if they are just isolated from it for labor protections sake.

The trickle of money from the pockets of capitalists into the dictators of Indochina in exchange for functionally slave labor is still better than if these countries had nothing to offer the world at all.

You would want the optimistic capitalist means to uplift the third world to be simple investment - you take a country with nothing to offer and no resources, invest money in it to educate its people and develop its infrastructure, and then you would have their substantially improved productivity to profit off.

But that has never happened on just the backs of dollars because there is no way to risk manage that kind of arrangement. It almost always comes second to bombs or prophets as a way to provide that collateral - even if the country fails to recoup the investment, you can pillage the natural resources or convert its people into adherents of your own culture. Because those acting in self interest are approaching a scenario where the other party has nothing to offer (except idle hands) and you have everything.
If you use a typical IDE that comes with Squeak or VisualWorks, you can quickly inspect a lot of idiomatic code from the standard library. The most common mistake I have seen is that people who know about other programming languages, start looking at OOP as a way to separate and organize code.

Instead, it starts from the other side: OOP is based on a few core concepts, and those concepts are critical to understanding OOP. The first concept is 'Everything is an object', the second might be 'Objects can receive messages'. So if you have some code:

1 + 2

It means that there is an object '1' which receives a message '+ 2'. If '1' is an Integer, Float, String or whatever might be relevant for its inner workings but if you want to understand OOP you first have to understand the concept-side of it (and ignore the implementation). Once you know the concepts, you can reason about good and bad implementation/code.

You might wonder about the preachy tone, but in the beginning, it took me a few months before I understood that I was trying to understand OOP from the wrong side (at the time I was thinking in C) and I would like others to have a quicker start than I had.
Can a world without passwords be secure?