bmcooley
|
2 years ago
|
on: Ask HN: Rust or C or C++ in 2023?
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?
bmcooley
|
3 years ago
|
on: My Hardest Bug Ever (2013)
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.
bmcooley
|
3 years ago
|
on: My Hardest Bug Ever (2013)
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!
bmcooley
|
3 years ago
|
on: Robot Framework: generic open source automation framework
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.
bmcooley
|
4 years ago
|
on: Workers who keep global supply chains moving warn of 'system collapse'
The higher they raise wages, the more workers they'll likely retain.
bmcooley
|
4 years ago
|
on: Ask HN: You have one shot to redesign the Internet – what do you change?
Honestly this would probably just make VPN services more widely used to workaround shutdowns.
bmcooley
|
4 years ago
|
on: There are no results for tank man
Searching "tiennenman square massacre" pulls up the image as the second result.
bmcooley
|
6 years ago
|
on: Stepping Feet Illusion
Interesting, I had a much easier time seeing the actual motion instead of the illusion in black and white over colored.
bmcooley
|
6 years ago
|
on: The first high-resolution map of America’s food supply chain
Improved local production doesn't have to reduce variety by necessity.
bmcooley
|
6 years ago
|
on: WTF – A personal information dashboard for your terminal
I'm currently using it without many issues under WSL.
bmcooley
|
6 years ago
|
on: Quantum Interference Between Light Sources Separated by 150M Kilometers
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.
bmcooley
|
6 years ago
|
on: Millennials and Gen Z Increasingly Pessimistic About Their Lives, Survey Finds
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.
bmcooley
|
6 years ago
|
on: The Amazing $1 Microcontroller (2017)
I looked through the datasheet, but couldn't figure out what "1KW" of program memory meant.
bmcooley
|
7 years ago
|
on: The IRS Tried to Take on the Ultrawealthy – It Didn’t Go Well
How does a wealth tax work when the majority of your assets are illiquid? Stake in a company, real estate, etc. are difficult to tax and still have predictable recurring tax revenue, right?
bmcooley
|
7 years ago
|
on: Adding layers to the middle of trained network without invalidating the weights
I don't have a strong background in AI/ML, but aren't quite a few advances in this tech driven by a "throw at the wall and see what sticks" attitude? I was under the impression that the "why" in some mechanics in advanced neural nets were poorly understood and just happened to work well. Please enlighten me if that isn't the case.
bmcooley
|
7 years ago
|
on: Lyft Files S-1
It's a rollout that probably wouldn't happen all at once. Human drivers for tough conditions, while self driving vehicles inhabit Arizona and LA.
bmcooley
|
7 years ago
|
on: Spent – Poverty Simulator (2011)
I see this attitude a lot when this type of discussion comes up. People seem to focus a lot on the idea that if you "run your life into the corner" then it automatically becomes acceptable that you're stuck with that lot in life or are somehow deserving of all of the consequences. I'm not arguing against responsibility for your choices, but mental health, upbringing, addiction and so much more play huge factors in determining lifestyle and outcome. Regardless, is it in society's best interest to attempt to uplift those in need and help them become more productive members for the greater good? I think so.
I don't mean to put words in your mouth or assume what attitudes lie behind your personal thinking, I'm just reflecting on my own thoughts about this.
bmcooley
|
7 years ago
|
on: Darpa invests $100M in a silicon compiler
I'm curious, my uni satellite club is using the same camera for a cubesat, is that the same domain you're using it for?
bmcooley
|
8 years ago
|
on: NASA finds a large amount of water in an exoplanet's atmosphere
Wouldn't the ship's mass only appear to increase to the outside observer?
bmcooley
|
8 years ago
|
on: Astranis emerges from stealth with new satellite tech for connecting the world
And they're being dropped in favor of geosynchronous providers.