skysight-inc/HackerNews huggingface dataset:
I find the fluent style programming to be much more readable. But in OOP you would define an IHittable interface or use AOP like you suggested.
Ok nice, then you get a huge if tree for all different monsters and weapons.
That doesn't look great :/

It's not clear what the job was though. It seems it was sales related which makes it a bit better IMO.
I think you need to read that sentence with emphasis on "seem". They make this clear two sentences later:

> In recent years, however, security researchers have demonstrated that it is possible to fool many, if not most, forms of biometric identification.
The Future of Emails Is Private with Tutanota's New Email Client
Completely anecdotal experience: a year ago, after getting started with meditating regularly, I realized breathing "deeply" (through the nose and "with the belly") for more than 5 minutes straight, had a big impact on my energy levels and focus for a few hours. So I decided to do it the whole day for a full week.

It was incredible, my mind was completely clear all the time, I felt great, and my wife noticed that I even stopped snoring.

Since then I've done it again a few times, but can never sustain it for more than a few days.

It's super simple, but building the habit is very hard.
'unique' indeed.
this is a curiosity at best, recognizing odors is not what i would call an essential skill anymore.
Note that you don't need an extension to proxy in Firefox, which has built-in support for SOCKS proxies (go to "Options" and search for "proxy"); all you need is an SSH client and a server that you can SSH into (`ssh -D 1234 foo@example.com`). I don't use it for privacy (rather, to prevent MITM on public networks), but it seems to avoid the pitfalls discussed in the article (e.g. does not allow split tunneling and DNS is resolved over the proxy). However, I suspect that if you were running a Flash or Java plugin then that could make network requests that bypass this proxy.
The Power of Silicon Valley
Many of the named providers offer video APIs for detecting this content. Will work out much cheaper than throwing every frame at the image APIs.
> Instead of a well-designed data store, OOP projects tend to look like a huge spaghetti graph of objects pointing at each other and methods taking long argument lists.

Uh, what? FP projects are the ones with crazy argument lists, has OP even heard of the Law of Demeter? Does FP magically prohibit a huge spaghetti graph of functions and ad-hoc types pointing at each other?

> The main point is: just because my software operates in a domain with concepts of eg. Customers and Orders, doesn't mean there is any Customer class, with methods associated with it.

What an observation, it's all a bucket of bits so why name anything? Rub your hands together, mutter an incantation and voila, software without all that obnoxious structure!
If I recall correctly, the world3 model which the authors of 'the limits to growth' used also utilized fluids to simulate the increasing, or diminishing influence of different factors on our ecosystem.
Iridium Browser – Latest build now available for Fedora 28 and 29
I don't know where I read it, but it always stuck to me:

identification is more like a username, not a password, and should be used as such.
The user interface of scissors and scale is much faster than the human/computer user interface for numerical integration after fitting a smoothed curve to the measured data.

The human scissor operator, in theory, can exercise far better judgment at throwing out invalid data points than an algorithm, when fitting curves. (When I was measuring datapoint 15 I know I was distracted, no surprise its an outlier, I can safely disregard it completely, etc)
I would suggest that boilerplate is small price to pay for having a compiler enforce design discipline and conventions. Remember that code should be written for both the run time environment and next coder who will have to understand it. Constraints enforced in java often make it easier for the next dev. I suspect part of this is that in unconstrained languages, there are so many ways of doing the same thing that pattern recognition become more difficult for all but the most experienced programmers.
Sorry, but this is just not true at all. There are thousands of open (and closed) source projects, software, and services that do not fall under this silly statement.

Does it mean that if you do pay for a product, that you still can't "be the product"?

Blanket statements shouldn't be anyone's motto.
Thank you for posting this snippet of code, to me, it acts like the episode of the madeleine in the Swann's way.

