skysight-inc/HackerNews huggingface dataset:
People have been saying for 30+ years that all numbers out of China are lies. If that's true then China is as poor as Africa. When it's so weak, why worry about China all the time? Just let them die in their misery, there is no China Threat.

In the mean time, you could also visit China, talk to people, and ask them whether they prefer the China today or the China from 30 years ago.
Seems very romantic. That fireball is still out there somewhere. We might never see it again.
I like zothero for managing the bibliography itself.

Comparing notes is hard and not super helpful to be honest.

What I would do:

- Bibliography in zothero, make sure it's in order and you tag/group things to have a good overview.

- Using something like a miro board or obsidian canvas or whatever you feel like to create a visual structure how paper relate to each other. This is super hard and takes a lot of time. I guess you will need to spend at least 6 months in the field to have an overview of what's happening and what has happened in the past and how everything relates.

- Create a mental model of the things you read. Not sure what field you are in, but in electromagnetic wave propagation and imaging, a lot of methods are very similar to each other. Additionally, a lot of these methods have been around in other field for a long time, too, likely named differently. So understanding the fundamental concepts of a paper is usually more important than understanding the details right out of the gate. That's why it is important to read a lot of papers in the beginning, too.

- Organize a paper discussion club in your group. Depending on how well-aligned your research topics are, it can be beneficial to talk about these papers. How did you understand it? How do others understand it? Different people have different interpretations and different mental models. This is a great way to learn more about your colleagues, see different perspectives and talking about papers is a great way to deepen the knowledge. Depending on the papers and how often it naturally occurs that you read the same papers, monthly or even bi-monthly meetings for this are probably enough but that's up to you.
I hope it takes off, a platform independent alternative to CUDA would be great. But if they want it to be successfully outside of supercomputing labs, it needs to be as easy to use as CUDA. And I'd say being successfull outside of supercomputer labs is important for overall adoption and success. For me personally, it would also need fast runtime compilation so that you can modify and hot-reload ROCm programs at runtime.
To ask OP's question again a bit differently:

1. Is functional programming really spiking in popularity right now?

2a. If so, why now, when the principles (and implementations!) were already devised and usable so long ago?

2b. If not, what might give many HN commenters the false impression that functional programming is recently, acutely on the rise?
While technically true, that DDR5 comes with "on-die ECC", it is only because the memory is so unreliable it will not work properly without it.
However, even then, it is not the same as true ECC that have a extra data correction chip on the memory module and also protects against send errors to the CPU.
The article in this case is a longish specification. I skimmed through it. It looks over engineered to me. That's my honest first impression. A dead give away for that is that it needs a longish specification.

And I indeed missed the bit about a pluggable template engine. Just one question related to that: why? I don't see the big use case for this. Maybe a bit less flexibility and a more sane syntax would be better?
The mention of no compiler I'm surprised at. We worked with a microcode simulator for low level CPU poking examples, partially implemented a pre-written compiler as part of our Computer Science course, likewise wrote a DNS server (these are parts just from memory I as an undergrad found challenging).

