skysight-inc/HackerNews huggingface dataset:
I'm really sick of these 'why blah sucks' posts. Clearly OOP works for a lot of people. If it doesn't work for you, don't use it.
My personal feeling is that FP works better when the problem domain is more data oriented, requiring transformation of data streams whereas OOP is good when the problem domain is about simulating or modeling where you want to think about interacting agents of some kind.
The whole 'X is one true way' argument is narrow sighted. I feel the problem should always precede the solution
But wouldn't you have four different read functions in your OOP example anyway, just each in it's own object?
Exactly right. "Polymorphism" is nothing more than passing a function [or bunch of functions] as argument[s] of another function.
There's much more to errors than just types. The source of most of my errors are failures to account for corner cases in input data that I have no control over
There are essentially none where I live in SoCal (which actually bothers me a lot, because of how short-sighted it is but also because I grew up in the midwest and I genuinely miss having trees around). Most of the newer developments that I see and giant sections of LA and Orange county where I spend some time are little more than a sea of asphalt. There are trees in parks, of course, but they're more like decorations than something that serves a function.
One thing I've noticed since moving to a city where driving is unnecessary, is how good it feels to drive occasionally. While I think a big part of that is the physical sensation, I also think doing these types of "menial tasks" can put your mind into a mode that is not possible when being entertained by a smartphone/kindle/whatever.

Currently on my 35 minute commute, I can be using a smartphone about 90% of that time. Does that sound efficient? Sure. But I think the article hits upon a real point, if we're going to "save time" on a particular activity, it had better be a worse activity than what we end up replacing it with.
Thanks for the link. There are tons of comments written in Mandarin so I used Google Translate to see what they are saying. Suprisingly several top rated comments are positive about the ad!
Do keep in mind survivorship bias, in that all the instances where unlikely things didn't happen are the ones you don't vividly remember.
GWT is incredible. Admittedly the tooling is a bit clunky but it's really no worse than your run-of-mill webpack/yarn/grunt/gradle/whatever JS build. Such a shame it's kind of been semi-abandoned, it just blows TypeScript/React out of the water on so many fronts. Hard to pick what I like best about it but I think the number one gap that TS et. all will have trouble reaching is compilation to asm.js. It's really hard to overstate just how much more performant GWT apps are pound-for-pound due to this and a few other performance-related features/hacks that seem a long way off, if not downright impossible, to match as long as the source language is JavaScript.
Also if there’s wind and the gas in the shocks is a bit low you can easily hit them.
Related: On April 15, 2019, Ted Nelson published a video on Youtube with the title 'Pre-Final Reply to "The Curse of Xanadu" by Gary Wolf / Gory Jackal' [1]

[1] https://www.youtube.com/watch?v=-_-5cGEU9S0
> A fully modern C++11 codebase is a beautiful thing

Can you point to an example of such? It would be nice as someone who’s been away from C++ for a long time.
Australian lib party delays Koch i360 s/w rollout this federal election round
The Chrome Browser History Sucks
Thanks! I fixed it. (And added slider)
An anti-voodoo phone case for $299, you say? With special sigils on it for added effect? Definitely could make for a very disruptive startup, especially considering that horoscope app just raised $5M
The Rise and Fall of Internet Art Communities
It's unfortunate you're being downvoted for your opinion instead of having other ideas presented to you so I'll do my best though I'm no expert.

> Whereas in the functional world, you’ll have to 4 different ‘.read’ function calls with an if statement.

You could do this but that's not idiomatic.

What you would preferably do is have a function that takes a read function as a parameter. This is essentially the same thing as what OO languages implicitly do.

For an example of generic functions you can take a look at map or fold/reduce. You'll see they don't need to use if statements in the way you described.
> ridiculously pedantic OO of Java