as you said, nowadays people are using String.split
```
List.of(str.split(","))
``
which is less poetic.
> again IMO, demonstrate that the author never really understood OOP.

I find arguments like this (legitimately fascinating). Obviously an amount of investment into learning common concepts is required. At the same time, if a topic is too complex for most to "truly understand" than it isnt useful.

How do we know the difference? What standards do we hold other coders to, and what expectations do we hold ourselves to?

I'd love to hear if there is much research on the topic. It is easy to find opinion articles, hard to fund data.
Great summarization! Saved a lot of googling for me. Thanks for this.
How's that any different to a 'classical OOP' approach?
My problem with OOP is debugging it when things go wrong.
It seems scary how wrong our understanding sometimes goes. We can get many details right and yet totally miss the essence. Roman and ancient Greek buildings have all been bleached by the wind over time. Which makes us think they were white because they used pretty white concrete. That's what they look now.

In fact they were very colorful, with drawings everywhere.

Same thing with their texts. The surviving texts have been selected. First by Romans themselves, then by medieval religious people. And while at least Christians were very good about copying letter by letter (thus preserving the less Christian aspects of the texts, with tidbits like celebrating Sentors' birthdays with "no more than 3 prostitutes per senator, and 2 per guest", along with the medical knowledge that that attitude preserved as well), they're still selected works.

Over the past 3-4 decades it's become clear that Romans, at least in the center of the Empire, were vulgar (constant cursing, prostitution at a scale you wouldn't believe, orgies, parties, wine and alcohol everywhere and for every last occassion. They had advertisements (which were fun, because most people in Rome couldn't read. There was thus no point in making a commercial message like "best doctor ever" or "pools improved again", "now cheaper" ... no point, they'd just paint an emblem on essentially any wall)

People would graffiti down contact info for people's wives, children, slaves, or just the people themselves, insulting them by listing what sex acts they're (one presumes allegedly) good at. Or just questioning their legal status or the like.

That's the sort of society that existed in the center of the ancient world. This cold, stoic, organized, rigid society you see in every movie and quite a few books probably never existed.
I'm a big thinkpad fan, and I prefer the trackpoint to trackpads. You never have to move your hands out of position, and the benefit of that is hard to communicate to someone who is used to trackpads. You can also have better form factors, better keyboards, etc, because you don't need to leave a big chunk of space free for the trackpad.

FWIW I'm ok with trackpads too; I'm an engineer and all my jobs have given me an MBP for work. But like, I'm never pinching and zooming, keyboard shortcuts work just fine for paging and back/forward. Love I know gestures have been successful because keyboard shortcuts aren't intuitive, but to someone like me who uses them, gestures just seem like gimmicks for which we sacrifice smaller laptops and bigger keyboards.

Also FWIW I dislike naming things after genitals. I find it crude and vaguely misogynistic in this case, and wish people would stop.
1. Stop teaching OOP with C++.
2. Document the anti patterns.

OOP is not bad otherwise. I can't see how GUI frameworks can be easy and powerful without OOP.
Summarize english text, articles or news
Firefox has a checkbox to force DNS through the tunnel. Also,turn on dns over https in firefox and it won't do DNS lookups. I don't know if plugins are allowed to interface with host system's network stack,but if they're not then even plugins may not be able to bypass.
Yep, I used them so send money every month between EU countries and the money is available literally instantly, compared to 2-3 days for a regular bank transfer. The rates are better too. You can also lock your transfer rate for up to 24 hours, so if you think there's a chance there rate will be better the next day you can lock your transfer rate for a day - if it improves, just schedule another transfer. If it goes down, then send the one planned the day before. It's really good.
I think the biggest risk a random user faces is when a single entity is storing their connection history and then sells it (or it gets leaked, or demanded by law enforcement).

Some rando at a coffee shop sniffing my traffic will get a tiny portion of my online life, but my ISP or a few other large firms can build a much bigger privacy-destroying picture of my behavior.

My concern with a large VPN company is that there is now a single place where all my traffic can be gathered, trivially.

As an aside, I use Striesand - https://github.com/StreisandEffect/streisand - to create my own VPN. I generally create a new one every week or so with a simple script and I tend to rotate hosting providers fairly regularly. It's definitely not completely secure, but it's very fast, very cheap and works well for all my devices.
I like the web now
And honestly they're not that convenient. The Touch ID in my iPhone 8+ rejects my print at least a dozen times a day. On some days it rejects it many times in a row, forcing me to key in my unlock code.

Research like this, while ostensibly threatening an increase in false positives (due to unauthorized use of fake prints), will in all likelihood cause vendors to tighten the confidence interval, leading to greatly increased false negatives. If my print is recognized less than half the time I'm just going to disable the feature.
Patents are open source by default. This is a non-aggression pact.

Also: Hasn't this been out for weeks?
This may not answer your question and may not be 100% correct.

Message passing means that objects have their own data and do not have shared access to it. This makes multi-threading and parallelized code very easy to do because you don't have to worry about data changing unexpectedly. Clojure, and other languages, achieve this by making data immutable, which has a similar effect.

As you mentioned, after Alan Kay used the term "object-oriented" to describe Smalltalk, people focused on the objects instead of the messages and created languages designed around the idea of being object-oriented instead of around message passing (I believe Objective-C and Ruby do message passing), thereby missing the benefit. All OOPLs not based on message passing should die.

Also, unlike Java, Smalltalk has no classes. Any existing object can be used as a template to create a new object.
> the Customer concept is just a bunch of data in a tabular form in one or more DataStores, and “business logic” code manipulates the data directly.

where lives this business logic? are different functions accessing the same data and modifying it? problems appears.
I think for enterprise type software OOP works well. It easily allows us to re-use code and solve common problems once in a parent class and have that solution easily propagated to child classes.

However, when developing a video game, I ran into quite a few OO design conundrums that IMO were the hardest programming problems to solve in my career. I started looking into data driven design, and while I never changed my code to implement it, it looked like it might have been easier for the video game. I do not know for sure. But I do know that getting OO right in the video game I was implementing was daunting. Maybe I was doing it wrong. The one issue we kept running into was how to design it so that the flow of dependencies flowed in one direction. That is to say, classes should not require references to classes that were higher up the food chain, and vice versa. It sucked when you realize that your Bullet class requires a reference to the BattleField class when the BattleField object was not being passed down through all the intermediate objects that separated the two. I would be willing to say that it could have been poor design, or rather not realizing that dependency earlier in the process to deal with it. But many things we did not know till the requirement or change came up. Then it was programming somersaults to deal with it. Eventually we did get better at re-arranging things as things came up, basically we got used to having to change a lot of the design at a drop of a dime.

I do not know if data driven design would have helped, but it did sound like it was worth a shot. I must admit though, I do remember a data driven program i worked on, and it bothered me how much data had to be passed around that was not relevant to the method/class that was using it. And a lot of data got lumped together out of convenience.
How Anny Divya became one of the youngest women commanders of Boeing 777
My New Vagina Won't Make Me Happy
I’d think using flash memory for the file system on an industrial controller is another big problem. I had nothing but crashes with an RPI due to filesytem issues. Flash memory was intended for bulk R/W, not random access.
are there ssd or winchester drives that can plug into the sd card slot? Of course, the drive would need an additional power supply.

Or maybe this is just over-engineered, and maybe someone makes a pi that uses an SSD by default.
Pretty sure parent comment was specifically referring to violence as I don't recall explicit nudity in Star Trek movies (just suggested nudity).
No need to apologize, happy to see the story discussed at all. And I’ve had plenty of dupes of my own upvoted over the original submission, it’s just a matter of chance
Facebook admission caps year from hell
Have we established that only terrestrial planets can host life?
>it is common because academia loves OOP.

Maybe we're exposed to different evidence but it seems like academia heavily favors non-OOP such as functional programming. Programmers also make repeated citations to SICP class they enjoyed in college but were forced to deal with OOP when they got a real job. It's the commercial industry that pushed OOP. Universities seem very anti-OOP while commercial businesses like Adobe/Microsoft/Google use OOP languages like C++. Other companies that write back office "enterprisey" software also favor OOP languages like Java/C# over non-OOP such as Haskell. I also remember the 1990s when professional programming magazines had monthly articles evangelizing the new thing called "object oriented programming" and you had full-page ads for Turbo C++ and Microsoft C++ that touted its new OOP features.

>My favorite example of how everything falls apart in due time is the color of a car. That's it, right? A car has a color. A Porsche Panamera might be a "carbon grey metallic" and it's stunning, but that's just one color still. Aye, up until the Mini Cooper tells you they need two colors. This world doesn't fit the OOP straightjacket.

I don't understand why your example as you've constructed it proves what you want it to prove. If we use your "car color" as a text template to test the validity of other computer science ideas:

Database table paradigm:

create table car (
vehicle_id varchar(20),
color_code varchar(1)
);

... but a car like Mini Cooper can have more than one color. The world doesn't fit the relational table straitjacket.

Algebraic data types such as product type:

struct {
char vehicle_id[20];
char color_code[1];
};

... but a car like Mini Cooper can have more than one color. The world doesn't fit the algebraic data types straitjacket. The world also doesn't fit structs. It doesn't fit the char data type, or array of chars, and so on.

It seems like your example applies to any and all computer science concepts that attempt to model real-world data so maybe I'm missing something?
But this is often the result of the good property of OOP software. OOP software is easy to write, and allows for easily abstracting over problems.

The net result is OOP programs tend to be more complex. Not "more complex than equivalent software". More complex. But also more capable, more abstract, easier to extend, at least along foreseen lines, easier to change (although that's mostly a tooling thing I think).

But yes, bigger, more intricate software is more difficult to debug. Also abstractions don't help, because often the problem is that there are edge cases where the abstraction doesn't work. Also debugging with abstractions require you to know and understand what the abstraction does.
“OOP apologists will respond that it's a matter of developer skill, to keep abstractions in check.”

In my experience, the proliferation and use of ORMs makes keeping abstractions in check nearly impossible... in fact, I see ORM use as the primary design decision leading to the bastardization and convolution of sound OOP design.
How can you trust them wwhen the code isn't open? I'll stick to signal
Not sure but if I had to guess, not. They are incorporated on their own so that corp suffers the fine. Linkedin must be making over $1 billion a year...so it will bite and EU can repeat on future violations
Smalltalk does "OOP" properly because it focuses on message passing, the real benefit of "OOP". Any OOPL that isn't based on message passing is degenerate.
Not true, see the Mandate of Heaven and its emphasis on Right of Rebellion: https://en.m.wikipedia.org/wiki/Mandate_of_Heaven

If famines persisted, it was seen as as the doing of the emperor and that they were unworthy and thus could be replaced by anyone who had military strength, the Han dynasty founder was essentially a middle-class policeman.

Moreover emperors have long been got rid of by the Chinese Revolution of 1911, if people are sheeple, why would they violently depose their emperor?

You seem to also have forgotten the Tiananmen protests and subsequent massacre, which were against the Cultural Revolution and Great Famine.
I think most people forget that Edsger W. Dijkstra was a computer scientist not a software engineer. He most likely wrote programs, but not build software systems. As much as I've enjoyed most of his writings and musings, one must bear in mind that they most likely apply to programs not software systems built in the large. If you are writing one little program and have one type of data, it's easy to begin with data. When you have a complex system operating on 500 different types of data, it becomes easier to encapsulate with OOP.
> I'm always confused when people criticize OOP, because most of the time the criticisms they use are just plain bad programming

Every paradigm can implement any type of program needed, in principle. The point of criticising a paradigm is to argue to what extent that paradigm encourages that bad programming you mention. If OOP naturally frames problems in a way that leads most people to bad solutions for common problems, that's a legitimate criticism.
Imagine if the US had leaders obligated to resign when projects ran overbudget.
I was not even aware many people breathe through the mouth apparently, until now. As a young child I did too, and was taught to use my nose. Since then I presumed that that was the norm, and everyone did that.
Where is Adam Nemecek? (https://news.ycombinator.com/user?id=adamnemecek)

/press Quaternion Alert button
You sure those physical cards are 'free'? They were £5 when I had an account.
I meditate a lot and I think you got me for a half a breath. Then I just “let the breath happen.” It’s pretty weird to be able to do that (I have only been meditating for a few months).
I didn't use it on my 5S, and thought FaceID and the fingerprint reading on the touch bar was very gimmicky until I got both of them. Now I can barely imagine living without them, unsafe or not.
Flailing wildly?! Ha! What is it, exactly you think their algorithms do besides detecting sexually explicit imagery? You know it's mostly machines that are flagging videos for review before a human decides whether it's porn or not, right?
Bloomberg loves to recycle Tesla news with less information. The original announcement by Munro on Autoline has already been posted here.
I can imagine a situation where people feel they have little choice but support the status quo, that does not make them too dumb to see their self interest. There are quite a few reports from the Civil War on both sides of men rising up against conscription as the war dragged on or in the North of whites taking it out on blacks as it was their fault.

There's also the trope of the bonding that takes place within smaller military units that makes them committed not to the cause but to each other.

In addition the other side of people too dumb to see their self interest, I am not saying these people are dumb but we see that today if we turn on the news to see for one example - farmers rationalizing themselves being hurt by retaliatory tariffs on American farm stuffs - they seem cognizant of the problem, aware of the higher order consequences for themselves, and willing to accept them to try what seems to be on some terms a way to attempt for fair trade with China, and still support the President. It may be rationalizing but it's not done out of ignorance or stupidity.

What you are asking for in the end sound like some equivalent to Psychohistory in Asimov's Foundation, which would be a neat idea.
I shudder to think how bad ANH would have been if Lucas had his way. We had a 1st taste in ROTJ and full-Lucas vision in the prequels.
What did you expect. This is on vice.com. A sensationlist ajenda pushing entertainment news site.

Why things posted from vice, vox and the likes are always shwoing up on HN I will never know.
Am I the only irritated by these inevitable questions from people with no sense of literary craft any time an article from the New Yorker is posted on HN?
> When something else outside monster/weapon/damage/environment has to change the hit calculations

When something should change, you edit the freakin' code. There is no way around it. If you have different kinds of hits then you make different procedures. e.g. magicPixieDustHit(monster, pixieDust, weapon, damage).

> Side effects are terrible for maintenance and debugging

FP apologetists want to make you believe that, but side effects are the actual point of the program.

> The point is for it to be more human readable

hit(player, weapon, monster)

Player.hits(Monster).with(Weapon)

I mean at least acknowledge that that's a highly subjective statement...
Ottawa County courts piloting robot greeter
Encapsulation never was my favorite aspect of OOP too, in fact I always try to create different classes for data and code - it brings in a lot of benefits. But OOP patterns described by GoF are brilliant things in terms of code reuse and maintenance costs.
They are only disposable if there are no outstanding charges. For example, try to conveniently opt out of a newspaper subscription and you may find your account is closed at no notice, as mine was.
They are establishing a link between the nose and smelling.

I don't find that useful or interesting.
first 3-7 years of intensive physical practices then only begin to investigate pranyama.

https://shadowyoga.com/newsletter/pra%E1%B9%87ayama/

"""
Clarity about the required procedures, the appropriate tools and their use will allow one to tread the path of self-cultivation with the minimum of setbacks. Confusion will result in the multiplication of these setbacks, and the accumulation of injuries and disappointments will eventually result in the collapse of ones undertaking.
"""