Recent submissions

Comment · 10 months ago
I think you’re aware of this already but for everyone else:

There’s different kinds of embedded. What traditionally was referred to as embedded is microcontrollers (e.g., 32-bit ARM Cortex M devices like the STM32 or an NXP IMX106x chip ). A configuration for a Cortex-M7 chip (that some may consider on the high end of traditional embedded) is a 600MHz clock, 1MB of RAM, and 4MB of flash memory. These run either bare metal or a real time operating system but don’t have an MMU.

These days the definition is sometimes expanded to include devices that run full fledged OSes like Linux (embedded Linux) on devices like the RPI with much more memory than an MCU.

To answer the original posters question a bit: get used to C and C++ and not using malloc() / new(), which includes a lot of the standard library.

Comment · 10 months ago
+1 for this. On my system, an ARM cortex-M7, there’s RAM at address 0. In order to catch null pointer dereferences I ended up activating the MPU to make the first couple hundred bytes inaccessible (non-readable, non-writable).
Comment · 1 year ago
Perhaps they’re conflating how you can’t use “const” as a compile time constant (e.g., you can’t declare the size of an array with a “const” variable). If so, C23 solves this by finally getting the constexpr keyword from c++
Comment · 1 year ago
Agreed. As an embedded software engineer new to the field I’ve seen senior engineers with over ten years of experience complain when division by a compile time constant (even by a power of two) is used in code instead of multiplication or bit shifting on our cortex-m7 mcu running at 600MHz
Comment · 1 year ago
That’s literally how the English language works. It literally evolves
Comment · 1 year ago
Such needless condescension, jibal.
Comment · 1 year ago
I was just at one of their offices in San Francisco. They have free breakfast, lunch, and dinner with choices from well over 10 whole restaurants exclusively on their campus. They have (paid) laundry service where they can just drop off their clothes and get them back later. No more Facebook barbers, however. There were people of all different backgrounds: black, white, Hispanic, Indian, etc.

They have all these amenities on top of their huge paychecks (high cost of living in San Francisco notwithstanding). Do you really think they’d give all that up in service of helping their lessers? Maybe some would, but how much of this extravagant lifestyle would they give up? Even those who identify as liberal, how much would they give up?

Comment · 1 year ago
Excellent rebuttal
Comment · 1 year ago
FWIW you can go to settings on GitHub and select what you get emails about. There may even be a digest option such that you get one email per day with all the stuff you would’ve received individual emails about IIRC.
Comment · 1 year ago
Luckily we can protest Tesla and spacex (via not signing up for star link) at the same time.
Comment · 1 year ago
Comment · 1 year ago
Could you please expand on how that is murder?
Comment · 1 year ago
> If you want a processor that works this way, buy a microcontroller.

The ARM Cortex-R5F and Cortex-M7, to name a few, have branch predictors as well, for what it’s worth ;)

Comment · 1 year ago
My understanding is that the cost that is mentioned comes from the branch introduced by checking if the dereference is in-bounds (and the optimizations these checks allegedly prohibit), not from what happens if an OOB access is detected

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton