MurphyA/hacker-news huggingface dataset:
by 0xbadcafebee | 2025-09-08 15:12:56+00:00
The popular OSes/kernels are too bloated and don't have wide embedded support (and porting to new devices takes considerable time), and the few free embedded OSes don't have much traction (and aren't used on more powerful platforms). Would be nice to have a middle ground.

For example, FreeRTOS doesn't support 64-bit intel arch. And you don't "ship an app on FreeRTOS", it's more of an API and framework you use, and you sort of write a module in C and compile one big app. Quite different from non-embedded app design/shipping. You won't be able to run an Android app on an ESP32, but it should be possible to write apps for ESP32 and run them on Android-compatible hardware. But FreeRTOS would need optional MMU support, and you'd need extra components to load the app, in addition to hardware support.

If you're asking "why would you do that", it's because I want to write simple purpose-built apps without all the trappings of a larger OS and run them on all types of hardware. You could technically build a 'smart watch' that isn't so smart but runs on a single battery charge for 1 year. But not if you use a power-hungry SoC. Want a more efficient SoC? Good luck figuring that out. Making that whole process easier unlocks more technical solutions and products.
by exmadscientist | 2025-09-08 15:12:57+00:00
This is an entirely uncontroversial take among experts in the space. x86 is an old CISC-y hot mess. RISC-V is a new-school hyper-academic hot mess. Recent ARM is actually pretty good. And none of it matters, because the uncore and the fabrication details (in particular, whether things have been tuned to run full speed demon or full power sipper) completely dominate the ISA.

In the past x86 didn't dominate in low power because Intel had the resources to care but never did, and AMD never had the resources to try. Other companies stepped in to full that niche, and had to use other ISAs. (If they could have used x86 legally, they might well have done so. Oops?) That may well be changing. Or perhaps AMD will let x86 fade away.
by maratc | 2025-09-08 15:13:07+00:00
The trailing comma communicates an intent of possibly adding more things in the future. I actually use it quite a lot -- when I have that intent.

In the above example, if I think I have listed all of the `important_numbers`, there is a certain point of not having the trailing comma there.

Here's another terrible example from `black`:

From this:

my_print(f"This string has two parameters, `a` which is equal to {a} and `b` which is equal to {b}", a=1, b=2)

To this:

my_print( f"This string has two parameters, `a` which is equal to {a} and `b` which is equal to {b}", a=1, b=2, )

The trailing comma it added makes no sense whatsoever because I can not have an intent of adding more things -- I've already exhausted the parameters in the string!

On the top of it, I don't quite get why I need to change the way I write in order to please the machine. Who should be serving whom?

Edit: changed "print" to "my_print" to not have to argue about named parameters of print ("sep", "file" etc.).

Edit 2: here's a variant that `black` has no issues with whatsoever. It does not suggest a trailing comma or any other change:

my_print(f"This string has two params, `a` which is {a} and `b` which is {b}", a=1, b=2)

So an existence of a trailing comma is a product of string length?
by lukaslalinsky | 2025-09-08 15:13:14+00:00
I mainly use Claude Code for things I know, where I just don't want to focus on the coding part. However, I recently found a very niche use. I have a small issue with an open source project. Instead of just accepting it, it occurred to me I can just clone the repo, and ask CC to look into my issue. For example, I was annoyed with Helix/Zed that replacing parameter in Zig code only works for function declarations, not function calls. I suspected it will be in the tree-sitter grammar, but I let it go through the Zed source code, then it asked for the grammar, so I cloned it and gave it access to that, and it happily fixed the grammar for me and tested the results. It needed a few nudges to make the fix properly, but I spent maybe 5 minutes on this, while CC was probably working for half an hour. I even had it fork the repo, and open the PR for me. In the end I have an useful change that people will benefit from, that I'd never attempt myself.
by ndriscoll | 2025-09-08 15:13:51+00:00
The laws regarding haircuts are stupid, but nothing actually stops you from going to an unlicensed barber. Likewise no one is going to stop the teenager next door from unlicensed babysitting, and no one is going to stop you from going to them (or to an adult that runs an unlicensed daycare in their home and goes over legal child:adult ratios).

One difference here is the tool that you own is built to undermine your authority and instead do whatever Google says. It'd be like if scissors required biometric validation with Great Clips to open "to protect people from unlicensed haircutters".
by SOTGO | 2025-09-08 15:13:52+00:00
I'd be interested to hear someone with more experience talk about this or if there's more recent research, but in school I read this paper: <https://research.cs.wisc.edu/vertical/papers/2013/hpca13-isa...> that seems to agree that x86 and ARM as instruction sets do not differ greatly in power consumption. They also found that GCC picks RISC-like instructions when compiling for x86 which meant the number of micro-ops was similar between ARM and x86, and that the x86 chips were optimized well for those RISC-like instructions and so were similarly efficient to ARM chips. They have a quote that "The microarchitecture, not the ISA, is responsible for performance differences."
by bfrog | 2025-09-08 15:14:04+00:00
And yet... the world keeps proving Intel and AMD wrong on this premise with highly efficient Arm parts. While sure, there's bound to be improvements to make on x86 ultimately its a variable length opcode encoding with a complex decoder path. If nothing else, this is likely a significant issue in comparison to the nicely word aligned op code encoding arm has and surely given apples to apples core designs, the opcode decoding would be a deciding factor.
by seba_dos1 | 2025-09-08 15:14:41+00:00
You have to keep guard at each step to notice the inconsistencies and call your tutor's mistakes out though, or you'll inevitably learn some garbage. This is a use case that certainly "feels" like it's boosting your learning (it sure does to me), but I'd like to read an actual study on whether it really does before reaching any conclusions.

It seems to me that LLMs help the most at the initial step of getting into some rabbit hole - when you're getting familiar with the jargon, so you can start reading some proper resources without being confused too much. The sooner you manage to move there, the better.
by wnc3141 | 2025-09-08 15:14:57+00:00
That's a million dollar question. Going by triathlon rules, train to where you can be competitive on your two weakest legs, and then hammer home your strength.

In MBA circles they talk about how organizational effectiveness enables competitive advantage. I.e be operationally good in all areas of your business but align your goals behind being great at one that differentiates you.
by watwut | 2025-09-08 15:15:13+00:00
> From a business perspective, wouldn't taking these issues seriously harm growth?

Yes keeping things ethical and legal harms growth. Or otherwise said, absent enforcement, dishonest, unethical and illegal operations grow faster and eventually kill honest legal competition.

That is WHY we need laws and enforcement. That is why it is necessary to complain and punish executives and bad actors companies.
by jandrewrogers | 2025-09-08 15:15:22+00:00
GPUs are a type of barrel processor, which are optimized for workloads without cache locality. As a fundamental principle, they replace the CPU cache with latency hiding behavior. Consequently, you can't use algorithms and data structures designed for CPUs, since most of those assume the existence of a CPU cache. Some things are very cheap on a barrel processor that are very expensive on a CPU and vice versa, which changes the way you think about optimization.

The wide vectors on GPUs are somewhat irrelevant. Scalar barrel processors exist and have the same issues. A scalar barrel processor feels deceptively CPU-like and will happily compile and run normal CPU code. The performance will nonetheless be poor unless the C++ code is designed to be a good fit for the nature of a barrel processor, code which will look weird and non-idiomatic to someone who has only written code for CPUs.

There is no way to hide that a barrel processor is not a CPU even though they superficially have a lot of CPU-like properties. A barrel processor is extremely efficient once you learn to write code for them and exceptionally well-suited to HPC since they are not latency-sensitive. However, most people never learn how to write proper code for barrel processors.

Ironically, barrel processor style code architecture is easy to translate into highly optimized CPU code, just not the reverse.
by mothballed | 2025-09-08 15:15:40+00:00
The USA has an astonishly effective machine at stomping out protests for anything more than holding up a sign. BLM in Minneapolis was allowed to go on because the politician agreed with it. (Tim Walz's wife famously noted how much she enjoyed the smell of the burning tires.) []

When I was young and still under the illusion protests did anything, I recall going to a protest during the 'occupy' days. Obama was coming into town and we wanted him to be able to hear us chanting or see our signs.

My memory is pretty bad at this point on the context, but roughly how I remember it going was he was going to some sort of convention center. We started walking there, and about halfway there this mysterious but incredibly confident and authoritative person with a megaphone showed up and told us we had succeeded and the protest was over. About 90% of people actually believed that and left. The 10% of us that were like "who the hell is this lady and why would anyone listen to her" kept going. Then the police surrounded us and beat the shit out of anyone they could get to. We never got anywhere close to Obama's route.

[] https://nypost.com/2024/08/07/us-news/gwen-walz-said-she-kep...
by ryanwaggoner | 2025-09-08 15:15:40+00:00
We're decades away from no one being allowed to drive manually, but people don't actually like driving. They like the autonomy of a car. That's not the same thing.

If there's a button in people's cars that they can push and then play on their phone for the rest of the trip, 99% of people are going to push that button.

And after a few years of that, and insurance rates being higher for manual driving, we'll start seeing some areas be automated-driving only, which will then expand...
by dubya | 2025-09-08 15:16:02+00:00
I've seen the reason, I just don't find it convincing. I would like to omit these commas, but also use the formatter sometimes, but that's not really an option. It's frustrating since 'uv format' will omit them for older python versions, so the logic is there.

Something between "everything fits on one short line" and "every argument gets its own line" would be nice too. Spreading a function definition or call across ten lines when it would fit on two or three doesn't feel like an automatic win.
by the__alchemist | 2025-09-08 15:16:04+00:00
I appreciate all the examples and the case the author is making! Don't buy the conclusion, as I think he or she is missing the subtle complexity of technology. If you had to rebuild modern civilization after a calamity, or just a gradual loss, I think it would take a very long time. I think, for example, if China experiences a disaster in the next few decades, our ability to manufacture physical goods at the quality and price they do will be set back decades or longer.

We have already experienced local loss of the details of technology. I think this is what the article is missing. He's looking at big things that are easy to state, while missing the tools-that-build-tools-that-build-tools foundation. I think the also "That's not tech, that's high skill" distinction is a technicality.

It is also viewing history through a filtered lens. A bit like labeling an age as a "stone" or "bronze" age, because that's the durable material that survived. Or anything involving the fossil record.
by alberth | 2025-09-08 15:16:41+00:00
> ... forgotten inventions ... lost technology ... the knowledge of making

I see people in this thread talking past each other and I think the reason why is because the author is conflating 3 very different topics (inventions, technology and knowledge).

E.g. we absolutely have forgotten the knowledge in how Egyptians built the pyramids.

That doesn't mean per se that Egyptians had better/worse technology - but from a knowledge of how they built the pyramids - that absolutely is lost.
by fencepost | 2025-09-08 15:16:48+00:00
Connotation vs denotation indeed.

But I'll stick by my position that for a lot of people feeling put-upon it's because they're generally unpleasant not because of their ethnic, religious or other background but because of their personalities.

Personally, I'd call the current Israeli government one of the "sovereign citizens" of the world - and while there's a certain "duh" element to that because indeed nations are sovereign, the connotation I'm trying to get at here is that they have the same "doesn't play well with others" energy of the US 'sovcits'
by gjsman-1000 | 2025-09-08 15:16:49+00:00
> but nothing actually stops you from going to an unlicensed barber

In my home state, unlicensed barbering is up to $2,000 per incident. So sure, nothing is stopping you. Just as even now, nothing is stopping you from installing a custom ROM and running your own code, even if you might not be able to run other people's code.

> One difference here is the tool that you own is built to undermine your authority and instead do whatever Google says. It'd be like if scissors required biometric validation with Great Clips to open "to protect people from unlicensed haircutters".

This is also a thing in the real world; it's licensing to be able to purchase key fob reprogrammers. It's a real pain, even if the tools (illegally) end up on eBay. That's because the risk of a potentially stolen car is seen as extremely high... but an app's potential makes that look quaint.
by jdc0589 | 2025-09-08 15:16:56+00:00
this is pretty much the situation I'm in re the storage. I'm perfectly fine running a home server, I already do, but workloads with heavy storage requirements scare me away from it. I don't want to have to think about that at home, and the cost of pretty much anything other than object storage in the cloud is prohibitive, and as you mentioned obj store support is non-existent or hacky and slow with most of these products.
by softwaredoug | 2025-09-08 15:17:19+00:00
Unlike Stackoverflow, you can create another subreddit with different moderation.

For example there is an official Peloton subreddit. There is also one that’s looser and more free wheeling (OnePelotonSub). Some communities have circle jerk versions. Or ones that are more or less AI content friendly.

Stack exchange got stuck in a rigid, strict moderation regime. Which maybe makes sense for only one kind of community.
by Aurornis | 2025-09-08 15:17:33+00:00
> but in a vicious cycle, you have to use energy that makes the world hotter to make your tiny part of the world cooler.

New construction with moderate insulation and an efficient heat pump cooling system will have relatively small cooling costs. Include some rooftop solar in the build and it’s negligible or even zero marginal cost to run the cooling unit.
by nucleardog | 2025-09-08 15:17:36+00:00
So you want to proactively determine if, at the current rate charges are accumulating, the budget will be exceeded?

That _also_ runs into problems!

Take, for example, a nightly job that spins up a few giant instances to do some batch processing and shuts them down. Running an hour a night, over the course of the month that's going to accumulate ~$300 in charges. Great, we can set a $400/mo budget and have some wiggle room and all is well!

But how can AWS know that you're going to shut the instances down? Looking only at the rate charges are accumulating, the first night those instances start up you are on track to run up a $7,000 bill!

So do we set a $400/mo budget and then just kill the account so it stops accumulating charges when we hit $400, or do we set a $7,000/mo budget to account for the potential rate of accumulation and risk exceeding our budget by 2,000%?

It would be nice if this were in fact just overcomplicating things, but after much thought and many arguments on the internet I really can't see an easy "general" solution to this. The solution is heavily dependent on your specific workload and usage patterns, and the tooling is there to manage that if you want: Create billing alerts, and run code to adjust your usage in response to them.

That all said: I would fully support some sort of "developer sandbox" account that allowed a "kill the account" billing limit. I'd really prefer it had some sort of obvious limitation to avoid people accidentally using it for production workloads or dev workloads turning into production ones. Something like a hard limit that shuts the account down in 30 days, or limiting inbound connectivity to only via a VPN or something. That's purely self interest though--I don't want to see the article on the top of HN every few weeks about how "Amazon killed my startup" because someone set a billing limit and then all their customers' data was deleted.
by al_borland | 2025-09-08 15:18:16+00:00
If you lookup some info on the Zettelkasten method, that is effectively what Obsidian is designed for when it comes to linking.

For me, Zettelkasten seems like way too much work, and the goals of it are not my goals. So while I do use Obsidian, I don’t use Zettelkasten, I never use the graph view, and I have very few links. For it to really pay off seems like you need to turn your notes into your digital garden. What’s really wild is the guy who came up with the system did it by hand with index cards, if I remember correctly.

Obsidian isn’t too opinionated, and there are a lot of plugins, so you can make it into whatever works for you. Zettelkasten disciples have some impressive looking graph views, but I do question how much of that is actually valuable vs procrastination.

The tool aside, I wouldn’t worry about there being something online that already exists or is better. The act of doing it yourself helps with the learning process. Any time I made a cheat sheet in college for a test they allowed it, I never needed it. The act of making it got me to learn it. I saw an interview with someone recently who said they still write book reports as an adult, like they did in grade school, because it helps them learn the lessons of the book and organize their thoughts around it. All of this takes a decent amount of discipline when there is no external force holding you accountable. If it’s worth it or not really depends on the person and topic.
by screye | 2025-09-08 15:18:18+00:00
It's called the global south because it is poor. These terms (3rd world, developing world) are associated with poverty because they are a cluster of poor nations. The countries are poor because they're badly run. Their institutions are corrupt. Their population is under-educated and under-productive.

It can't value free, because there will always be a value judgement here.

It hurts. Yes, colonialism and a history of foreign exploitation has meant that global south nations have been dealt worse cards. But, the present is what it is. I'm sick of poor nations (like my own) feeding their delusions about the current state of their nation. The people have to learn to separate their identity as proud successors of a rich historic culture and their current state of disrepair. The inability to do so, keeps us poor and susceptible to further exploitation by local power brokers.

Just because twitter influencers use more offensive terms for these nations, doesn't mean that civil forums should overcompensate with euphemisms that hides the obvious judgement inherent to such groupings.
by wk_end | 2025-09-08 15:18:19+00:00
To some extent this is probably the case, especially with that GBA emulator. An NES emulator for the GBA isn't quite a miracle but it would definitely make the poor little 16MHz ARM in there sweat.

It was probably only semi-deliberate, though. Even more than for hobbyist emulators, the point of these was to play games - and in these cases, some specific games too. And for most games, most of these inaccuracies are going to be pretty imperceptible in practice.

So if I were the poor Japanese salaryman entrusted with making this emulator, I'd start by implementing the NES hardware in the simplest, most obvious fashion, and only go further where necessary to get these particular games running. It just so happens that, in emulation, more often than not "simplest and most obvious" also usually translates into fastest.
by Aldipower | 2025-09-08 15:18:32+00:00
Sure, I've an Ensoniq SD-1 Keyboard from 1990. It has 3.5 MB of sample rom. Ensonic was founded by Robert Yannes, who also co-invented the famous SID chip at Commodore.

Here the built in demo songs of my SD-1 at action here: https://www.youtube.com/watch?v=KtV5J6ZLKuU

I also have an Soundblaster AWE64 (not entirely sure) with an Ensoniq chip on it. But the noise level of every Sound Blaster card is that bad, that you cannot really use it for professional recordings.
by LeFantome | 2025-09-08 15:18:35+00:00
Mine is running as a container on an old Mac Pro 2013 (running Proxmox). My GPU is not even as good as yours.

It runs great.

The “beta timeline” required hashing that took forever but this was on my wife’s iPhone and nothing to do with the back-end (she has 50,000 photos).

The machine-learning stuff uses the GPU. Facial recognition for example. It takes longer on low-end hardware but I am not sure why that is a problem.
by gus_massa | 2025-09-08 15:18:42+00:00
We have a similar problem in Argenina. In some parts of the Buenos Aires province, we have a lot of low land with a lot of "chained" lagoons [1]. When there are a few dry years every local government builds a small dam and steal water from dowstream. Every rainy year they open the dams and flow downstream. Some year one of the majors decided to buy fishes eggs and boats, so the farmers become fishers until the land was dry enough to plant soy.

[1] [Spanish] https://es.wikipedia.org/wiki/Lagunas_Encadenadas_del_Oeste [Autotranlation] https://es-m-wikipedia-org.translate.goog/wiki/Lagunas_Encad...
by ndriscoll | 2025-09-08 15:18:53+00:00
Most mobile devices do stop you from installing a custom ROM and running your own code (or code from someone else). That kind of thing is what should be illegal. Likewise with e.g. banks requiring people to submit control of the computer they own to the likes of Google even if the device itself in principle can be put under the owner's control.

Locking down car repair tools is another obviously abusive practice that primarily benefits the manufacturer and harms the owner, justified through some weak appeal to security, yes.
by slimginz | 2025-09-08 15:18:58+00:00
IIRC There was a Jim Keller interview a few years ago where he said basically the same thing (I think it was from right around when he joined Tenstorrent?). The ISA itself doesn't matter, it's just instructions. The way the chip interprets those instructions is what makes the difference. ARM was designed from the beginning for low powered devices whereas x86 wasn't. If x86 is gonna compete with ARM (and RISC-V) then the chips are gonna need to also be optimized for low powered devices, but that can break decades of compatibility with older software.