> GC is a showstopper for my day job (hard realtime industrial machine control/robotics)
Which is a very niche use case to begin with, isn't it? It doesn't really contradict what the parent comment stated about Go feeling like modern C (with a boehm gc included if you will). We're using it this way and it feels just fine. I'd be happy to see parts of our C codebase rewritten in Go, but since that code is security sensitive and has already been through a number of security reviews there's little motivation to do so.
> Which is a very niche use case to begin with, isn't it?
My specific use case is yes, but there are a ton of microcontrollers running realtime tasks all around us: brakes in cars, washing machine controllers, PID loops to regulate fans in your computer, ...
Embedded systems in general are far more common than "normal" computers, and many of them have varying levels of realtime requirements. Don't believe me? Every classical computer or phone will contain multiple microcontrollers, such as an SSD controller, a fan controller, wifi module, cellular baseband processor, ethernet NIC, etc. Depending on the exact specs of your device of course. Each SOC, CPU or GPU will contain multiple hidden helper cores that effectively run as embedded systems (Intel ME, AMD PSP, thermal management, and more). Add to that all the appliances, cars, toys, IOT things, smartcards, etc all around us.
No, I don't think it is niche. Fewer people may work on these, but they run in far more places.
Not familiar with it, but reading the github page it isn't clear how it deals with GC. Do you happen to know?
Some embedded use cases would be fine with a GC (MicroPython is also a thing after all). Some want deterministic deallocation. Some want no dynamic allocator at all. From what I have seen, far more products are in the latter two categories. While many hobby projects fall into the first two categories. That is of course a broad generalization, but there is some truth to it.
Many products want to avoid allocation entirely either because of the realtime properties, or because they are cost sensitive and it is worth spending a little bit extra dev effort to be able to save an Euro or two and use a cheaper microcontroller where the allocator overhead won't fit (either the code in flash, or just the bookkeeping in RAM).
Yes, just like with real time Java for embedded targets from PTC and Aicas, it is its own implementation with another GC algorithm, additionally there are runtime APIs for regions/arenas.
Here is the commercial product for which it was designed,
You can also see it differently: If the language dictates a 4x increase in memory or CPU usage, you have set a much closer deadline before you need to upgrade the machine or rearchitect your code to become a distributed system by a factor 4 as well.
Previously, delivering a system (likely in C++) that consumed factor 4 fewer resources was an effort that cost developer time at a much higher factor, especially if you had uptime requirements. With Rust and similar low-overhead languages, the ratio changes drastically. It is much cheaper to deliver high-performance solutions that scale to the full capabilities of the hardware.
I believe we already have that, and it's called a cab. You pay extra, get an exclusive social experience and, at least in some parts of the world, get to share the bus lanes with other folks taking the bus.
> A basic setup to make use of secure boot is SB+TPM+LUKS. Unfortunately I don't know of any distro that offers this in a particularly robust way.
Have a look at Ubuntu Core 24 and later. Though it's not exactly a desktop system, but rathe oriented towards embedded/appliances. Recent Ubuntu desktop (from 25.04 IIRC) started getting the same mechanism gradually integrated in each release. Upcoming Ubuntu 26.04 is expected to support TPM backed FDE. Worth a try if you can set up a VM with a software TPM.
Keep in mind though, there's been plenty of issues with various EFI firmwares, especially on the appliances side. EFI specs are apparently treated as guidelines rather than actual specification by whoever ends up implementing the firmware.
Could say the same thing about why it's in the blog post.
You don't have to care at all. It's just an odd blog post that just from technical intro to rant about DEI and censorship and back to technical details. And joecool1029 just provides more context to what was said in the blog post.
Coal does not magically materialize either, it needs ot be mined, transported, processes and then transported some more. You'd have to account for that in order to make a fair comparison.
You may also want to take into account how localized and preventable the emissions are. In this particular case, burning fossil fules to heat up homes, already implies no expensive filtration systems, because installing them would be a private investement and one that likely makes no sense given they could equally well replace coal furnace with gas one for less the price.
What's more important is Poland has one of the highest electricity prices in Europe. Even accounting the downsides, it totally makes sense to replace the base of the energy mix with nuclear power and leave coal/gas for when there's a shortage of power. At that point moving to electical heating should make the actual, both financial and envioronmental, cost of inevitable emissions more 'efficient' and manageable. So two ghouls with one rod?
How come folks seem to focus on beef, while IMO the real stakes are in obtaining access to important minerals. Lithium, nickel, copper, graphite, niobium, etc. are often listed. There's a nice breakdown on EC pages:
You are just fearmongering based on lies. "Hormone raised cattle", and shit like that.
South America likely has the best beef in the world (I can speak from experience having lived on both sides of the pond). Good that I might have access to real meat here for once.
> 100% definitely use antibiotics and hormones banned in europe for safety reasons
No it's not. South American meat, particularly from Argentina, Uruguay, and Southern Brazil is phenomenal. It's just the perfect geography and climate for cattle.
You are just crying for protectionism. If a less than 2% quota over the European production threatens you, it speaks more about your inability to do your job properly.
Yes of course, and the energy or minerals lobbies don't have any kind of agendas of course. They're obviously working for your well being and not serving their interests
Also, one of the most corrupt country in the world will obviously play by the rules
Oh they have agency. They also have bills to pay, families to take care of and many other obligations that folks of privilege do not need to be bothered with. It is immediately obvious how privileged we are compared to many others who are not a liberty of designing their lives or careers.
>They also have bills to pay, families to take care of and many other obligations
I honestly don't get your point. I also have bills to pay and a family to take care of. Almost everyone does. I can't just quit my job and spend my life sunbathing on a sunny island, even though that sounds way better than my office job.
The number of people who have so much that they don't ever need to worry about bills or affording a family is tiny, even among HN users. This is also not what "designing your life" is about.
To be clear, I acknowledge my privilege - I have a relatively high salary (but not US-high, not even 6 USD figures) and don't need to worry about day-to-day survival. I just fundamentally disagree that there is some threshold below which people can't make decisions about their own life or career.
> I just fundamentally disagree that there is some threshold below which people can't make decisions about their own life or career.
Stuff happens to you and to one's family that you just cannot "strategize" your life around just like that, unless you have (some, a good amount even) money, this is just how things are. If you haven't ever been in that place consider yourself very lucky.
I'm going to add my perspective here, I'm new to the website and have noticed people here might not fully understand not having any opportunity and what that is like. My mother, father, and grandparents all died before I was 19. I was homeless for a bit, and slept behind bushes while working at a local Kmart. I would have stayed homeless if not for some friends (that I barely knew then) inviting me to rent an apartment with them (they did not know about my situation).
The one thing I had going for me was that my grandmother prepaid my college tuition. So I scraped by working bullshit jobs, completed college, and now in my 30s I'm doing sort-of okay as a programmer for a start up (the pay here is bad, which is why I'm here).
It was awful getting here and I was always one small step away from being permanently homeless or dead. Maybe he didn't mean it like this, but a "normal" person means a person living in poverty in China or Indian or wherever else, and they all have it even worse than me.
I'm writing this here because, not you, but others on this website tend to just give some form of "bro, just stop sucking so bad if you want to improve your life" and it doesn't seem like they really understand what having no option is like.
I do something similar but with Emacs and org mode. I start a new file each time I join a new company and just keep on updating it with things as I'm progressing through my day. The one I carry right now goes back as far as Dec 2017. It's a super useful resource for dailies, or looking back at what you did. Heck I even add TODOs and shell snippets that I often find useful. If you feed it to some LLM then you can even do nice summaries and meaningful searches that aren't necessarily based on single keywords.
I'm using org mode too. For time based tasks I like to get an overview of tasks and timestamped notes by using EasyOrg [0]. You can search based on schedules and deadlines.
Which is a very niche use case to begin with, isn't it? It doesn't really contradict what the parent comment stated about Go feeling like modern C (with a boehm gc included if you will). We're using it this way and it feels just fine. I'd be happy to see parts of our C codebase rewritten in Go, but since that code is security sensitive and has already been through a number of security reviews there's little motivation to do so.
reply