Recent submissions

Comment · 3 years ago
Same here. Embedded programmer, primary language being C. I sat here staring at that line for a solid 30 seconds trying to understand the intent - it’s nonsensical. I read your comment and see the intent you’re guessing at but… you would not generally write C like this. Pointer arithmetic is to be avoided, and this case is contrived. I don’t think a compiler warning would be thrown here though - maybe that is the point, that the language and compiler would not catch this issue and that typos or novice learners can make compilable mistakes too easily?
Comment · 3 years ago
I think anytime you need to start stepping through assembly instructions instead of C in a debugger is also when you start reflecting on life choices.
Comment · 3 years ago
Not a hardware bug, but in embedded I ran into a fun one early into my first job. I setup a CI pipeline that took a PR number and used it as the build number in a MAJOR.MINOR.BUILD scheme for our application code. CI pipeline done, everything worked hunky-dory for a while, project continued on. A few months later, our regression tests started failing seemingly randomly. A clue to the issue was closing the PR and opening a new one with the exact same changes would cause tests to pass. I don’t remember exactly what paths I went down in investigation, but the build number ended up being one of them. Taking the artifacts and testing them manually, build number 100 failed to boot and failed regression, build 101 passed. Every time. Our application was stored at (example) flash address 0x8008000 or something. The linker script stored the version information in the first few bytes so the bootloader could read the stored app version, then came the reset vector and some more static information before getting to the executable code. Well, it turns out the bootloader wasn’t reading the reset vector, it was jumping to the first address of the application flash and started executing the data. The firmware version at the beginning of the app was being executed as instructions. For many values of the firmware version, the instructions the data represented were just garbage ADD r0 to r1 or something, and the rest of the static data before getting to the first executable code also didn’t happen to have any side effects, but SOMETIMES the build number would be read as an instruction that would send the micro off into lala land, hard fault or some other illegal operation. Fixed the bootloader to dereference the reset vector as a pointer to a function and moved on!
Comment · 4 years ago
Have you found a solution to mid-large scale embedded test setup? Could you provide some shallow insight into frameworks or other infrastructure used for embedded testing? I've previously been responsible for firmware testing small production volume devices in aerospace but have since moved to a high volume product with multiple active hardware revisions and no test infrastructure currently in place. It's a different beast to test now while trying to balance schedule and feature dev.
Comment · 5 years ago
The higher they raise wages, the more workers they'll likely retain.
Comment · 5 years ago
Honestly this would probably just make VPN services more widely used to workaround shutdowns.
Comment · 5 years ago
Searching "tiennenman square massacre" pulls up the image as the second result.
Comment · 6 years ago
Interesting, I had a much easier time seeing the actual motion instead of the illusion in black and white over colored.
Comment · 7 years ago
Improved local production doesn't have to reduce variety by necessity.
Comment · 7 years ago
I'm currently using it without many issues under WSL.
Comment · 7 years ago
I have a limited understanding, but I think this is just further reproduction of the same science. I believe there's some controversy over non-locality in that entanglement and spooky action at a distance is still a result of hidden local variables. By increasing the distance between the sources of the photons, you would give more evidence to nonlocality. Please correct me if this is offbase.
Comment · 7 years ago
I find it sad that things like rising sea levels and mass extinction do not worry you. Should someone only care about things that affect their own personal life? Rising sea levels are going to affect a large amount of people negatively, and mass extinction means we are losing a lot of biodiversity that we needn't be. Your viewpoint seems to lack empathy for other people and other species.
Comment · 7 years ago
I looked through the datasheet, but couldn't figure out what "1KW" of program memory meant.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton