skysight-inc/HackerNews huggingface dataset:
Absolutely. It's incredible how we're slowly marching towards this like lambs to the slaughter. I think the problem is of such a magnitude that most people would rather look away and find some deckchairs to rearrange thinking that it isn't their problem.

The USA pulling out of climate accords also does not help, it gives 100's of millions of people entirely the wrong signals.
What a weird theory.
Unpopular opinion, but I find readability really hard on lisp projects. Everything has to be read backward, and just because you can nest 10 lambdas doesn't mean that you need to nest 10 lambdas all over the place. So the code you end up with is write-only nested-over-nested-over-nested backward-reading code.

Can clean lisp be written? For sure, and it's magnificent. But in practice, it's a total shit show. Basically, what I'm saying is when it's great, it's amazing, and when it sucks it's the worst.. whereas other languages like java/javascript/python have less variance in code quality and range from ["pretty-meh to "good-enough"].

And what's happening these days is the great features of lisp are integrated with "good-enough" languages, and then they become "pretty-good" languages.
Intergenerational warfare: Who stole the millennials’ future?
and it's also false. you missed that you have to explicitly tell pike to continue by returning -1 from main or calling the backend event loop explicitly.

any other program ends when main is exiting.
I wonder if IAG was given a huge discount to entice them to make the MAX look like its still in demand and give other customers confidence.
Our current problem is the growth of "make sure all ways a man can fish has to pay rent to me first".
I've seen this with happen with students from the same us high school as well.
License plates will make exactly zero difference.
This completely unrealistic. CEOs will always defend the company. That is their job.
>We should be careful before we unnecessarily increase the number of interactions between police and the general public

I'd say a society is more successful the more they strive to minimize law enforcement contact.
"You don't have to use systemd on Debian."

...unless you want a fully functioning desktop machine.

You only have to look at the effort put in by the MX Linux team to keep the shim functioning to realise a non-server Debian system without systemd is a headache for a ordinary user.
You created an account just to say that?
> They believe it because they bought into a prevailing narrative without much thought.

And I'm arguing that this is the most rational thing to do in most cases. If you are outside your field, you should just accept the mainstream position unless you have devoted a great deal of (well-spent) time to the study of the topic. For any given matter of fact there is only one truth and unlimited falsehoods, and many of the falsehoods will have well-crafted arguments supporting them with lots of adherents. Its possible one of those could be the mainstream view but I believe that over time truths become mainstream.
Fourth option, and one that may seriously be advocated by Anti-natalists, is a "pro-death" view which would advocate for as many abortions as possible because all life invokes harm and on balance the ethical harm of even a small amount of suffering outweighs the ethical good of the pleasure of enjoyment - leading to the attempt to create a "benevolent end of the world" through not having children.

The only reason that the person before you didn't include this view is because its outside of their overton window.
Yeah, we geeks like to think the concepts and technical design of a language in itself is what makes or breaks it. But JavaScript could have been similar to BASIC or it could have been similar to Scheme - people would have grumbled but used it regardless. Objective-C was considered a pretty obscure niche language until the iPhone made it mainstream.

The article cites fragmentation as the reason Lisp didn't become mainstream. But consider SQL - a severely fragmented language. Each implementation have major incompatibilities with every other. But it is still ubiquitous and rules its niche.
Nearly no issues fall on 2 sides. Is there a time of pregnancy where abortion is ok? What guns do you want to control, and what kind of control do you want to have? Are your taxes progressive or proportional? How progressive? Where does progressiveness stop? Do you create product-specific taxes?

Anyway, take 10 issues that fall on exactly 2 sides, and you should never meet two people that agree with them all.
Plain retarded tripe.
Probably the surprising thing is how _few_ orders they have lost. My understanding is that this is because it is very very difficult for an airline to change from Boeing/Airbus to Airbus/Boeing. They need to retool their whole supply chain and retrain all their ground staff and pilots.

...but several airlines are talking about it. Notably American https://airlinerwatch.com/american-airlines-eyes-airbus-a321... and United in the US https://airlinerwatch.com/united-airlines-considers-airbus-a... are both considering replacing old Boeing planes with Airbus.
If a file has a line ending in it, is it truly empty?
> but VPNs cost serious money to run

methinks you're talking out of your butthole right now. I run a VPN service. I can get away with about 100 users per dedicated host. That gives me an average CPU of $0.80. If I went with tier-1 datacenters, my cost would triple. Public cloud DCs bring my costs up ~25%.

These numbers shrink with scale (e.g. buying dedicated bandwidth, bringing your own bandwidth, colo and increase server density, etc). Also mozilla has $69m in cash as of 2016, without counting assets and investments. They are okay to host few thousand more servers.. https://assets.mozilla.net/annualreport/2016/2016_Mozilla_Au...
The L4 ecosystem is much more mature. There are formally proven variants like seL4, and more widely used variants like wrmOS.

https://en.wikipedia.org/wiki/L4_microkernel_family

I am excited to see how redox evolves, but unless they start writing, virtualizing, or porting drivers it is not much more than an experiment in how well Rust can handle OS programming.
You’re right, it’s totally functional, the (minor) challenge I see with it is that it breaks the illusion that you’re describing the state of the system, and feels more like describing a set of changes you want to make.
Eh read the article, there are more interesting points worth discussing or disagreeing with in it
It was not written that he was defending the company, but depending their position. Not the same.
Good. They deserve to lose it... Let the market correct.
There is no $30 card that can do DP 4k@60 and that's my dev machine. I ordered a Nvidia 1030 thats $80.

I doubt that any gamer need more than 4-6 cores, but single thread is very important.

I am getting a 3600 to replace 1700x in my gaming build and replacing 2400g with 1700x and 1030 in my workstation build.
The thing about the 9700K (which they point out) is that it doesn't support hyperthreading. Then it even beats the 9900K by a significant amount in a lot of the same tests, even though the 9900K should otherwise be the faster one, indicating the reason is that those workloads suffer a performance detriment from enabling SMT.

It should be interesting to see the results of those tests with SMT disabled.
Well, obviously HN doesn't allow non-registered readers to comment, so...
But reading it like this I greatly prefer the F# style since it reads a lot more straightforward and easy to understand what is happening.

That being said, can't you abuse the promise syntax to get something very similar right now? Since `.then` will wrap a non-promise return value in a promise, this would do the same as your example:

Promise.resolve(document.querySelectorAll('.requestedIds'))
.then(p => Array.from(p))
.then(p => p.map(el => fetch(`//address/${el.value}`)))
.then(p => Promise.all(p))
.then(p => p.map(re => re.json())
.then(p => Object.fromEntries(p))
.then(p => processResponse(p))

But funnily enough, as I went to go write out that example, I realized that I have no idea what the hell is being passed into the `_.map` functions... Even me being lazy and using `p` as the variable name for each pipe, the version that writes it out is massively easier to understand in my opinion.
«there are no studies that suggest that learning math as a “native speaker” does not have at least the same, and perhaps even more benefit», this reasoning is so flawed.
Definitely. However, managing public relations and the image of the company, maintaining customer relationships is also CEO’s job.
I've been using Lisp off and on for pretty much my entire adult life... at least since the mid eighties. It doesn't seem like a failure to me.
I collect math, machine learning, statistics, etc urls. The ones discussed on HN have the HN discussion below the article:

https://github.com/melling/MathAndScienceNotes/blob/master/m...

https://github.com/melling/MathAndScienceNotes/tree/master/s...

https://github.com/melling/MathAndScienceNotes/blob/master/m...

This recent HN was interesting, for example:

https://news.ycombinator.com/item?id=19811715
Defend in what sense?

In defending what made the company great, or just the share price?
It's a dependency cruft issue. "It does many things, poorly" is a common complaint.

"Systemd also provides a number of other executables (systemd-udevd, systemd-logind, systemd-resolved, systemd-networkd, systemd-tmpfiles, systemd-localed, systemd-machined, systemd-nspawn, etc.), libraries (libsystemd, libudev), a PAM module (pam_systemd.so) and a UEFI boot manager (systemd-boot), among other components. So any other package that needs any of these components, even if it is just one, would pull in THE WHOLE SYSTEMD PACKAGE as a dependency."
The Republican Party has repeatedly demonstrated that if actual facts stand in the way of their god driven view of the world they just stop collecting facts, or claim that facts are a conspiracy by “liberals” and “socialists”
I feel like my comment went in one eyeball and out the other.

Chef and friends are blocked on disk I/O. How does a typesystem and/or thinner abstraction layer to disk I/O speed up the underlying expensive operation: blocking disk I/O?
What do you use to compute the diff? Just the diff command itself on individual files?
This is a really loose definition of “failed”. His definition of failed seems to be “didn’t take over the world”... but most things don’t. It’d be like saying “John Smith failed at life because he wasn’t a billionaire by age 25”. As a language it was (and is) used in a lot of places, had a lot of offspring, and brought a lot of influential ideas into the world. That doesn’t seem like a failure!
In 1919, an Army convoy drove cross-country from Washington to San Francisco
How Flammable Is a Eucalyptus Tree?
VOX has a good explainer video on what caused the 737 Max to crash twice for anyone who doesn't know the details. Essentially, Boeing installed sensors and software to automatically push the plane nose down if the plane angle was too steep as it ascended. This software/sensor combination is implicated as the cause of the recent crashes in Indonesia and Ethiopia.

The real reason Boeing's new plane crashed twice:

https://www.youtube.com/watch?v=H2tuKiiznsY
That's like saying "learn to play an instrument, not cooking". Everyone has different tastes/needs.
The article reads a bit like a rather long way for the author to excuse avoid learning a few of the natural languages of which it seems he would have much use. (Like French that they mention half their family speaking, or Mandarin with which they say they have a fascination..)

But also predicating all learning on its "objective usefulness" (however way you try to quantify this) seems short-sighted, what's the fun in learning something you know is useful but don't enjoy?

Somewhere there's a balance surely..
Yeah, that's a great way to look at it. Just to add to your point, why in hell would someone use Emacslisp? Well, it has a killer app (Emacs / org-mode / etc.) and people learned and used it.

I wonder if ClojureScript -> [Node, Web-js] is how lisp will be saved? Or maybe lisp doesn't need to be saved and it'll always be this non-mainstream language. (To be clear: I say non-mainstream but I don't mean it negatively.)
...but it's his library? The tutorials on the page are just examples for the library, which is linked at the top of the page?

Or rather: How would he present a "Show HN" topic about this specific library? This is the library's actual page, as I understand?
Mistress of Disguise
Speaking to why a LISP newbie finds it tough to get things done... I think most people think in imperative terms. "I want to make a type. Now, given a thing of that type, change a thing here, change a thing here, and return the thing I want."

And most languages delineate a programmer's tasks clearly. For instance, in Python and Ruby, logical structure is expressed in blocks, control (mostly) transfers between statements, while calculation is performed in expressions, and these are all visually distinct.

LISP's idea that all structures can be expressed as lists doesn't visually demarcate the distinct "things" a programmer is trying to compose. You can absolutely learn it, but it makes it harder.

Now, since LISP does basically use an AST directly, it makes metaprogramming trivial. The beauty of extensive metaprogramming is that you can construct new languages cheaply. The curse is that you get a lot of cheaply constructed new languages.

If Python wants to add an "async" keyword, they go through weeks of debate and do a long writeup on it.[1] In LISP, someone writes a few macros and, boom, new syntax. The LISP community are smart people, they recognized this and I think the standardization efforts tried to mitigate it, and a ton of thought clearly went into Scheme.

But even this article doesn't get the problem. It's not "there are too many parens" but more that everything in LISP looks the same when you're new, it's a jumble of parens. Your brain isn't getting distinct markers to help learn the structures.

And LISP, shares a problem with most dynamic languages that anything can kind of go anywhere. It's not as bad for others, though, because if you look at an example of Python code, you can generally see the structure and that narrows down what can fit there. Whereas LISP is always a mess of parens and keywords; yes, it's usually obvious from looking at the docs, but it's just more research you have to do to get something done.
Ask HN: Recommendations for Books Like 'Hundred Page Machine Learning Book'
I'm part way through and it's excellent! The information density is perfect. Does anyone have recommendations for similar books in any field?
Ask HN: What's a technology that died that you wished was still here
We're always talking about the latest trendy tech but I'm curious what older technologies you wish would have been more successful.

I'm personally a fan of lisp and wish it would have had a more prominent place in tech history.

It would have also been better if Java was Open Source about a decade before it was ... but that ship has sailed.
Could you use it as a desktop computer?
> So let me pose a rhetorical question: what is English’s target demographic? How do you even answer that? Is it tautological?

I think it's a perfectly valid question, and my answer is: people who live in English-speaking regions. English has pushed beyond that into business and technology, but every natural language's first and primary demographic is the geographic or cultural region in which it's spoken.

The main purpose of a spoken language is to be spoken, and people can't do that if they aren't around other people who speak it.

> Modern English was constructed from Middle English with various features changed to more closely represent the format of colloquial speech.

That's a misleading way to phrase it. "Constructed language" is a linguistic term, and English isn't one.

All of this is neither here nor there because natural languages and programming languages are almost completely different beasts. I have still not seen any examples of where a fact or process or history in one could be used to draw any valid conclusions about the other.

> To answer the question more directly: Perl 6’s lack of a niche is the language’s niche.

That's a direct answer? I feel like this whole FAQ is just an exercise in twisting the meaning of words.
The death watch for the X Window System has probably started
This is precisely correct IMHO. Lisp was designed for single programmers managing their entire stack (including the compiler itself) rather than for teams mostly gluing libraries together. Modern software engineering practices are focused on lower-level languages that don't give programmers the power of Lisp.

[Herein I mostly mean Common Lisp when I talk about Lisp. I have no experience with large projects in Clojure or Scheme.]

Most modern software -- Lisp programs included -- is written by multiple programmers in both coordinated and uncoordinated teams. Lisp can easily adapt to team programming but SWE needs to be augmented to handle programming projects that operate at a meta-level, which is natural with Lisp. If you write code at a meta level with ordinary SWE it can lead to disaster.

SWE needs tooling, procedures, and policies to deal with macros, package naming, bootstrapping, multiple-inheritance classes and first-class methods, etc. before it can really support Lisp. Lisp projects that have added such SWE features manually tend to succeed; those that don't tend to have difficulty with Lisp. My point is the team has to do the SWE work; SWE tools operating in default mode tend not to be good enough for Lisp.
> A code by programmer A that does X is not significantly different than code that does the same X by programmer B. Even if that programmer is myself 6 months or 10 years apart.

Honestly, this reads more like you're burnt out and would prefer not to have to keep apace of new developments to continue contributing. I can deeply appreciate that condition, but it seems to me to be an unhealthy place to be on many levels.

For one, natural language is constantly evolving. Shouldn't the languages we use to describe the solutions to problems be similarly capable if they want to keep up with a rapidly changing world?

For two, we can look at what extreme conservatism in this department does to you. Python 2 has supposed to have started being deprecated, but we're getting hints that big companies are more inclined to just take over support of Python 2 rather than move forward to Python 3. This problem is the result of the culture of "a 10 year old line of code being equally useful without other version controls in place."

Similarly, we see a lot of languages punt on actually making it easy to prototype and deploy modern data structures and algorithms. That's why a bunch of mainstream languages still have very slow sorting algorithms in the stdlib (e.g., O(n²) quicksort instead of O(n) american flag sort; still using amortized resizing hash tables as opposed to HAMTs, etc); it's just crazy hard to actually write that code reliably.

> You will not need a magnifying glass to read a mish-mash of ASCII math symbols to figure out whether someone built a death ray, or just a milk shaker.

No one actually has this problem. Not Perl 6, not Perl 5, and not Haskell or Ocaml. Maybe APL had that problem, but it's long gone. Holding these rhetorical points out seriously seems to me to be more evasive than realistic.
Well pedophiles and rapists arent all given life sentences in the US system, it varies greatly

So which part do you disagree with? That prisoners can vote?
More like the physical limitations on lifespan.
You should ask why such an old idea were not experimented on large scale, not that is not novel.

When solving problem, start with the obvious, then go with more sophisticated...

Your example is just an example that people do not see the defect in the system, not people cannot come up with novel idea.
Java was super heavily marketed
Continuation passing isn't suitable for humans. Callback hell is a thing. Leave it for compiler SSAs and use something more sensible for reading.
Last week Boeing announced that it would give $100m to help families affected by the two crashes.

Thats not even 300k per died person. And if you search for the price for an 737Max, you guess what it's about 100m per plane ..
I was serious. Solar cells are like solid state heat engines in that they’re fundamentally limited by Carnot Efficiency (which is theoretically high for solar cells as the effective temperature of sunlight is high). If we’re going to use “primary energy” and not useful electrical or mechanical energy, then we’d need to include the energy of sunlight falling on the solar panels, which is about 5 times the useful electrical energy produced.

And just like actual heat engines, solar cells are improving. The best cells have achieved 47% efficiency in the lab, comparable to a high performance combined cycle natural gas plant (note that thermal power plants often cheat a bit by listing the efficiency in terms of the low heating value of a fuel, ie the heat produced not counting condensing the water vapor out).
I think the problem should be solved within the OS using sandboxing, like in iOS (or to some degree Android too) and macOS and Windows store applications. For example, when you uninstall an app, there are no leftovers in the system. You don't need to check, if file exists or not ...

To some degree, this has been also solved with containers. It's much easier to create new container image, then create proper idempotent script. And you can create create image from running system too. So you can just "bash" commands and don't care about the state of the system. When done, you just create final image and you can be sure, that state of the system in the container would same as you intended.

I'm talking mostly about install scripts. Of course there are valid use cases for idempotent bash scripts.
Java features that have yet to show up in other languages:
Scalability - both horizontal and vertical.
Memory utilization (you can have humongous heaps without having to worry about managing all that memory).
Managability - easy to "divide and conquer": you can plop a jar and start using it right away. Something that's practically impossible in other languages.
Third party ecosystem (both free/oss and paid).
Speed. Java is one of the fastest managed languages.

Yes it is verbose, yes inexperienced developers do the wrong things, but it does a great job preventing you shooting yourself in the foot, and most importantly, once you have a stable codebase, it can keep running for months/years.