Are you trying to imply that whoever dies with the biggest exception stack trace does NOT win?
Why is Elixir always being paired with Phoenix? Can’t I just have a backend API running on Elixir and a javascript front end to interact with it? I’d prefer a simple React, Postgres, Elixir stack (REP).
Why would "equal" matter though? E.g. if noone has access to medicine (probably some African countries), they're all "equal". But... The point is, "equal" is just a buzzword that needs to be deconstructed and analysed in each specific scenario. In medicine in particular, extremes are usually bad (completely private => expensive, completely public => inefficient), and middle ground (public & private) seems to be decent.
Can you please report the exact browser version and platform you are using ? I will try to fix it.
> If it doesn't work for you, don't use it.

How many of us actually get a choice in this...?
Can your model ever include enough variables though?

In other words, you can stuff all the variables you want in there, but you will likely still have error - especially with complex systems (regime switches, etc.) - that you did not put in your model. I think economists tried the "model stuffing" technique, and I'm not sure how much it helped in planning something as complex as the economy.
That's really cool, is there any way to scan it from your phone and hear it?
Because Phoenix is the web framework for Elixir. It's easier to just use phx instead of rolling your own solution around Plug / Cowboy.
It depends on what you say about it. If you say you think it's funny then you could get in trouble with some people.
There needs to be a sustainable free software business model that small and large companies can easily adopt.

Donations aren't enough.

Support based models like RedHat lead to bad incentives and seems to limit one to enterprise clients. Its an option however, but then you're not directly selling your software either, but rather running a side gig alongside development.

Most other models that I see working involve saas / hosting, which is a good compromise but also weird: the creator earns nothing if you benefit from the license and use it to host your own instance, which is unfortunate and yet amazing for the end users.

There is also the industry association model like Linux uses, which has merit: various stakeholders buy an interest in a project to fund open development. This isn't feasible for the average entrepreneur though, although the creator of Vue apparently has some respectable funding.

The creators of something so great for end users should be able to get rich for doing so, rather than needing to make personal financial sacrifices to dedicate their time to the work. It should be more win win.
Thanks. And yeah, WP is really only a broad, top-tier foundation that can (and has) grow(n) organically in a rather appropriately demand-driven way. [Of course, such human systems will always have problems on touchy subjects as digital information is always most useful for factual subjects where opinions are less relevant.]

Really, I am of the perspective that a machine-grokked indexing system will always be less useful in a significant set of edge-cases than a human-curated index due to such factors as language ambiguity and gaming of such algorithms. As well, the sheer size of the internet requires ranking the pages to ensure the most useful links are properly denoted as such.

WP, being likely the most important and useful crowd-sourced and -built human information system, it is up to us to both keep it funded and add the information we deem important.
What do you expect to happen when their economy has its version of the great depression or the Japanese lost decades?
Given that he explains his thinking and reasoning in that post, one can either accept or challenge his logic and discuss it accordingly. There is no need for unprovoked attacks on his credibility. Doing so just suggests you don't feel qualified to evaluate the arguments he makes, in which case it's probably better to ask questions than attack.
It's interesting because I've heard similar experiences described by my close friends who are avowed atheists and skeptics. It's hard to convince people to share these sorts of experiences, but I like to hear them. Personal experience is still a data point in my view, even if a very fallible one.

To my point, one friend described visiting a historical site that was an ancient tomb and feeling fine until a young couple started chanting some weird stuff. After that she said she experienced a feeling of total fear and dread and felt the need to run out of there. She says it's a feeling she never felt before or after, and she's not the superstitious sort overall.

Heck, even my husband and I once shared an experience that is impossible to explain outside of the ideas of ghosts or some other shared hallucination phenomena. Had it been just one of us witnessing it, it would be so easy to dismiss, but try as we might we still have no good explanation. I'm still a skeptic to my core, but the experience certainly made me more curious about hearing from others about their experiences and not dismissing them as pure fabrications or delusions outright
This appears to be incorrect. Reports state damage was sustained during takeoff.
Not cutting down rainforest, and encouraging their expansion again, seems a far better plan somehow.

