skysight-inc/HackerNews huggingface dataset:
Inventing the wheel is no longer considered significant in the way you seem to imply - see e.g. https://uncoveredhistory.com/mesoamerica/wheeled-toys/ :

> Archaeology has now revealed that the wheel wasn’t invented until the 4th millennium BC – which puts it thousands of years after the first cities were built and after the invention of metallurgy, and its importance in determining the intelligence of a race is no longer rational.

Boats solve a more basic problem. No-one needs wheels - there are other means of transportation available.

Also, the above article points out that Mesoamericans seem to have independently invented the wheel, and even made wheeled toys.

You could say something similar about the Polynesians, although they came later
Can't say I appreciate the click bait headline but I do think this is a nice summary of the situation. It attempts to account for both sides as the author says:

> Picture yourself in a hostile male-dominated environment, getting interrupted at meetings, being ignored, having your abilities doubted, and along comes some guy arguing that women are on average less status hungry and more vulnerable to stress. Of course you’d object.

while also trying to properly represent Damore's argument; something that many news outlets, Brown, Wojcicki, and Pichai all fail to do.

The author concludes that Pichai lacks leadership because he, perhaps purposely, misrepresented Damore's memo and has been unsuccessful in diffusing the situation.
That's what I dislike with the recent Jetbrains products.

Designer replied they were fixing the problem of the colorful icons being too "distracting". Still don't understand how a grey UI with grey icons is better...
OO is just a tool, a powerful one at that. Like any tool, it can be abused, overused and incorrectly used - the classic comment that comes to mind is:

"When the tool you have in your hand is a hammer, every problem looks like a nail..."
State doesn't magically disappear in FP. It just isn't given a name but it's still here, in your closures.
It seems to me the printing press actually improved things, but in more recent time the educating power and self improvement potential of books got significantly diluted by drowning books into huge numbers of published entertainment pieces. Entertainment took over knowledge.

What's entertainment and what's knowledge? Where do you fit Fahrenheit 451?
> Rust "feels" OO but isn't. If you write C#7 or Swift and avoid inheritance and prefer immutable types as long as possible - how OO is your code then?

