HN user

allo37

357 karma
Posts0
Comments133
View on HN
No posts found.

My main motivation for impactfulness is just making my job more pleasant: Nothing is more soul-sucking than fixing the same kinds of issues over and over because the powers that be are convinced they're doing it right, and you're the one stuck fixing the issues they create.

Send Me to Heaven 3 years ago

Has someone tried this with a compressed gas powered cannon yet?

Edit: Also, does the app check for the sudden deceleration spike when it hits the ground so you can't, say, add some kind of parachute?

I built a lot of weird 'inventions' in university, such as an airsoft sentry gun to keep squirrels away from the garden. I was also in a student club.

I don't think any project specifically made potential employers say 'wow, we definitely have to hire this guy', but I think having actual experience doing stuff and demonstrating an interest for the field goes a long way towards landing you those first couple of jobs.

Does it infect C/C++ programmers who've dared to sample it once, turning them into noisy advocates, a la addictive drugs or parasitic fungi?

It definitely did that to me. I remember trying out Rust and was amazed at how much abuse I'd put up with from C++ for all these years. Now I just want to try out Rust in a large enterprise project to see if it will just be replaced with a different kind of abuse...

Employers don't require their employees to be members of a professional order because they think professional orders are nifty- It's because certain jobs are only legally allowed to be performed by a member of said order. If you were a dentist and ran your own clinic, you'd still need to be a member of a professional order (at least in Canada and the US afaik) to practice dentistry legally, which would come with obligations outside of your usual working hours.

Software engineering exists in a sort of gray area where you can often be a professional software engineer without having to be a member of any order, which is great in many ways. But I feel like one could argue that the informal expectation of software engineers to care about software outside of their work is similar to what is expected in other professions with more rigid governing bodies.

Sometimes you can declare "self-learning", depending on the order.

But anyways, that's not really my point: My point is just that in professions it's not uncommon to be expected to perform some kind of extracurricular activities related to your job. Often software "engineers" aren't members of a professional order, but I'd argue that the idea still applies. Tbh learning by working on a hobby project is way more appealing to me than watching some PowerPoint presentation...

Hah, to me flashing an MCU over UART is a luxury. When I first started working with MCUs I needed to use a chip programmer that cost several hundred $ and flashed using a high-voltage (relatively speaking) parallel interface. Then there were serial programmers that used a proprietary protocol to talk to the chip. And then finally we had bootloaders and self-flashing MCUs that made this whole process sane and affordable!

And of course to our ancestors, we're spoiled kids with our electronically erasable ROM ;)

It's funny, I work in embedded systems and much of this is still relevant to me. RS-232 itself (as in the specification for the physical layer) isn't used as much, but the underlying UART comms protocol is still alive and well. A Beaglebone dev board, for example, can be booted by uploading the bootloader over XModem.

Engineers prefer direct language and concrete examples. Unfortunately it's not always engineers looking at your resumé, and they love buzzwords and flowery language.

Expert Beginners 3 years ago

Well according to the article, if you're an Expert Beginner you might just end up with a checks notes... well-paying stable job and lofty title. Oh no!

It was my first exposure to...scalping? I remember that for some reason, chocolate was very valuable in the game. There was a chocolate shop in the game that was consistently sold out, but if you hit refresh often enough and at the right time, you could catch it right when it "restocked" and nab one of those rare chocolates. Then I would sell it in my personal store at a tidy profit.

Timing the refresh just right and grabbing a super valuable chocolate was quite a thrill, probably even more than the games themselves.

And then obviously no-one will spend $220 million on a movie anymore because, hey, we can just use generative AI. So I guess subsequent AIs will be based on the outputs of a previous AI? Or will all movies from a certain point onwards be wholly based on a corpus of existing movies used for training? Maybe AI companies will start shooting small film segments in meatspace just for the purpose of training or providing some base input to their models?

The future is gonna be weird, yo.

Funny you mention Rad, they seem to be another golden-boy eBike company that grew too quickly and is struggling. I have a Rover 6+ and am concerned about being able to get parts quickly in the future...

There has been a desire to use Rust where I work, but it's really hard to make a business case for "Hey, see this C/C++ code that's worked well for years if not decades? Let's rewrite it in a whole new programming language!". I wonder if it's the same story elsewhere?

Tired of Software 3 years ago

I remember some PC games in the 90's/early 2000's just refused to run, or they would run and then the disk would get too scratched up and then they'd refuse to run.

Sometimes one particular game (MechWarrior 2: Mercenaries) would freeze and the CD drive would start spinning at warp speed, and it would still be spinning a bit due to inertia when I opened the CD tray. Once I tried to stop it with my finger and the disc launched itself across the room.

You just don't get these kinds of hijinks with modern games :(

I do this quite a bit in C and C++; I find it's a great way to reduce the mental effort required to understand a long function without having to jump around the source like when it is broken up into multiple functions.

In C++ you can really (ab)use it to do things like scoped mutex locks and "stopwatches" that start a timer on construction and print the elapsed time on destruction.

Some people find it a bit bizarre though, to each his/her own I guess.

Eh, let them live with their "smart" code:

What happens when they leave it for a few months and come back and forget how everything works?

When a client encounters an issue in the field and they have to debug it with "It doesn't work, yo." as a problem description?

When a coworker tries to modify it and breaks everything because they can't figure out how it works and there are no decent tests?

Eventually, they'll come around :) Or maybe there is no saving some people and they should stick to R&D...

I'm an embedded dev and yeah, I can confirm that it's mostly C. And the "C++" I often encounter is pretty much just C with a couple of C++ things thrown in like std::vector.

I agree that embedded is a good choice if you're looking for C.

-15C? I've cycle-commuted in -20C ;)

The thing people might not realize is that when you're exerting yourself, your body generates plenty of heat to keep you warm - it's really just a matter of keeping that heat contained. It's more akin to doing a winter sport like skiing, snowboarding, etc. than it is to sitting passively in a car.

Exactly. I do miss seeing/conversing with my coworkers with WFH, but the positive effect it has had on my overall health and stress level cannot be understated. These "actually, you really want to go back to the office and like it" articles are a bit presumptuous.

I had worked in embedded a bit at my first job out of university, then took a job doing mostly modern C++ but also Android/IOS/.NET development for over 3 years. I realized that I missed embedded and wasn't super fond of "software" for the reasons outlined above, and ended up where I am now.

I actually got a small pay increase compared to my previous role! I don't think my salary really compares to what I read about on here (like, I think your average HNer easily makes 2x what I did/do based on the posts I've read) though, so take from that what you will.

Not sure if this counts, but I went from software engineering to embedded systems. Here's how I feel it's different:

- The space evolves at a slower pace than regular "software", so I'm less stressed about keeping up with the latest/greatest;

- Resources are more constrained so there are less whacky design patterns and architecture - just simple code;

- Longer development lifecycle (due to hardware), so less being rushed to ship half-assed features.

There are downsides, too:

- Less cool algorithms (and language features), more shunting around data and debugging;

- Not as well-compensated, but still pretty good;

- Hard to be 100% remote, since you often need access to hardware.

Obviously, my experience is not universal, just my sample of n=1!