The satellite images of continuing, and still accelerating, forestry loss were the most striking part of Attenborough's Climate Change prog for me.
> Whereas in the functional world, you’ll have to 4 different ‘.read’ function calls with an if statement.

A good language for functional programming provides parametric polymorphism via traits or typeclasses:

pub trait Read {
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize>;
}
impl Read for std::fs::File { /* ... */ }
impl Read for String { /* ... */ }

Then you can write a generic function like this:

pub fn read_kilobyte<R>(r: R) -> io::Result<Vec<u8>>
where R: std::io::Read {
let mut buf = vec![0u8; 1024]; // vector of 1024 0s
let nbytes = r.read(&mut buf[..])?;
buf.truncate(nbytes);
Ok(buf)
}

And call it like this:

let kb1 = read_kilobyte(File::open(...)?)?;
let kb2 = read_kilobyte("foo bar baz quux".to_string())?;

No ifs in sight.
The sad part is, even with all these complex toolkits and yada yada, I still haven't seen much of an improvement in the UI, which is, from the user's perspective, the primary ( if not only) thing that matters. Sites just get slower, break more easily, and look comical when you turn the JS off. Maybe some backend helps ease some pains, but if you have to spend hours and hours reading about how to do X in framework Y cooperating with framework Z did you really save any time or make your site more robust than including and using a few tools from a lightweight library? Not that I make anything big, but it seems websites aren't any better than before; just the toolkits are getting bigger.
Or 2016...
I don't mind object oriented programming too much: Occasionally, at most a small fraction of the time, it helps me write good code, and then I use it. Otherwise I don't.

Here are some of the things I'd like to see in programming languages:

(1) Some semantics that admit some useful static analysis, that is, tell me some useful things about my code, e.g., for a variable, where does it get used and where might it get changed?

(2) Offer me some useful code transformation properties. For this, a start is the relatively powerful scope of names constructs in PL/I: There can just drop into the source code another function and know that in the more common and important respects that function being there won't hurt anything else already there. So, if I have some function I like for something or other, then I can just drop it in.

There's a lot more: The main point is just to try, so that given 100,000 lines of typing of code, some tools can tell me where the lines of spaghetti and the meatballs are!!!!

So, that code is a system and treat it as such, i.e., instrument the thing and tell me what is going on, both statically before it runs and as it runs.
I’d love to see better off-the-shelf solar purgolas, gazebos and other shade generating buildings like that (partial shade greenhouses, maybe?).

The backside of solar panels are actually quite pretty, and provide shade + partial rain barriers.

This would open up more avenues to passive cooling and also reduce the lock-step replacement of the house’s roof with solar panel installation .
I like how we instinctively characterize prisoners as slaves. Seems like it trivializes actual slavery, but I have been out of school for awhile, so the conventional wisdom is probably different now.
Hey folks! Co-Author of Absinthe here, happy to answer any questions about it. The post here is good, although these days we recommend using Dataloader vs Absinthe.Ecto. Dataloader really extends the idea behind Absinthe.Ecto while providing in request caching, pluggable backends, and easier query manipulation.
Also, for how many does it really work?

I mean, most devs don't really know anything else, just accept it and try to get by...
That looks an awful lot like OOP to me...
That is just one type of community.
The Most Measured Person in Tech Is Running the Most Chaotic Place on the Net
Saw some urban foxes in Montreal - a tourist left a backpack with his dinner (rotisserie chicken) on the ground while the group went to take photos, upon their return they discovered that the foxes were already splitting the “catch”.

California has some raccoons and coyotes. Haven’t seen foxes in cities, but we do have them in the countryside.
I definitely C the arguments he makes, and agree with them.
I love your newsletter
Maybe because no body had commented as such until now? I am rather practical about this: I don't really like Java because it forces things that make more sense as functions to be under an object. What if I just want a simple global utility function, and don't want to make every single class inherit from a class containing only that? It's a lot of unnecessary hassle for something like that. I'm not saying OO is bad, I said it was too pedantic. I like languages which allow you to do what makes sense.
See: 9/11 Trading Halt
https://en.wikipedia.org/wiki/Economic_effects_of_the_Septem...