Both are 100% object-orientated (and in the case of Rust, also 100% FP is reachable I'd say. Not knowledgeable enough in C# to say). Do they have in-memory data structures with attached functions that do useful work with this object's state (not necessarily mutating it) ? Yes. Then OO.
Deeplearn.js Machine learning with WebGL in your browser
It's not just WWII.

Look up "rule of capture" some time, for grins.

Realise that that's the basis for pretty much all wealth and production functions.
Mike Pence Website Hilariously Hacked
It's cheap compared to 6000 hours, unless you make under 10 dollars per day.
Or just stop using Amazon altogether, until they can sort their crap out.

Would love to see some official response now that the story has hit HN.
Amazon's robots: job destroyers or dance partners?
Residents just need to push for a faster OS update cycle. Continual crunch time will mean less traffic as employers won't be leaving the office.
An Open Project for a 1.000W INDUCTION Heather
Ah, yeah. I have so many mixed thoughts on this. I also think that the open source world copying Google's super-decoupled GFS-Bigtable-MapReduce-Dremel-etc... architecture was really not great for operational complexity. Few teams can operate like Google, and maintain so many moving parts in production all at the same time.

At the same time, of course there are some very good points to be made for this sort of storage agnosticism -- mainly from an efficiency standpoint (i.e. being able to choose the storage format for the occasion). I'm really not quite sure if this argument is strong enough for completely sacrificing the simplicity of a traditional database.

Sometimes I think that MPP engines like Spark should take the philosophy of "batteries included but replaceable" -- that is, basically serving as an all-in-one "database" that provides a default storage engine (e.g. a basic columnstore and a basic rowstore), but still letting the user plug in other data sources to join, only if they want.
Should be said in defence of C++, whether its own OO model is good enough for you or not, but object scoping and destructors alone had brought a significant paradigm shift in programming in the 1990s. Although these concepts never really made it to other mainstream languages in such a direct form, but they certainly inspired all kinds of memory management models (ARC, GC). The result is that C++ style destructors and scope management exist implicitly in pretty much every language today.

As for the OO itself, I think the problem is that any poorly written non-OO code typically goes unnoticed or just labelled "bad code", whereas poorly written OO code is labelled as such: poorly written OO code. They both are equally bad. We need to accept that if something is wrapped into a class or even some hierarchy, it is by itself not a guarantee at all that it can be useful or functional.
I think songs are a bit different to novels. Because of the format - having to incorporate rhyme an meter - songwriters are more often likely to put stuff in that doesn't neccessarily make sense but fits into the rhyme. I don't have any proper evidence for this, but I did used to know a musician and once asked him about the meaning of an ambiguous line in one of his songs (it could be interpreted in a coule of different ways) and he said that it could mean whichever one you wanted it to. I definitely got the vibe from him that he put it in because it rhymed and sounded good, without neccessarily having any particular meaning in mind for it.

I would say some songwriters would be more inclined towards that way of songwriting and others would definitely consider themselves storytellers and have a definite meaning for all their lyrics. Telling the difference is not always easy.
No.

Kids, and computer programmers, should be taught how to think and analyse.

Coding is what comes after analysis.
Object-oriented design patterns in the kernel, part 1: https://lwn.net/Articles/444910/

I'd go as far as to say that every time you have a C API that looks like

struct some_struct { ... };

void my_api_foo(some_struct*, param1, param2);
int my_api_bar(some_struct*);
float my_api_baz(some_struct*, float**, int n);

it's OO. And the kernel is full of this (just like many C APIs).

Also, Linus's arguments are about C++ usage in kernel. His diving software Subsurface was ported from GTK / C to Qt / C++ for instance. (and even GTK with GObject* everywhere is fairly OO).
You can't do a week's worth of shopping but in an urban environment it's easy enough to stop by a supermarket every couple days on your way home from work/school. I can fit 2 supermarket shopping bags in the front basket and strap a bale of toilet paper to the rear package holder no sweat. Around here furniture and electronics stores typically offer same- or next-day delivery for free or cheap.
Anybody willing to take a bet that my keyboard is not going anywhere in my lifetime?

The first time I was told that voice recognition is here and my keyboard is going away was about 20 years ago. Here I am today, still strangling to have Alexa understand simple commands.

Thought controlled input? Forget about it in this lifetime.
I did indeed. Sorry, not a native speaker.
The Clinic in Botswana That Accepts Bitcoin
Similar, but viewed from the outside - https://youtube.com/watch?v=EkS_f6Aztxk
It's cute how people thing that functional will fix everything.

In what way does functional make state explicit? If I look at a structure (if you have one in your language) and ask who changes this part of it across a large code base - it's much worse when you've just got a bunch of functions (with bad names) which can be hiding anywhere.

And the "reasoned about" shibboleth. What "reasoning" do you actually do.

Don't get me wrong - I have a long history in Lisp and ML and they're good languages in which good people can write good software. But no magic bullets.

In another part of the development world I've seen React programmers jumping on the functional bandwagon and deciding that all components have to be stateless. Taking the state outside the components means that we have lots of bugs with mistaken state sharing. So external state doesn't equal well-managed.
The reserve requirements on balances on more than $115.1 million are 10%. That means with $1.56 trillion outstanding you're looking at a ballpark amount outstanding of $15 trillion in bank deposits. That's still not "much greater" than the $6 trillion annual tax revenue.

https://www.federalreserve.gov/monetarypolicy/reservereq.htm
yeah was wondering at what point chrome would give up, but the gif is only around 250kb per minute (0.004Mb/s)
You can develop commercial/proprietary Qt apps with free LGPL license of Qt. Other cross-platform toolkits: wxWidgets, Gtk+, etc...
Also. Every time object oriented programming gets brought up, people miss a crucial part: object oriented modelling.

Object oriented modelling means creating a model of a resistor, or a diode etc., and then using it in a different models. For simulations, such inheritance is exactly how humans think, and exactly what makes life easy.

If I'm simulating an air conditioning system, I create a class of compressor models, that correctly abstract the equations that most compressors have. I can then derive from that base class and reuse for more complicated models and eventually subsystems of such models. Each model has been debugged by itself, and its reuse is a matter of a few "connect" statements. Further, I can have classes of, for example, compenent geometry or state parameters. This makes thinking about the problem much easier.

This is exactly why Modelica is eons better than Python or Matlab/Simulink for writing good simulation code for certain cases. The "solve a problem only once" aspect is handled fantastically in object oriented modelling.
Fascinating video, but honestly the only thought that kept going through my head is: they've overcomplicated this.

Despite it's impressive number of steps, this does not look like good engineering.

Instead, it looks like a design by committee, with engineers going drunk on complex parts coming together rather than dumbing down the unfurling of this telescope down to its most basic possible mechanism, with the fewest moving parts possible (where failure is chronically always possible).

Seeing how overcomplicated this is, it's no surprise it cost $10 billion to build.
And also allow more flexible commercial real estate to be built. For example, in 1985 San Francisco passed Prop M which caps the limit of area of office space to ~1e6 square feet (think roughly 1,000 2-BR or 4,000 desk spaces) apartments that can be built -- disregarding any population changes or even if space is torn down. Meaning if the entire city was razed (say due to an earthquake) that amount per year. Iatrogenics abound
Not even books are safe on Amazon https://news.ycombinator.com/item?id=13924546
The fundamental feature that makes such an example easy is first-class functions. You are simply using objects to encode this and not making any use of their identify and mutable state.
My strategy for personal coding recently has shifted towards a sincere exploitation of automatic programming(in a manner similar to model-driven development or language-oriented programming, or the research of VPRI). The overall feedback loop looks like this:

* Write an initial mockup that exercises APIs and data paths in an imperative, mostly-straightline coding style

* Write a source code generator that reproduces part of the mockup by starting with the original code as a string and gradually reworking it into a smaller specification.

* Now maintain and extend the code generator, and write new mockup elements to develop features.

The mockup doesn't have to be 100% correct or clean, nor does the code generator have to be 100% clean itself, nor does 100% of the code have to be automated(as long as clear separation between hand-written modules and automatic ones exists), but the mockup is necessary as a skeleton to guide the initial development, and similar, comprehensible output one layer down is a design goal. Language-level macro systems are not typically sufficient for this task since they tend to obscure their resulting output, and thus become harder to debug. Languages that can deal well with strings and sum types, on the other hand, are golden as generator sources since they'll add another layer of checks.

I'm still only using this for personal code, but it's gradually becoming more "real" in my head as I pursue it: the thing that stopped me before was developing the right feedback loop, and I'm convinced that the way to go is with a pretty lean base implementation(Go is an example of how much language power I'd want to be using in the target output) and an assumption that you're building a bespoke generator for the application, that won't be used anywhere else.