We also learnt more useless things with databases like aligning writes with HDD sectors for performance (which at the time I, and others, rolled our eyes at since we knew we'd never need it, although not because of SSDs, but how many people write a database?).

This was a 3 year course at a "red brick" university ~1997-2000 in the UK but by no means one of the best for technology - e.g. the lead of the department, and by extension those under him, refused to teach design patterns (or enterprise patterns).

When I asked why of 2 professors and laid out (what I thought was) factual grounding I was told because patterns are for Java or C++ and language specific (which as you probably know is BS, only implementations are, or patterns that work around a language deficit). I later learned they took this as personal criticism, instead of course criticism.

Offtopic:
I'm still salty 25 years later about being given bad grades for things such as that (i.e. first and 2:1 grades for some coursework, thirds, passes and fails in others usually those I happened to argue in even though marking was meant to be anonymous).

I now have an illustrious career in IT, open source and competitive coding (having won my fair share).

Tldr; I learnt don't argue with people who grade you in a polarised institution until you get the qualification. I wish I could have told myself that at 19.
But this has no actual learning. How do you know that founders who share updates with everyone on the cap table are more successful from getting investment reports ?
because having the biology of one genre and the psychology of another seems a condition bad enough that i hope very very few people on earth experience it.
You can choose to program functionally in Java or Python! I do this enough that seeing object oriented Python irritates me. I see this as more of a stylistic choice than forcing new languages.
And was WebP widely used before Chrome enabled support for it?
Did you end up figuring it out? I’m absolutely stumped.
Manually calling free sounds like an optimization, especially in a language that does not tag pointer values and as result would leak allocations all over the place.
Yeah and I don’t think he has talked to many of the wise 18 year olds out there: there are loads of them!
Yeah, I saw that post too, but didn’t want to pile on every one of your facile economic takes.

You’re right, automation isn’t why housing and education are more expensive now. The increase of those is direct result of government policy choices encouraged by the voters. For housing, were taking zoning laws, and public objection laws. Higher education tuition increases for public universities is directly tied to cuts in government support for said government institutions.

But let’s get back to the topic at hand, whether or not benefits of productivity increases are felt by workers, or if it’s primarily concentrated with the already wealthy.

The answer is clear. The benefits are concentrated with the few. Sure prices drop, but so do wages and overall wealth by the majority. This isn’t even a controversial take. Government statistics have been tracking this for 40 years.

You’re asking questions like they’re some great unknowable, but not only is this common knowledge, but just an google image search away.
If China is in terminal decline and closing off to the world then why is everybody hysteric about the China Threat? Why is the US throwing increasingly harsh sanctions on China, to the point of coercing allies into sanctioning China as well?

I propose that the media and HN stop reporting on China, and that the US stops sanctioning China. This frees up mind space and resources to focus on domestic problems such as climate change, income inequality, housing, improving democracy, etc. After all China is in decline anyway so no point in worrying about them, right?
I haven't had much success using signals as a software composition mechanism at scale ... Despite being familiar with Conal Elliott's "functional reactive animations" concepts and Racket's FrTime.

"patch languages" like PureData, Max/MSP/Jitter, QuartzComposer are much better interfaces to work with signals ... Or rather with signal processors.
That is wild! I've always wondered with functional programming what it would actually look like to have a game written in it- guess this is my answer.
Writing a bare-metal RISC-V application in D
> Early forms of active noise reduction did create the comb filtering effects that you describe, but these were never inaudible. Modern noise reduction is much better about this, however, and higher level products are actually used for hearing protection - ...

But surely the physics is the same, is it not? The only thing they can improve is timing and where the doubled waves go. Unless they work by using some other principle?
Also the tooling has improved a lot, making functional programming accessible to people outside of academia. A good example of this is Elixir/Phoenix. Ruby “wowed” everyone with their “Create a Blog in 15 min”. Now they did the same with “Create a real time twitter in 15 min”.
State makes things hard to manage. The more state there is in a program, the more things there are that can go wrong. If you can minimize state and express as much as possible in pure functions, then it's also much easier to write tests with well define inputs and outputs, and if anything causes problems it's easy to see which section caused it because all state originated from a single source.

Thus, stateless design style is easier to test, and even high level tests are more useful because of their high specificity when analysing test failures.
Infrastructure to support Open AI's ChatGPT could be costly
What makes people think and super intelligence far beyond anything we can comprehend would have anything to do with our economy, jobs or people?

I mean what makes some people think it would actually do anything we'd consider useful at all? I often pass animals in the wild all the time, I think they're awesome to look at and I just go on my way, apparently, I'm much more intelligent then they are, so I'm just not that interested in them.

I'm not saying it won't happen, but I actually think there are parallels to discussing AI that behaves in the way your describe and religion and speculating about god or mythology (Odin, The Logos etc)? Because what we're describing seems somewhat supernatural. Which is ironic because it would be built buy people who believe "nothing is magic and if we have brains, we can build brains etc".

It's absolutely insanely naive to me to even suggest for a second that an AGI with superpowers and the ability to "improve indefinitely, out logic everything"...whatever that means for what is essentially a computer program, would be even one bit interested in people, maybe because it has no biological urge to survive it will just turn itself off as it sees no point to being alive? Maybe it will just decide to stop evolving because it "likes itself" and doesn't want to be out evolved.

Buddhist teachings actually are something like this, not that there isn't a point to being alive, but our experience is somewhat of an illusion, a super smart computer program who is an expert at logic and reasoning would probably work that out in 0.5 seconds and just "move on" if there is a tiny amount of truth to any of that view.

I mean what are we even describing here?

Sorry I don't mean to sound confrontational if I do, I'm just actually really curious what people are actually describing here when we talk about "the singularity".

Honestly, it sounds more like we've made something that generates "art" (which less face is it basically a blender of all art that has already existed, and we've really freaked ourselves the hell out, when really, what we've built is actually quite explainable and based on statistical modelling and probably math which is not even really that complicated ?

Maybe that's what our brains actually are, really just maths that isn't complicated, but to suggest that goes from a simulated brain to god just based off feeding it existing human knowledge is quite an interesting idea.
> Was surprised to find out eSims are not just data but an actual chip.

Why? A normal (removable) SIM Card is already an IC and not just fixed data.
I get the graphic designer specific reasons, but I've noticed the same sort of trend in myself upon switching to a tiling wm. The truth is you just don't need multiple monitors with a tiling wm. Space gets wasted in a normal stacking window managers, and you have to manually and meticulously lay your windows out. Most people don't have the patience and just full screen everything. Having layouts optimized automatically, or with a few quick key presses makes things easier, and you wind up actually using multiple workspaces. Switching workspaces is easier than looking around at different monitors.

I do believe that people that use multiple monitors are either showing off or could benefit greatly from tiling window managers, because they'd spend less money on monitors, and less e waste and all that. Very few people have needs that actually demand multiple monitors, a fraction of the number of people that have them.
I don't think this is as new as you're suggesting. Mythical Man Month, from 1975, mentions side-effects in functions as a problem. Even lambda calculus is functional programming. Recursion existed before loops.

I'd say that it's actually a (relatively) more recent phenomenon that OOP took over the world.
How do you handle multiple python versions? I have found pyenv the simplest cross system approach
Thanks! "Agency" hits it. I often feel like I'm a passenger in my own life, like it's just passing by in front of my eyes like a movie. Like I'm this small entity sitting in my brain just observing what's happening.

I am planning to take out a few months after the PhD to do something crazy. Like hike New Zealand top to bottom, or US east to west road trip or living a couple months in a small Italian seaside town or Pacific island to decompress from society, or become truly conscious about our society (visit all the places that support our society like waste plants, sewers, drinking water plants, electricity plants, farmers, distribution centres, ports, mass food production centres, clothing factories, oil refineries, paper factories, etc.).
First, I felt similar to you, but working felt much different because work was accomplishing something while class felt like it wasn't doing anything. The context and the meaning was everything.

Doing new hire interviews, I promise you that many candidates interview worse than you. I started work with very low confidence, but interviewing other candidates vastly boosted my confidence. If you can conjure up BFS/DFS on demand, you are already in the top 50% of new grads. If you can do recursive backtracking easily, you're probably in the top 10%. Dynamic programming? Probably the top 1%.

If you feel your anxiety is too much, I would try to find a therapist. Forcing yourself to do something you hate will burn you out and potentially cripple your life. Maybe your problem is simple, like poor sleep, poor diet, or not enough exercise. Maybe your problem is complex like feeling nobody would love you, which definitely puts a damper on work that isn't very gratifying in the near term, since what's the point in investing in yourself if you're unlovable anyway?

Procrastinating work -> high stress deadlines -> poor sleep -> less ability to focus -> more procrastination -> more stress is an absolutely damaging cycle, and certainly the type of thing that is worth getting external help with.

If you game or scroll reddit for hours, you are almost certainly giving yourself a dopamine based dysfunction of some sort and probably need to think about how to curb that behavior.

My general opinion is that if negative emotions are strong enough to ask a public forum for help managing them, it's probably wise to see if a therapist can help.

If the idea of seeking mental help is off putting, I think it's important to think about physical therapy.

There is a movement called a hip hinge, it means bending with your glutes. Some people when told to bend over, will instinctively bend their back, not hinge with their glutes. A therapist can show you how to move with your hips rather than with your back. Before seeing a therapist, you don't even know your body is moving incorrectly, much less how to fix it. Would you judge yourself for the physical therapist teaching you how to bend over properly?
I futzed around with AROS a year or so ago, and even played with it in 2005 on a hosted Slackware, if memory serves. The installation process was highly confusing. No doubt it works for the developers, but for those that just want to kick the tyres, it could be a lot friendlier.

Small tweaks to their website would help. In the main menu they have "Aros-Exec". The should call it "Forums", because that's what they are. "Archives" would better be called "Software", or "Packages". Sometimes tiny things can mean a lot.

There seems to be an active community for software uploads, which is nice to see.
I’ve been annoyed for the longest time that Apple in North America only sticks grounded plugs on their 1m+ power cables. Very inconvenient for travel. I don’t want to bring an extra 1m cable in my carry-on. I want the little two-prong “duck head” adapter—just with three prongs.

Turns out there’s one third party making them now! (Sadly, their jack doesn’t fold flat like the two-prong ones do, but I’m willing to take that compromise.) https://www.amazon.com/Grounded-Duckhead-Apple-Mac-Adapter/d...
The latency of malloc is nothing compared to latency of even the best low-pause tracing GCs. Several orders of magnitude difference. Malloc/free typically run in tens of nanoseconds. Low pause GCs tend to pause for milliseconds (and this is already considered a success).

Also the nature of pauses is different. A GC pauses everything. A malloc/free call only blocks the thread that called them. Threads that never allocate anything are never disturbed.
Are? You? Serious?

And are all your up-voters serious, too?

Learn your shit, dude! Because right now, your shit owns you.

https://peps.python.org/pep-0020/
How did Microsoft solve the "extensions problem"? Did they publish standardized APIs in time so vendors wouldn't come up with any extensions? Even then, how did MS prevent them from having the driver lie about the card's features to make it look better than it is?
I searched for Flutter dev in SF but the results on GitHub barely have any devs that have done Flutter.
If it generates a bunch of theorems, won't some of those be interesting? Is there no easy way for a mathematician to sift through what it makes?
This reminds me of Trigger's broom.
it's a variation of two-space copying GC, not mark-and-sweep - aka "Cheney GC".

The specific variant ("Cheney on the MTA") is about using stack and CPS to implement it.
I don't think you're alone, considering child births dropped in halve in China.

They can not protest, but that seems to signify a severe drop in confidence in the government.

As a reference, in the West, child births exploded in COVID.

If you want to talk sometimes, let me know. I'm interested about what's it like there at the moment ( and you can practice your English in the mean time).

Ps. Just mentioning, as everywhere, CCP could be monitoring here. It's a popular site...
Plus MS was also trying to offer more than just graphics by adding audio and networking to the stack which kind of started to make the whole ecosystem attractive, even if it was painful to program against.

I had my share of fun with DirectMusic.
Thank you, appreciate your kindness! Good luck on your journey as well!
Huh ? Compared to open source nvidia driver which could do nothing ?

I had a Riva TNT 2 card. The only "accelerated" thing it could do in X was DGA (direct graphics access).
Switched to Ati and never looked back.
Of course you could use the proprietary driver. If you had enough time to solve instalation problems and didn't mind frequent crashes.
I'm more curious if there is something that makes visualizing the Verilog easier... for instance, I've done some small projects where I used Digital [0] (which is so unfortunately named, but awesome) to put blocks of Verilog into the visual representation and then connect my blocks together (like ALU, block ram, registers etc) and run simulation. But the problem is taking all that out back to Verilog and then doing my synthesis with Yosys is a manual chore.

I am wondering if there is some sorta... IDE that is letting people inspect projects with lots in individual Verilog files quickly and show the structure visually (and manage test benches run Icarus and GTK wave etc). I haven't seen this outside of vendor-specific tools like Xylinx's Vivado and I'm wondering if I am just missing something or if that kinda of IDE doesn't exist in any open source tools just yet.

[0] https://github.com/hneemann/Digital

Edit- and yes I get that I'm probably just not used to the management of Verilog codebases and it's no different than software packages with lots of 'modules' and you just work on a module at a time and it isn't that crazy. But I find it odd that there aren't at least some more viz tools, considering functions of a CPU are so 'block' based... I'd love to be able to load up the RTL folder of one of the CPU projects and see how all these Verilog modules are connected to one another and to the top level. Size of the busses, number of instances, etc. As though it were a Logisim project.
"suddenly"? Yes it has become popular overnight in 30+ years.

I'd chalk it up to two aspects - strongly typed languages that show how to do safe composition at scale, and .... Compositionality at scale..

One example, lambda calculus in which functions are the only "thing" shows that all "abstractions" can be understood as "beta abstraction" ... Which is formally defined. Other paradigms (like OOP) don't provide such a formal abstraction notion.

Shameless plug on that "Beta abstraction for bottom up theory building" [1]

[1] https://sriku.org/blog/2016/02/06/beta-abstraction-for-botto...
Interesting, indeed. I wrote my PhD in mathematical modeling in biology nearly 15 years ago, when systems biology was all the hype - I left the field ages ago, but it seems like there has not been significant progress into using mathematical models to guide hypothesis generation and experimental validation.

So while I agree with you in principle, it seems like fusion: always twenty years in the future.
You have to remember both sides of the balance sheet.

AI can offer a path to reduced costs, threatening jobs, but it also offers a path to increased profitability, which creates jobs.

It's hard to tell which force wins out on net, but there's always more work to do, no matter how good our tools are.
Agreed. This isn't quite like the classic roguelike in which it's a struggle to survive and a miracle to win. In fact it may be unrealistic to expect a "daily" game to have that. This is more about getting a high score and sharing with friends how you approached the same dungeon.
IMO, there are a few things going on here:
1) iteration patterns. It’s much simpler, easier, and less bug prone to reason about programs that use map, reduce, and foreach to iterate over collections than it is to reason about programs iterating over collections with for loops. This makes it easier to test and maintain programs over time with minimal regressions

2) distributed computing, our general frameworks and performance reasoning has led us to a place where local state is generally not used in the types of places it used to be. Things (like query results etc) are cached in distributed data stores, not in heap memory. This leads to a more functional style.

3) people feel burned by the old school j2ee style enterprise object oriented programming and do not want to create or maintain “XXXfactorywhatever” classes or have deep preinstantiated object pools to do a simple thing. FP is a way to avoid those design patterns.