Giving people time to think and force them to slow down is a proven method to prevent all out chaos.
... you're literally calling me racist for being concerned about a country that actively stifles dissent, doesn't have free press, and does things like implementing a great firewall that allows them absolute control over their "part" of the internet? Are you kidding me? It's nice that you've found a way to sound smart while underhandedly dismissing everything I've said as nothing but ignorance and misguided, uninformed fear, but it doesn't change geopolitical reality.

"Even though we all know China is a country and not a person, people often personify the abstract entity of _the whole of China_ as “wanting” things or having "values" or being "happy to do anything".
In this case, and in this context, "China" as a concept can be entirely reduced to the Chinese government, and we do know exactly what their values are (entirely antithetical to everything that I listed), how they behave and what their interests are (hint: None of it is in our best interests). Hell, at this point, we could probably reduce it down to President Xi Jinping. Depending on context, "China" could also mean the corporations that represent China abroad, which are almost always state-sponsored, owned and subsidized anyway (they just hide it pretty damn well), and the end point is, again, the Chinese state.

As for the idea that a country can't "want" anything or have "values" ... that's just not true. I'm not even sure how you can say that as a fact, even though countries often behave in goal-oriented ways to get what they want - and what they want is generally entirely dependent on its government, its economy, its population, etc. A country isn't a separate concept from these things - it is these things. Do you know what we call a country's values? Culture.

You've essentially said a whole bunch of nothing while addressing none of my actual concerns. It's disingenuous and deceitful and I'm not sure why you're trying to paint my comment in such a bad light in such a way.
Good to know, thanks! I wasn't familiar with Dataloader, I'll have to check it out :)
One of the many difference is that there is no inheritance, and implementations of traits can be added for types long after they are defined. Traits in rust are not like java interfaces.
https://github.com/rigtorp/awesome-modern-cpp
Yeah, this is fair. I was mentally lumping certain language features under "syntax" but that's not really accurate.
Has anyone used it for something? I've heard about it a fair bit, but never of somebody claiming to use it in production
had no idea rice had high arsenic content. Its a stable of my diet, I eat it probably 2 or 3 times a week.
This seems like a bad move for both moral and practical reasons.

Morally, free communication is a basic human right.

Practically, having a bunch of churches/hotels attacked by an easily-identifiable group, followed by shutting off communications tools, would probably turn people from "death squad curious" into hardcore whatever the local version of hacking your enemies apart with a machete is (parang?). A reasonable but scared person might assume the attacks are of a larger scale, or supported or condoned by the government, or otherwise an ongoing event, rather than a tragic event which happened and is now over and could be left to policy solutions. I know if 9/11 or something like that had happened and then the USG had immediately tried to institute a communications blackout (except for state controlled broadcast media), a lot of people I know would be very on-edge.
> Objection 1. Data structure and functions should not be bound together

I don't understand the above:

a. functions do things,

b. objects don't do things,

therefore, we shouldn't combine them together?

Why? I'm not convinced? what's the logic? doesn't seem to be a strong argument to me.

factories make things.

warehouses don't make things.

so we should build them together?
I have a long background in Ai (robotics, PDP, expert systems, symbolic math, vision, planning).

There appear to be two classes of knowledge. Pattern knowledge, such as riding a bicycle, which we tend to learn in ways similar to the current machine learning trend. In some ways, this is "deductive knowledge". On the other hand, Explicit knowledge, such a learning to reason about proofs, which we tend to learn by teaching is symbolic. In some ways, this is "inductive knowledge.

