IT/Software career thread: Invert binary trees for dollars.

alavaz

Trakanon Raider
2,006
714
I've done some hacking around in various firmwares (usually for security cameras or UAS) and these days it seems like most of them run a linux kernel along with custom C programs.
 

Asshat Foler

Kenya jusbeh kew?
<Aristocrat╭ರ_•́>
48,498
42,825
I've done some hacking around in various firmwares (usually for security cameras or UAS) and these days it seems like most of them run a linux kernel along with custom C programs.
Ya I mean people aren't writing in assembly most of the time thankfully. There's a number of RToS kernels out there that aren't Linux based. NuttX is pretty popular ATM and is posix/Ansi standards with unix-like API so if you know Unix ur good to go.
 

ShakyJake

<Aristocrat╭ರ_•́>
8,078
20,379
Sounds boring to be brutally honest. But, hey, if it floats your boat (and pays the bills) then all the power to you.
 

Noodleface

A Mod Real Quick
<Aristocrat╭ರ_•́>
38,584
16,612
I wrote UEFI firmware and "BIOS", people will give me shit if I say it was UEFI BIOS but that's what we called it so people knew what it was. I also wrote UEFI POST, as well as drivers. I've also written legacy BIOS and legacy drivers/oproms.

It is boring to some people, and to others it's awesome. It's probably because my degree is in computer engineering so I love low level stuff. When I interned at EMC I got an internship in the Firmware department and I went "ugh this is exactly like what we're learning in school, this is so boring." But I'm an aspie so it spoke to me. It's the one job I regret leaving because I enjoyed the work so much. It's not easy finding UEFI/firmware jobs around here, in my experience.

I have written some legacy BIOS in assembly and that's really boring. We had some assembly gurus on the team and I couldn't ever even hope to come close to that skillset. I did do a log of assembly level debugging though. Very cool stuff.

On my current work I'm taking a DSP course offered by UMass because they're trying to get more DSP engineers in the company. Pretty sure this will lead to really good opportunities. Really low level stuff with a lot of math
 
  • 2Like
Reactions: 1 users

alavaz

Trakanon Raider
2,006
714
I've always been interested in low level computing. I find a lot of the higher level stuff requires more "artsy" thinking than mathematic thinking and I'm just not that great with (or interested in) it. I'm definitely more wozniak than jobs.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,969
I always imagine that embedded parallel shit like GPUs must be awesome to code.
 

Deathwing

<Aristocrat╭ರ_•́>
17,120
8,124
I don't miss having to remember what combination of bit flags 0xE2 represents.
 
  • 1Worf
Reactions: 1 user

Deathwing

<Aristocrat╭ರ_•́>
17,120
8,124
Bit manipulation was my favorite part. I noticed new kids out of college seem to have no concept of it
It's a neat concept and I still use it rarely in higher level languages. But it does not lend itself to readable code most of the time.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,969
Speaking of bit manipulation, I think everyone should read Hackers Delight at least once in their life.
 

Noodleface

A Mod Real Quick
<Aristocrat╭ರ_•́>
38,584
16,612
It's a neat concept and I still use it rarely in higher level languages. But it does not lend itself to readable code most of the time.
Depends what you're doing but most engineers would have plenty of #define for the hex/bit values
 

Noodleface

A Mod Real Quick
<Aristocrat╭ರ_•́>
38,584
16,612
How is

C:
#define SOME_REGISTER



...



read(SOME_REGISTER, buffer);

A code readibility issue?
 

Deathwing

<Aristocrat╭ರ_•́>
17,120
8,124
I would happily throw that benign baby out with the bath water if meant to I could be rid of such evils as SOME_REGISTER actually preprocessing to a multiline platform-dependent function call that your debugger can't resolve.
 

Deathwing

<Aristocrat╭ರ_•́>
17,120
8,124
Or you use stuff like local, object, class, or even global(ugh) variables instead. Allowing preprocessing in your language is essentially kicking the can of worms down the road.
 

Neranja

<Bronze Donator>
2,765
4,479
I find a lot of the higher level stuff requires more "artsy" thinking than mathematic thinking
It's not that the higher level stuff is more "artsy", it's just that most high level language jobs have migrated to languages and frameworks that promise to achieve goals with the least amount of work. All at the cost of really understanding what is happening at a low level. After three metric tons of libraries and abstractions and APIs you get: "An error has occured."

Programming has evolved into a "finish something quickly and iterate from that" model (fueled by the Buzzword du jour, like Agile, DevOps, Scrum), because obviously the customer doesn't even know what he wants. So pick something, we'll have to rewrite it anyways.
 
  • 4Like
Reactions: 3 users

alavaz

Trakanon Raider
2,006
714
Preprocessing is just a way to save memory and was probably pretty cool when you only had like 16kb to work with.