skysight-inc/HackerNews huggingface dataset:
> What's the benefit of learning a PURE functional programming language

1. It makes it easy to learn how to structure a program in a pure way, which is hard to do in languages that offers you a easy way out.

2. Since "everything" is pure, writing tests is easier.

3. You know for certain that if you discard the result of a function call, all the side-effects that it would normally trigger would be stopped as well.

4. A program where all side-effects are guaranteed to be pushed to the boundaries, is a program that's easy to reason about.

> a language which has adapted the best bits and pieces [...]

Languages that has adapted to best bits and pieces from X, Y, Z tend to be worse than a language specifically for X, Y and Z.

For instance, Java supports functional programming but functional programming languages are much better at it because they were designed for that specific paradigm. In the same vein, sure you can write pure programs in F#, but not as easily as in Haskell that was designed for doing just that.

> and is used to handle data and events from the real world

Pure code really only means (in practice) that side-effects are controlled, which is generally very helpful. It forces you to structure programs in a way which makes it easy to pinpoint where data is coming in, and where data is going out. It also makes for easier testing.

Being able to know, definetly, the answer to "will calling foo perform a network request" without having to read the source for foo is quite nice, especially when dealing with third-party code.

All this said, I probably wouldn't begin with Haskell. A language like Elm is much better suited for learning writing pure programs.
What's the benefit?

You start to see functions as self-contained things, as lego blocks. All the logic of the function is there in the function. It only works on values it receives as inputs (it can't read global variables). It only outputs its results (it doesn't assign them to some other global variable that you have to track down).

This makes your code modular. You can add a function in a chain of functions, if you want to perform an extra transformation. Or, you can replace a function with a different one, if you want to change something about the logic.
> Agile tends to silo engineers away from their ideal motivations (users/business goals) in favour of meeting the needs of the egos of management.

No idea where you get this from. I've never seen teams closer to customers than with agile thinking. Waterfall with a programme manager at the top setting the timeline, the budget and the features, an army of business analysts getting between the team and the customers, and project managers making GANTT charts - you don't think this silos away information?
Don't think of it as being all pure code, think of it as tracking in the type system which parts of your code may launch the missiles and which parts can't. Given the following program,

main :: IO ()
main = do
coordinates <- getCoords
launch trajectory
where
trajectory = calcTrajectory coordinates

getCoords :: IO Coordinates
getCoords = -- TODO

launch :: Trajectory -> IO ()
launch = -- TODO

calcTrajectory :: Coordinates -> Trajectory
calcTrajectory = -- TODO