The current machine learning trend leans heavily on Pattern knowledge. I don't believe it will extend into the Explicit knowledge domain. I fear that once this distinction becomes important it will be seen as a "limit of AI", leading to yet another AI winter. I tried to bring this up in the Open AI Gym (https://gym.openai.com/) but it went nowhere.

My experience leads me to hold the very unpopular opinion that AI requires a self-modifying system. Computers differ from calculators because they can modify their own behavior. I'm of the opinion that there is an even deeper kind of self-modification that is important for general AI. The physical realization of this in animals is due to the ability to grow new brain connections based on experience. One side-effect is that two identical self-modifying systems placed in different contexts will evolve differently. (A trivial example would be the notion of a "table" which is a wood structure to one system and a spreadsheet to the other system). Since they evolve different symbolic meanings they can't "copy their knowledge" but have to transfer it by "teaching".

Self-modification allows for adaptation based on internal feedback rather than external patterns (e.g. imagination). It allows a kind of hardware implementation of "genetic algorithms" (https://en.wikipedia.org/wiki/Genetic_algorithm). It allows "Explicit knowledge" to be "compiled" into "Pattern knowledge". This effect can be seen when you learn a skill like music or knitting. After being taught a manual skill you eventually "get it into your fingers", likely by self-modification, growing neural pathways.

Of all of the approches I've seen I think Jeff Hawkins of Numenta (https://www.amazon.com/Intelligence-Understanding-Creation-I...) is on the right track. However, he needs to extend his theories to handle self-modification in order to get past the "pattern knowledge" behavior.
Well, I disagree with 99% of this... I'm a guy that started with C, moved to functional programing, added C++, and now do all 3.

> Objection 1. Data structure and functions should not be bound together

Well, in my experience, in every almost every code-base (either from functional, or imperative programing), we end up with modules, witch are a set of function taking the same type as a parameter. This is very close to binding the functions and the types...

> Objection 2. Everything has to be an object.

I don't get the example. The only thing that this show, is the benefits of having a range type built in the language. Then it's just type aliases.

"There are no associated methods.", yes, but you will need functions to manipulate those types (just translate one type into another), at the end, it's going to a module, which is almost an object.

> Objection 3. In an OOPL data type definitions are spread out all over the place.

That's true. It also makes thinking about the data layout complex. That's why other paradigm have been developed (DOP), on top of OOP. Now you can also think that having those defined together makes dependency management easier.

> Objection 4. Objects have private state.

False. Objects can have a private state. This a problem with mutability, not oriented object programing. You can have non mutable OOP.

> Why was OO popular?

>> Reason 1. It was thought to be easy to learn.

The past 20 years have shown how easy it is. In fact, I actually think it's too easy, people rely too much on abstraction, without even trying to understand what's going on. I my opinion, it promotes a lazy mindset (This is my biggest criticism about OOP).

>> Reason 2. It was thought to make code reuse easier.

I would like an evidence that it's not.

>> Reason 3. It was hyped.

True, but that does not make it bad. People tried to hype every technologies... Some stayed, some went away.

>> Reason 4. It created a new software industry.

How has OOP created a software industry that would not have existed if functional programing had "won the fight"?
Could you elaborate on this? What would it offer?
Crowfunding a small Venezuela short film
Because it isn't a significant source of dietary arsenic.
This comes off as a super slimy article. You're even trying to imply that there was prejudice against you. That's silly thinking.

Your model of the world is a bit broken. Keep in mind that PG is a) effectively retired at this point b) inundated by bullshitters like you.

How is this a "thank you"/love letter when you're trying to promote your company in it?

There's an obvious conflict of interest going on.

Just go ahead and make the translations for whatever articles you want and then send those translations to him. Don't wait for him to reach out to you. If you loved him, you'd go ahead and do something that wasn't guaranteed to promote your company or otherwise give you profit.
A side project might end up meaning you don’t need a job.
What is the PL community?
Microsoft Research: Bosque Programming Language