Source code generation gets a bad rap because the immediate payoffs are rare, and it's easy to take an undisciplined approach that just emits unreadable boilerplate without gaining anything, but the potential benefits are huge and make me not really care about design patterns or frameworks or traditional "paradigms" anymore. Those don't achieve anywhere near the same amount of empowerment.
Absolutely true story: A friend of mine could make a golf ball do just about anything and was a wonder to watch. He was a scratch player or better (I don't recall his exact handicap). On paper, he was professional standard. He could sink 10 foot putts all day long (my hyperbole), but what he could not do was sink a 10-foot putt, when it counted. By his own admission, he just did not have the match temperament to perform when the pressure was really on.

Golf at professional level is not just about skill, but also mental preparedness, fitness and probably a lot of other factors.
Most Expensive Headphones in the World || Top Ten ||
Works with FadX = Waterfall & FadY = Agile, and vice versa.
well, I and scores of other programmers must be quite lucky because I don't ever remember having to assume or leverage the fact that int or whatever data type was 4 or 8 bytes.
> You're not saying anything that couldn't be said about houses in the US Midwest.

So?

The reason it was problematic for people to pour money into housing was that loans (often loans of around 100%) were secured on these assets. No one is currently securing loans on Bitcoin holdings. If they start to, that will be a problem, but I don't see banks ever securing loans on something so volatile.
It was posted to an internal group dealing with diversity. I find it fascinating that people who think they are refuting critics here always start with distortions. And calling it a "manifesto" is just getting high on mob supply. So in a way, you're doing what is described in the article:

> She didn’t wrestle with any of the evidence behind Damore’s memo. She just wrote his views “advanced incorrect assumptions about gender.” This is ideology obliterating reason.

Just lie and close the case, as if that said anything about the case and nothing about you.

Someone mentioned that this had already been posted and flagged. I responded to that but couldn't because this one was flagged for a moment, too. Yesterday, this had 156 and 101 comments points after 4 hours, and had been sunk like a brick to place 46 on page two:

https://news.ycombinator.com/item?id=14986507

As I said before, this is the main hard data about this so far, distortions and censorship are cut from the same cloth. It reminds me a bit of the Appelbaum thing, that was a very shameful display as well. And I was right in my predictions then, sadly -- if you allow this sociopathy while paying lip service to be against sociopathy today in context of someone who might actually have done some bad things, tomorrow it will be completely innocent people. This is where we are at now, and all you're doing is proving it further.
Heh, check out time-travel debugging and be amazed at how simple a much more powerful “undo” can be made when purity is involved (in FP langs, e.g. Elm or Haskell).

Seriously though, design wise there was not much you said that was specific to OO. Take for example:

- all actions are a data type

- the history is a list of actions (in LIFO style for the purpose of simplicity here)

- undo pops the list and puts undo in another list

- redo replays the undo list onto the history list

A bit more outlined, but nothing OO there, it was in fact entirely functional.
Lesser doctor or lesser nephrologist? Semantics are very important in these sorts of discussions.
> Some people embrace moral absolutism in a desperate effort to find solid ground. They feel a rare and comforting sense of moral certainty when they are purging an evil person who has violated one of their sacred taboos.

I find this observation on-point and profound.

I expect this level of moral reasoning in my teenager. But I was shocked at its embrace by much of Google. It seems unlikely to me that CEO Pichai would be caught up directly in this stream of moral certitude and virtue signaling. Far more likely that influencers carried the torch.

But while I disagree with Pichai's decision, I think that firing him would be an inappropriate remedy that would represent a form of counter-extremism. I do suggest that Pichai surround himself with more able counsel (and not just legal). And that this episode be discussed at the Board level within the context of Google's culture.
100% agree, programming is a very powerful and practical skill for just about everyone in modern society.
But coding, taught in tandem, can facilitate and reinforce analytical thinking.
Lawrence Solomon: How Tesla’s Elon Musk Became the Master of Fake Business
Apart from this being the prime example for the argument for immutable data (i.e. just keep the whole state of your editor at every undo point somewhere; restore to previous states when undoing) the "OO way" doesn't even need OO features, i.e. see typeclasses or traits.
Mini.css: a minimal css framework
I'm just waiting for Transmetropolitan's TV bombs. Spending the nights dreaming with advertisements.
Irrelevant, because I'm not talking about the politics of the country but the viewpoint of what left/right means.
Hyperscan: a high-performance PCRE-compatible multiple regex matching library
In functional programming n Haskell functions are pure so there is no state just an input and an output.

The exception is the IO entry point.

There is a lot of opportunity to sandbox things so that if you know the type of the function you know what it can or can't do to the programs state.
They really can't. This opens up the buyer and seller to myriad scams. You'd be surprised at how many buyers contact the seller, having no clue what site they bought the actual product from.
Since Safari doesn't show favicons in the bookmarks bar, I use emoji to get the same effect
Am really curious if this article was penned BEFORE or AFTER Tesla raised $1.5 billion.

(https://www.bloomberg.com/news/articles/2017-08-11/tesla-is-...)
Great list, thanks for sharing!
Great, I can't wait for the voice controlled reimplementation of IRC, the augmented reality reimplementation of IRC, the holographic reimplementation of IRC, the node.js JavaScript deep learning in-browser reimplementation of holographic IRC via websockets, etc.

You've been able to voice control a device and speak reminders for literally years.

Plugging your smartphone into a TV to use it as a display has been a thing for at least five years since the Galaxy Note 2, probably long before that.

Devices 'sending information to nearby stores' has been a thing for years with Bluetooth and WiFi sensing beacons tracking individuals.

The steak/salad/spyware problem exemplified at least 4 years ago here: https://www.youtube.com/watch?v=Xn7N2UiOYCk

"Every time I interact with a new piece of technology, I don't want to have to tell it who I am and type in all my password information. My phone will tell these devices who I am and that I'm trustworthy."

Every time I interact with a new piece of technology, I don't want to have to tell it who I am, so I lie and write some bullshit in the form. My phone will not tell these devices who I am and that I'm trustworthy, whatever that means, but it probably won't have any way to lie on my behalf because it's not really "my" user agent at all, but my proxy in a for-profit exploitative system I increasingly dislike.

Would devices, which connect to our advanced smartphones, share our information with the company that made them as well as advertisers?

Because it's not even worth questioning whether they could, should or would share the information with advertisers, that's just implicitly assumed and accepted as fine. It's the scary "manufacturer" we should be concerned about.

If a senior citizen is having memory problems, for example, instead of immediately being placed in assisted living or a nursing facility, they could use a smart headset or ear piece that act as cognitive assistants, reminding them to take their medications or to turn off the stove. [..] "At the end of the day, one of the most profoundly helpful use cases will be in elder care," says Satyanarayanan.

For some definition of 'care' which involves +1 rugged American independence (tm) and absolutely no human interaction if at all possible.

Your friend might say, 'Wait! You have to wait till the oil is sizzling' It will guide you in real time.

It will criticize in real time. (Hi mom).

"We'll get to a point where I don't have a smartphone or a laptop. The computers will just be all around us."

And each one requiring an account, a login, a micropayment, a license agreement, an AUP, and tracking every interaction with it. Sweet.

No, just no to all this future.
Does the way we naturally think is the way to solve problems ? no. OO isn't useful.
"The Guardian reports that new data shows illness and injury rates are now 32 percent better than the industry average, too.

And at any rate, Musk has argued, Tesla staff earn equity. That bags them as much as $100,000 more than the average auto worker over a four-year period."

https://www.technologyreview.com/s/607901/what-its-like-to-b...
I love work like this - a real attempt to understand what was happening. Genuine scholarship.

But it illustrates the issues with this sort of work. This is really about C++ vs C/Pascal and not OO vs Proc. Also this is 1997 C++ which I earned a living from for a brief moment, and I can attest, it was horrible, and very different from 2017 C++.

From my perspective today : we need to separate parametric and polymorphic oo in our thinking and the big problem is that programmers use these tools to the limit (creating objects with 3+ parameters or deep inheritance hierarchies) and weave silly complexity into the code base .

In a commercial setting the biggest impact I have seen is a project that became impossible to staff because as soon as the developers saw the code base they started looking for other work. It was really good code developed by a two brilliant people initially and then three or four more smart ones as the project grew, but when the lead left it was just too complex - due to prolific use of generics and a obsession with ORM.
AMAZON FBA NINJA COURSE
Karlton's Law strikes again.
They have a calculator. Check it out instead of guessing wildly
The Russian purge – who’s killing Russia’s top diplomats and is the US involved