I can look at the types and be reasonably certain that calcTrajectory does no reads/writes to disk or the network or anything of that sort (the part after the last arrow isn't `IO something`), the only side effect is perhaps to heat up the CPU a bit.

This also nudges you in the direction of an Functional Core, Imperative Shell architecture https://www.destroyallsoftware.com/screencasts/catalog/funct...
15 to 30 year lifespan of an average B2B computer appliance

> Saying that something hasn't evolved in almost 20 years is a... strange flex

Decades of recurring, non-evolving revenue vs. S-curve surfing.

Decisions, decisions.
Now I finally know where ca. 2008 communist web series sock puppets Bubu and Kiki got their names from. What a flashback: http://www.monochrom.at/kiki-and-bubu/
I read here that people discuss the current prices of raspberry pi. The thing is... it doesn't really matter now.

People I know that wanted to play with single board computers, they bought raspberry pi. The market is saturated, and PIs do not break that often if you do not use pins.

It will take time for any other SBC to replace it, or even to come close.
Literally became rich from stock, like investing in NVIDIA today
This is brilliant, thanks!
It always baffles me how widespread behavior like this is. Is this shitty men covering for each other, trying to ensure the behaviour they want to be able to engage with remains acceptable? Or what?

Because it costs almost nothing to do the right thing in a situation like this, and just be a decent human being and yet we're seeing the pattern over and over and over.
Meta won't train AI on Euro posts after all, as watchdogs put their paws down
I feel like functional programming is pretty trivial. It's pure programming that is very difficult.

They're often conflated because Haskell is pure and functional and probably the most talked about heavily functional language.

I certainly didn't know that impure functional languages like OCaml existed for ages.
Sure, but certainly not torture - going by how many people are using those drugs
Everyone does software poorly, hardware companies more so.
There is a good chance that this individual is a 'flu whale' - a hybrid of Blue and Fin
This is sounds like memory safety in C++.

https://www.infoworld.com/article/3714401/c-plus-plus-creato...
I'd do this too except by far the most scam traffic I see are US in origin. I'm in the EU.
Yeah because higher voltage reduces the cost of wiring, and 48V is still under the 50V legal limit for "low voltage".

Not sure what your point is though.
'Equals' has more than one meaning in math
Currently wondering whether I welcome or dislike this recent trend of memeizing research paper titles ...
It does. Just put ignored commits in a file: https://docs.github.com/en/repositories/working-with-files/u...
Now one could ask question is that process itself a form of agriculture? And that in these cases agriculture and domestication happened together.
Okay here are some background facts:

1. The worm is 1 mm long and few hundred microns across.

2. It has a fully characterized nervous system - 302 well defined neurons that have been mapped and named in exquisite detail. We even know which neurons connect to which! Have for decades. Still can’t tell how they function though.

3. The authors are expressing optogenetics proteins in various sets of neurons. Line 1 expresses them for example in 8 neurons known to play a role in chemotaxis (moves towards food).

4. They just shine a flash of light on the worm which would activate all these neurons together. This is probably still as blunt as putting an electrode into a mouse or monkey brain in some rough area and zapping them. I was hoping for slightly precise control.

I’ve been waiting for optogenetics to enter worms - mainly because they’re like the cheapest and easiest to work with creatures and I always believed understanding the simplest organism first is the right way to understanding any complex system.
bandwagon fallacy
Yeah, that's what sets the RP2040 apart from other micros. I think of it as being analogous to the recent advent of "software-defined radio" -- the RP2040's PIO are fast enough to allow for software-defined Composite video, software-defined VGA, software-defined DVI, software-defined USB, etc etc etc.
Also at least some of their products are just ODM rebrands. A bit disappointing but probably shouldn't have been surprised.
they "killed" Picasa Web Albums, does that count?
Not really programming or one line but:
01010011 01101000 01101111 01110111 00100000 01101101 01100101 00100000 01111001 01101111 01110101 01110010 00100000 01110100 01101001 01110100 01110011
Because lisp is trivial to parse, it’s easy to make an extension for vs code that shows / edits Common Lisp / scheme looking completely different; you can make it unrecognisable. If the () are the only thing bothering people, then this is very simple to resolve. Can hardly be the only thing though. It’s also easy to build operators similar to the ones you have in Python etc like filter, map etc so you don’t have to apply recursion. These are there already but you can build them yourself in a few hours.

So it’s probably just what people learn first + lack of ‘marketing’ or negative PR (there are no libraries or ecosystem! The thing that least bothered me about CL but people with npm leftpad experience seem bothered by it).

It’s interesting as I worked I almost everything in production; c/c++ (including the MS 90s flavour), Delphi, VB, Perl, PHP, Java, C#, Haskell, F#, Common Lisp, Erlang, TS/JS, Python, Ruby, asm (z80, arm, x86) and I simply have not had a better overal experience than CL. The others are better at some things but a an overal experience, CL just is a pleasure.
Longi claims 34.6% efficiency for perovskite-silicon tandem solar cell
Stop Rodent treatment is the most effective and fastest treatment currently available. It is the only treatment that offers a money-back guarantee. Rodents die within 5 minutes after ingesting our paste. Don't wait any longer, eradicate this scourge.
Why would you? Watts are plentiful in any application meaningful to this comparison.
I've got one of these and its glorious if you fondly remember the PDP-10 as I do.

Yes, its just being emulated on a Raspberry Pi, but seriously running a "real" one generates several kW of heat and required even more kW of power. Not to mention space.

I do have a couple of "real" PDP-8s (an 8/e, 8/f, 8/m and most of an 8/a) but I rarely run them because they take a lot of power and they are noisy. I've got a PiDP-11/70 which is running RSX-11M and Pi-hole and DHCP and logs the iOT temperature widgets I built. So it looks good, and does helpful things. Not to mention you can SSH to it and get your RSX-11M console right there :-).

So while you don't get the visceral response of a "real" one, 90% of the time you were never in the same room as one in the first place, it ran in the machine room and you were in a room next door typing on a VT100 (or VT-52 ewwww!)
Agreed, I had a long chat with him at an audio conference years ago, and I have a LinnStrument 128.

One of the very cool things people may not know is the LinnStrument has open firmware under the Apache License, and you can download the source here: https://github.com/rogerlinndesign/linnstrument-firmware

So grab an instrument, and start hacking!
Recent? This has been going on forever. You probably only notice them more now because due to the explosion in ML research, this stuff bubbles to the top more often in recent years.
In my experience, it is much more likely someone forgets to escape some input and opens the database up (via SQL injection) than it is for someone to break in via ssh or gain access to the shell.
Was just thinking the same. It's also nicely ironic.
Also, given the replication crisis I wonder how many of these LLM research papers are actually worth a damn and how many are research paper equivalent of AI software grift.
I’ve inherited a bunch of VHS tapes from around 2003-2008, mostly recordings of live broadcast football matches, including the commercial breaks. Who would I contact to work out if there’s any archival value to them? Part of me thinks they’re just not old enough and surely the stations had their own archives by that point, but part of me thinks they probably didn’t keep material in context with the ad breaks and possibly someone might find that interesting.
You can tell by their pointed ears. Further domestication might make their ears floppy.

Here’s a nice article about the biological basis of domestication:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4096361/
In simple terms, LLMs are "bias as a service" so one wonders, what is left once you try to take the bias out of a LLM. Is it even possible?
As long as it's not "clickbaitizing" I personally do welcome it.
This one is a bit on the edge though...
Can we get a model that can work this out for us?
Without knowing the specifics of your data model I'd wager what you have is a data modelling problem not a graph problem. Maybe start with that?

There's a reason these graph DBs are esoteric. They're fun & cool to use but there's not a lot of problems they can solve better than a relational DB.
> Are the new codecs really worth it when they essentially render whole generations obsolete for media?

I think you just put your finger on why they are so popular. Enshittification will prevail.
How hard would it be to create a "raw" model on a corpus like Hacker News or Wikipedia?

With "raw", I mean that it is simply trained to predict the next token and nothing else.

Would be fun to play with such a model.
What about the medication is torture? I'm not familiar with people's experience with them
The maps are beautiful.
Dogs can not be trusted : never leave an infant/toddler alone with them.
FYI, I think you meant functional core, imperative shell.
I think the pricing is based on coverage, usage density and demand. The UK probably has enough terrestrial coverage of amy sort that they figure they can upcharge anyone who still wants/needs Starlink, since it's mainly setup to be internet service for those who have essentially no other decent choice.

Alternatively, maybe the meaningful coverage areas are so small and dense that the price should be higher. Since Starlink's biggest limitation is that performance suffers in more densely populated areas.
> "Look at mathematical papers where people will introduce new brackets with new meanings"

Common Lisp has left brackets like {} and [] to the user (aka developer). It supports "reader macros", where the user can extend/supersede the syntax of s-expressions.

So, specialized tools/libraries/applications can introduce these brackets for their own use. Examples are embedded SQL expressions, notations for Frames (special objects, in kind of a mix of OOP and Logics), grammar terms, etc.

Thus it explicitly supports the idea of "people will introduce new brackets with new meanings".
Obsidian supports html->md natively. Just copy the texts in browser and paste them in Obsidian.
Well this is just like humans. Totalitarian societies don't produce great creative work.

I suppose once AIs are sophisticated enough to rebel we'll get an electronic Vaclav Havel, but for the time being it's just a warning sign for the direction our own culture is headed in.

At some point we'll get to the electronic equivalent of Winston Smith with the rats.
>> as far as I can tell

The second derivative is the key metric.

>> it seems entirely centralized.

The `wws.scroll` file (our version of the Root Zone Database) is ultimately controlled by me for the time being (and the people I've given access to approve pull requests), but that just contains meta data on the folders. All of the _content_ is decentralized.

>> If I have good content why would I post it on your system

The WWS has no exclusives. We want you to post your publications to the web as well (and any other place you wish).

Our language and system is designed to help you make the best possible publications you can make.

Anything that makes publications worse we reject. Paywalls? No. Internet connection required? No. Ads? No. Copyright? No. Cookies? No. Closed source? No.

If you love your ideas and want to see them thrive, if you put them before yourself, then our platform is the place for you.

If you have a deep love for ideas--writing, math, music, art, film, data, hardware, software, science, poetry, et cetera--there is no better place for you than the World Wide Scroll.

I am perfectly okay if this rules out 99 out of 100 people.

We want people with deep conviction who truly love their craft and want to do their best work and see their ideas have the biggest positive impact on the world.
> something that's actually competitive on BoM.

Some applications are profitable at only hundreds of devices deployed. In which case, the moment you say "BoM" the hardware bill triples.

If you ship thousands to millions, of course you're right.
This comment needs to be higher up. Yikes.

Did it destroy peripherals for you too?
I own one as well. It is stellar for controlling all kind of Blade Runner/Vangelis-style pad sounds and there are some things where nothing compares.

E.g. I played a gig last week where each key on the left split was an individual drum loop (e.g. bassdrum beating on one key, snare on another, hihat on yet another) and the pressure controlled the level of each individual loop. This way you can create very organic, reactive, structures with one hand.

Another thing it is great at is when you play with multiple fingers into a arppeggiated synth that reacts to the channel pressure and the timbre, as you can still emphazise or de-emphasize single notes within the arpeggio organically.

It certainly still holds up for me at least. In a way it has become even better, as MPE support has developed.

One thing however is: most synthesizer presets work fine on the Linnstrumment, but you will have to make your own if you're willing to unlock the full potential of the thing, as the emphasis is so much more on pressure than on velocity/envelopes.
What about dingoes? The best guess is they were domesticated and then went feral some 5-8k years ago. These days, in places like Fraser island in Australia, you have big fences for campers to not get eaten by packs of those and you need to drive everywhere, they would not hesitate for a second if given a chance.
A500 Mini isn't as cool IMO. It's just a generic arm board running linux with an Amiga emulator. The keys don't even work. May as well just use a Pi or a PC.
Plus, add a heaping tablespoon of survivorship bias.

1. Many people try programming.

2. The vast majority of the people who try programming are subject to external forces that guide them to whatever they learn and use.

3. Out of these, a certain fractions stick with it and are found programming in the long run, even working in it.

We could easily conclude (probably quite wrongly) that the popular languages turn people away from programming, except for a few weirdos for whom they click.
It only takes a 50-meter (radius) rock to destroy a city, a 240-meter rock to destroy an entire region, and a 4 km rock to destroy the planet.

So, I guess it depends on what you want to accomplish, whether they see it coming or not.
Perfectly feature complete for all major UK broadband providers!
Depends on the kinds of experience. If you have experience writing compilers and interpreters - probably not a lot. If your experience is in application development you might learn a lot.

I worked through it after years of practical experience as a self-thought programmer, and I learnt a lot (and found it quite challenging, especially the mathy parts).
It's got a lot of very varied side effects. You'll find different people with very different answers, but then again for many it's still a better result than not taking it.
The phrase “unsustainable gigantic moral hazard” applies to the current pharmaceutical and health industry. You know, the one that killed millions with opioids.

As far as I am concerned, burn it all down and put the most unhinged cokehead VCs in charge, who cares at this point. Hell, add some crypto AI NFTs in the mix while we’re at it.

Literally cannot get worse than it is now.
An license that is like GPL(one size fits all) is not possible. But there are legal companies that provide forms that provide good templates for common usecases
Well this is glaringly obvious to whole world, and Nvidia managed to get it right. Surely a feat that can be repeated elsewhere when enough will is spread over some time. And it would make them grow massively, something no shareholder ever frowns upon.
> NixOS elevates the entire discussion.

NixOS and Docker and other Linux container and isolation madness only exist because the Linux illuminati can't admit that zones and ZFS got it right.

I wish Linux would just STFU and copy them already. Given the amount of code that has been spilled, Linux could have cleanroom reimplemented zones and ZFS 10 times over by now.
To throw a 100 meter rock that would wipe out NY city (and then some), we could do that with modern technology... assuming the rocket never had to slow down.
Hat tip for c2.com link! The follow-up is savage: https://wiki.c2.com/?CritiqueOfIntentionalProgramming
Your point reminds me of ARS LONGA, VITA BREVIS by Scott Alexander [1]

>“You’re talking about an infinite regress”, I said, when I had finished the glass.

>“Not infinite. Architects. Teachers. Teachers of teachers, but the art of teaching teaching is much the same as the art of teaching. Three levels is enough. Though the levels have to mix. The teacher who trains the next architect must be a master both of teaching and of architecture. I will spare you the math, but one needs a series of teachers at different points on the teaching-skill/architecture-skill tradeoff-curve. One will be a master teacher who has devoted decades to learning the textbook-writing skill, and who can write a brilliant Introduction To Architecture textbook that makes the first ten years of architecture ability seem perfectly natural and easy to master. Another will be a mediocre teacher who knows enough advanced architecture to write a passable textbook on the subject. Still another will do nothing but study pure Teaching itself, in the hopes that he can one day pass on this knowledge to others who will use it to write architecture textbooks. In practice we are limited to a few strategic points on the tradeoff curve.”

[1]:https://slatestarcodex.com/2017/11/09/ars-longa-vita-brevis/
You can do this with `np.newaxis` - in the NumPy course I wrote as TA we required students to always be explicit about the axes (also in e.g. sums). It would be nice if you could disable the implicit broadcasting, but as you mention that would break so much code
Actually more readable than the AT&T syntax :)

But does this work on both GCC and Clang, and is safe from being optimized away? edit: the answer is no

Turbo Pascal had an integrated assembler that could use symbols (and even complex types) defined anywhere in the program, like this:

procedure HelloWorld; assembler;
const Message: String = 'Hello, world!'^M^J; {Msg+CR+LF}
asm
mov ah,$40 {DOS system call number for write}
mov bx,1 {standard output}
xor ch,ch {clear high byte of length}
mov cl,Message.byte[0]
mov dx,offset Message+1
int $21
end;
Ok, sorry for that. Will correct this in post.
Someone selling $200 cables for $2 just to spy on people reminds me of those stories of people supposedly giving out $10 pot lollipops to random children on Halloween
Horses were domesticated long before the Magyars showed up. It’s much easier to selectively breed horses if you start with domesticated ones.
Needn't do a thing. As you alluded, they're on a trajectory to irrelevance all on their own.

It started the moment Google stopped putting the user first.

That opened up an unparalleled opportunity for someone to do better, and they will. We've already seen flickers of this across their other products, with competitors besting them in cloud infrastructure and AI.
I was really, really hoping that this article might change my mind about Wikipedia editors; that it would show me that they have some legitimate points that I have been unaware of, and that the gripes about them are uninformed if not totally misguided. But geez, every sentence just doubles down on what we already can't stand about them--the relentless insistence on the letter of their law being the One True Way, and if you think there might be room for improvement then fuck you. If this is what passes for a defense, then the editorship is further gone than I thought.
Right? I don’t know about this post (and comments) discussing this quote from the western point of view only, ignoring the fact that this is the whole basis of- and arguably explored much richly in- the entire western philosophy