skysight-inc/HackerNews huggingface dataset:
> simple linear code

If you're talking about a sequence of statements, I've rarely come across such a thing.

Firstly, the mere existence of statements in a language is an incredible complication:

- It forks the grammar into two distinct sub-languages (expressions and statements)

- Expressions compose with each other, and with statements; but statements don't compose with expressions.

- It introduces a notion of (logical) time into the semantics ('before' a statement is executed, and 'after' a statement is executed)

- The times of each statement need to be coordinated. Chaining one-after-another is easy (usually with ';'), but concurrency gives an exponential explosion of possible interleavings.

- The computer often cannot help us spot mistakes, and compilers have very little ability to optimise statements.

This is especially silly in Python, where many common tasks require statements, which often requires rewrites (e.g. we can't put statements in lambdas; hence we often need separate function defs (which themselves are statements); pulling those out may lose access to required lexically-scoped variables, requiring even more plumbing and wrapping; urgh.)

Compare this to functional code, where there's only a single language (expressions) where everything is composable; where there is no control flow (only data dependencies); there is no notion of time; mistakes are more obvious (e.g. 'no such variable' errors at compile time); compilers have lots of scope to optimise; and code is trivial to parallelise.
Have you tried Lua.. they brake for noone..
> Which goes to show that what one wants to debug at 17:00 on a bad day is very personal?

It really depends, it's possible to write mundane, simple functional code (though I think more common in OCaml and Erlang than Haskell) but much of the community is sort of very excited about all this higher-order stuff that might be great but is not quite as useful and obvious as the core primitives of algebraic data types and pattern matching. I imagine a lot of people probably felt similarly about the Design Patterns craze with OOP: it's not that OOP isn't useful, just that inheritance is maybe not what you want most of the time and not everything needs to involve design patterns.

I'd rather be debugging an OCaml program than a Go program for sure.
That's software products that have marginal distribution costs.

I'm talking about physical products and/or services. Delivering a single package to an individual has a very real cost that doesn't really go down with scale.
I have used/owned the macs at various points in my life. The user interface has remained consistent over the years, but it has poor usability compared to even Gnome due to the accompanying legacy baggage.

Here's an example. Closing all document windows doesn't close the app. This is a design decision from 1984 (at which point we knew far less about the usability of Desktop UIs than we do now) which imho hasn't quite aged well. What's the point of keeping an app open without documents? Most people open docs from the File Manager or Desktop (which might load the app as well if there isn't one already running). And not by going to an inactive app (with a hanging toolbar) and then doing File -> Open.
Why Domain Driven Design?
consider that as plan A but you gotta start working on plan B where you onboard people to the new page and get the following back
Yes if you have no life outside of work then it can't be good. However I still don't know if that's a common enough problem to solve for by making everyone work from home.

I think the more common issue would be lack of collaboration and ties to the company and colleagues when working fully remote.
IMO this consistency and composability is a large part of intuitiveness if nothing else. It does help with a different part of the learning curve than what people often are obsessing about with the word “intuitive” though.
VSCode can enforce return types with jsdoc annotations, even when using plain javascript. VSCode uses typescript internally for all type inference, so you get that for free. Type inference works flawlessly 95% of the time, even for iterators/generators/inheritance/containers.
Writing books just don’t make enough money. It makes you look like cool for having published a book, and that’s about it.
0.98^3 is 0.94, not 0.84
I encourage you to read more of Dan Luu's posts, because he talks about things like what you mention, and consistently makes insightful points about them, e.g.

https://mastodon.social/@danluu/109332405719026619

https://mastodon.social/@danluu/109339567207009389

The point here isn't just that the features are cool, but that they provide a good return on investment. At Twitter's scale, a 1% improvement in CPU usage or user retention is massive, and could be worth having a team around for in the hypothetical case that's all they ever did.

If, in the lifetime of the specialist team like the kernel team, a single person found something that persistently reduced TCO by 0.5%, that would pay for the team in perpetuity, and Twitter’s kernel team has found many such changes. [1]

The "number of calls" metrics that Elon Musk have been throwing around without much understanding are probably themselves a product of Twitter's investment into performance - someone showed him that you can get a call graph of all services involved in producing the front page, and what he got out of it was "1000 is a big number". Presumably it will get rewritten until performance visibility is sufficiently reduced that he can't be bothered to micromanage it any more.

[1] https://danluu.com/in-house/
Thanks. I did ctrl-f cgi as I knew its removal was coming and missed the heading. So one more point release of grace, but it's still coming soon.
Here is an example in ocaml, where |> is the pipeline operator:

https://cs3110.github.io/textbook/chapters/hop/pipelining.ht...
And when Ukrainian military tries to intercept them, stray Ukrainian S-300 missiles sometimes kill civilians on the ground. Awkward, right? Better say that Russians are repurposing ground-to-air missiles and firing them at Ukrainian civilians.

This time it was Polish civilians and the lie won't fly.

"Three U.S. officials said preliminary assessments suggested the missile was fired by Ukrainian forces at an incoming Russian missile" [0]

[0] https://apnews.com/article/g-20-summit-nato-biden-andrzej-du...
The languages in the ML family have modules. They are the agreed-upon way to organize code and control visibility in those languages.
Said in one sentence what took me 4 paragraphs.
As someone who has worked within this industry, I absolutely hate these terms. Throwing things on a blockchain is a mile backwards for most use cases.
I'm reminded of the Kernighan quote / trope: "Everyone knows that debugging is twice as hard as writing a program in the first place. So, if you're as clever as you can be when you write it, how will you ever debug it?"

This phenomenon seems to happen more frequently with FP or related tools and languages (RxJs abstraction soup comes to mind).
> why is there no other major service like the Internet Archive?

Copyright? I'd pay monthly to access an archive of media older than 20 years.
Here is another really good article: https://admiralcloudberg.medium.com/call-of-the-void-seven-y...
What do you mean by “canard”?
If some of you have to die in order to generate a significant charitable outcome, then that’s a price I’m willing to pay. /s
> I doubt even the EA people would do that unless they could virtue signal about how smart they are and how stupid everyone else is online. Most of the time, these people just speculated about how they might spend their money if they were in such a scenario. It was like a hobby

I think it's clear you don't know any EA people in real life.
I'm a fan of functional programming but I'm pretty sure this post would do a terrible job of convincing anyone to try FP out. There's a very bad pattern of replicating very specific language features and control flow structures just to make them more similar to point-free Haskell, which is not going to win anybody over.

The author begins by replacing a language feature, the . operator, with a pipe() function. After that they swap out exceptions for Result, null/undefined for Maybe, Promise with Task, and the final code ends up becoming an obfuscated mess of wrapper functions and custom control flow for what you could write as:

fetch(urlForData)
.then(data => data.json())
.then((notifications) =>
notifications.map((notification) => ({
...notification,
readableDate: new Date(notification.date * 1000).toGMTString(),
message: notification.message.replace(/</g, '&lt;'),
sender: `https://example.com/users/${notification.username}`,
source: `https://example.com/${notification.sourceType}/${notification.sourceId}`,
icon: `https://example.com/assets/icons/${notification.sourceType}-small.svg`,
})
)
.catch((err) => { console.log(err); return fallback });

...which is just as functional because doesn't involve any mutation and it doesn't require several pages of wrapper functions to set up, you can tell what it does at a glance without having to look up any other pieces of code, it's gonna run faster, and it uses standard control flow which you can easily debug it using the tools you use for any other JS code.

This post has nothing to do with functional programming, this is a poor monad tutorial.
hmm

Not good enough to teach?

You are thinking about this wrong!

Passion about something and communicating that to others is the invite for them to take that journey to mastery.

You just need the garyVee social media money tricks on top to make it fundable.

I am in the process of re-vamping that stuff to do exactly that and I am probably older than you at db of 1965...follow me to see it happen

https://fredgrott.medium.coom

Side note garyvee content stack for devs is the reels get expanded in to code and screenshot visual slides in the medium articles while at the same time making mp4 animation reels for instagram, linkedin, Fb posting. On top of that you break the
programming into smaller foundation units that get the same expanded reels treatment. In my case I finalizing 8 months of sm postings in a few weekends
at over 2,000 artifacts for 20k in social media postings. Yes! Really that much damn efficiency!

Come on take the damn plunge! the hard swim will do you some good to chase away all those wrong assumptions and mind fog!

BT FB, Linked, Instagram , Youtube all have 1 billion users to make this strategy work.
You're making assumptions bigger than the pacific tectonic plate here.

While I absolutely applaud Bill Gate's philanthropy, and have no doubt he's one of the most effective charity donors on this planet, you cannot simply use that as a ledger entry in some karmic balance.

Bill at the peak of of his business career wielded enormous power and played a pivotal role in the IP regime that now rules the world, one that places low income nations at huge disadvantage in life or death industries like medicine.

When you say "effective altruism worked" with Bill as an example, what you're actually saying is "we should welcome abusive or even illegal behavior from people like Bill if they give away money later" which is absurd. There's nothing about philanthropy that requires you to do business like a sociopath as a prequel.
(This should probably have a 2016 tag)

I’ve been a long time fan Anders Hoff’s work - it’s well worth it to check the other posts on incovergent.net - quite a few have been covered here on hacker news.

Interest also to see how he has moved to Lisp over time, functional programming seems to work well for him for this type of generative art.

Lastly - I think it’s refreshing to still see this on the front page : beautiful generative art without DNNs…
Let us note that of the six candidates for the Wikimedia Foundation board in this year's (s)election process, three endorsed the statement:

"WMF fundraising is deceptive: it creates a false appearance that the WMF is short of money while it is in fact richer than ever."

https://meta.wikimedia.org/wiki/Wikimedia_Foundation_electio...

One of these candidates (Mike Peel) was elected. The other successful candidate, Shani Evenstein Sigalov, said on the same page, "I do feel that the online campaign can be improved. See videos for more."

She did indeed comment further in the videos, saying (in reply to question 6), "The one thing that I think we can improve is our on-wiki campaign. It is sometimes too aggressive to my taste."

https://meta.wikimedia.org/wiki/Wikimedia_Foundation_electio...

The rest in your post you have made up. It does not reflect my opinions at all.
> a blind eye to Russia occupying Crimea

The Russia military was "occupying Crimea" back when there were British redcoats occupying New York City. The Russian military has been there since that time. The only new development has been the US, UK, with some continental support, demanding the Russians leave in recent times and pouring financial and military supplies into the Ukraine to accomplish this.

Also if we want to go back to the 1700s, then Russia should hand Crimea over to Turkey, not the Ukraine, because Ottoman Turkey is who occupied Crimea before Russia.
> Throwing things on a blockchain is a mile backwards for most use cases.

But the buzzwords. Think about the buzzwords.
I think it’s often Socratic laziness. Not fake, but “humans are dumb and weak, let’s make this easy for ourselves.”

For most of my coding work I take it a step further than this with the simple premise that the code you wrote professionally is not for you. It’s for whoever next has to work on it, no matter their level of expertise. Sure, maybe you ‘just know’ that the equality operator comes between bitwise-OR and logical-OR in precedence, but the code isn’t for you so maybe just use the brackets anyway.
I find it kind of refreshing (and rationally optimistic) that Falcon 9 launches are as uneventful as Airbus 320 flights. I sincerely hope one day space launches are considered a nuisance like airports are in cities that grew around them.

For me, personally, flying never gets old.
> Yarn is not 10x better than NPM and it took off.

Did it? I think it had a short lived period of popularity when npm wasn't deterministic and is now mainly a novelty.

> React is.... ugh... React and it took over the whole dang industry.

Agreed there. But most people hadn't seen components before, they really were 10x better than MVC approach, even for all of React's complexity.
>“ There is a facebook group called "Topology Without Tears Readers" where readers of the book can communicate with each other.
But this is definitely not a place to ask others to solve your homework problems. If you ask questions like "How do you solve the problem ...." your post will be removed and you will probably be blocked from this group.”

My complaint with this is the audience reading this book aren’t students in classes and likely a lot of them don’t have access to mathematicians or professors. Working with others is a great way to learn how to properly do proofs when first starting out. I think the FB groups / discord groups or whatever communities of learners should discuss their proofs and suss out difficulties or logical errors with each other.

This approach instead seems to assume the learner will know whenever they develop a correct proof but often one can just fool themselves into thinking their proofs are correct or even get utterly stuck. Or it assumes seeing solutions will “rob” the readers of learning.

Also, who really cares? Most of the people working through this book aren’t getting a grade from it. If they want to rob themselves of learning something just by seeing solutions without thinking first, then that’s on them.

Otherwise, beyond that complaint this seems like a good resource and it’s impressive it’s all free. I’d also recommend another topology book that’s free
https://topology.mitpress.mit.edu/, albeit it’s more advanced.
>Not weird at all. When (probably when, not if) we create it, we will quickly be interacting with an entity with a similar power imbalance as we have to ants.

That's the sci-fi idea, which handwaves away several very big assumptions and improbabilities, such as that intelligence can be grown to absurd levels (or even just majorly) just by adding hardware to allow for it, that intelligence can just be expanded by itself (thinking itself into being more intelligent), and more importantly intelligence is some kind of superpower that transends very real limitations (like, physical access, or convincing people to do its bidding). The idea is that if you're super-smart you can convince anybody to do anything, but I'm not sure how this came about, because most super-smart people usually can't convince others to do shit, it's charismatic people (which is orthogonal to high-IQ) that do that. In fact many MENSA geniuses just rub people the wrong way.

I mean one of the most serious (I use the term loosely) proponents of this charade, thinks the "singularity" will create nanobots to control the world...
This is a very frustrating case, because while it is obviously the case that extreme hyperbole in advertising is permissible, in this specific situation, it really was not obviously nonsense. Sure, assuming that you could have a military aircraft is silly -- but selling demilitarized surplus is definitely a thing, and it is totally believable that a company as noted for over-the-top stunts as Pepsi was at that time might accept losing the cost of a demilitarized surplus jet as a reasonable advertising expense to gain market share against Coke.

But that's not how it went down. Matt Parker actually did a good write-up on this case in his book -- he talks primarily about the foolishness of asking only 7,000,000 points for the jet -- a way-too-attainable number for a prize that "good". They did eventually rewrite the ads to use a much, much higher number of points required to push the jet farther out of the realm of reason.
> Firstly, you can't predict the future so really you're working off your biases

Obviously. That is the human condition.

Do you not take actions in normal life because you don't have full knowledge of everything? Don't order breakfast because you don't know which menu item is for sure going to be the best.

> How do you stop this shit? Deontological ethics. Don't murder, because murder is wrong. Don't steal, because stealing is wrong. Damn the consequences, stick to simple principles such as these.

Simple rules like: dont hoard your money but find a worthy cause for it?
For the first time my anger over crypto moves into genuine concern.

Is an entire generation of young people experiencing a kind of "pokemonisation" of crypto well into early adulthood?

In other words, is a generation of 20-somethings wasting the better part of that decade on this tech, in these scams?

If so, this feels new (?). We're not talking about the chain-letter crazes of the 20s/30s, the housewife pyramid schemes of the 60/70s, the ponzi schemes of traditional finance.

We're talking about a "pyrimidization" of technical skill acquisition itself, wherein we dont teach classical mechanics -- that's too "physics2" -- but crypto-mechanics which solves no problems of the prior, and charges.

If this is happening the issues around crypto are perhaps much more severe than I, at least, initially thought. Yes, $100bn will be lost in a vareity of scams deposited, in the end, into the accounts of charlatans, children and gurus. BUT, meh, so it goes.

But a cultural take-over of the technical skill space by a crypto religion is far more series and needs addressing ASAP. Someone needs to explain to the developing generation that this isnt the future.
> I'm extremely thankful that early in my career I realized that I enjoy working for smaller companies

How did you determine this?
I an in this big question and I have worked for a small company but the lack of money, totalitarian decision making (CEO) and crazy hours didn’t work out for me. I‘ve put in more (health, lower salary) for more fun/culture.
I would love to try it again (small company) as I enjoyed certain aspect such as a great culture, techminded and young but beeing the main income at home I am sticking to my BS job in a big corp so far (unfortunately).

How did you determine what is a good vs bad small company?
Shirt sponsors aren't not a particularly new thing, though. But I guess in the past Arsenal in particular had sponsors with slightly less controversial owners - iirc JVC and SEGA/Dreamcast weren't directly involved in any slave labour controversies or human rights abuses like the UAE is :)
The responses to my statement just reconfirms my belief that all these startups and the people running them will never be profitable. Way too many clever "ackshually..." responses that keep confusing (maybe deliberately) the context of the problem.
Glad they didn't call it Cylon...
I still have the Turbo Debugger 2.0 manual in my bookshelf...
Exactly my point, I'm sure there are benefits, but this example is more suited to Typed languages whereas many functional languages like you say are untyped. And man, I've worked with MIT Scheme in a major commercial software for 5+ years. What a nightmare it was. :(. I mostly understood the functional aspect of the language, but the sea of misplaced brackets and a complete lack of any debugger (at least for our version of it) whatsoever made it one of the worst languages to work with. The biggest irony was, since Scheme is apparently so extensible, they had created a home-grown "Object Oriented Scheme", which implemented only some aspects of OOP and omitted some other very important ones, and it was upto the developer to find out the hard way which ones were omitted! :D
I don't want people who lie, cheat, steal and manipulate anywhere near AI safety. I don't want them to do the research and I don't want them to fund it. Because I don't want the AI to be made in their image and have those values. An AI that breaks all sorts of rules "for the greater good" is about the most dangerous idea I can think.
This blog post already puts way more thought into whatever "web3" is than web3 advocates do. Everything must be web3 because web3 is cool, it's the future, it's got electrolytes, it's what plants crave. It's a meaningless cargo cult.
I understand what you're saying, but my point is that the near totality of FP criticism comes from people who don't know what they're talking about.

ie.: you need to be very familiar with something before you can reasonably criticize it.
Ah yes, but if there's an even 1% chance the good they do outweighs the harm and saves some portion of some humans in some amount of time... er... or something.
> In order to play the crypto game you have to learn this absurd set of rules.

Bitcoin has a value that rises and falls on a (spectacularly) speculative basis. Apart from the complications of buying/selling/holding Bitcoin, it is no different to trading in something else with perceived value that has active buyers and sellers and which has questionable intrinsic value.

However, there are numerous other schemes, derivatives, exchanges, faux lookalikes, messiahs, manipulators and fakes that make for those absurd rules.
or in the sense of homeomorphisms being without tearing
Elon Musk just sent an email to all staff outlining “Twitter 2.0”
I couldn't agree more. I feel that some thought leaders debating intellectual concepts in computer programming have no idea how real world software development takes place these days.

Developers are under enormous time pressure to deliver. They face an exponential skill curve as their scope is massively broad (i.e. devops). Things need to be shipped fast, time for "proper" engineering is compromised. Team members working on the codebase are of various skill levels and ever changing. Finally, a lot of products being worked on have a limited shelf life.

For 80% of developers worldwide, the concepts discussed in the article are too steep, and therefore unusable.