bmcooley's comments

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 | 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: 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 | 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.

page 1