Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
FlapYoJacks
Feb 12, 2009

Deep Dish Fuckfest posted:

always put the * next to the base type, not the variable name! it's part of the type!

char *foo looks better than char* foo

Fight me. :colbert:

Adbot
ADBOT LOVES YOU

FlapYoJacks
Feb 12, 2009

quote:

Corporation, a leader in emergency communication, is looking for a Senior Embedded Software Engineer to join its design team in our offices in Michigan. The design team is focused on building and maintaining company’s suite of products, and provides engineers with a well-rounded experience that will not compartmentalize them to one project, system or process. The Senior Embedded Software Engineer will be responsible for:

Devising system architecture and requirements for innovative embedded software products
Integrating and validating embedded systems
Developing detailed designs to meet product specifications
Collaborating with team members on active projects
Communicating tasks, risks, road blockers to project stakeholders
Working with third party partners through development cycle
Continuous improvement through testing and analysis
Ideal candidates will have experience in:

C/C++ languages
Familiarity with scripting engines like Python
Linux and Linux drivers (SE Linux experience a plus)
Ethernet drivers and networking
Bootloaders such as Uboot
Low level driver writing
Code version control
Hardware debugging
Working independently on development projects
Entrepreneurial work environment (start-ups, small business)
Desire to learn new technologies outside of current skill sets
Iteration and rapid prototype development
Audio (SIP) and/or video libraries a plus
Job Type: Full-time

They basically took what I told them my old job responsibilities were and dumped it into a job description .

No salary listed, but my ex coworker said they won’t go above 90k :allears:

FlapYoJacks fucked around with this message at 00:33 on Jul 18, 2018

FlapYoJacks
Feb 12, 2009

Kilometres Davis posted:

I like the space either side. The asterix can hang.

I also like my brackets:
code:
 
foo()
{
        if(bar) 
        {
                /* like this */
        } 
} 

Powerful Two-Hander posted:

extremely correct. what other possible way of doing it is there?

code:
 
foo(){
    if(bar){
        /* The true correct way*/
    } 
} 
:colbert:

FlapYoJacks
Feb 12, 2009

SardonicTyrant posted:

I am a good programmer because I admit I am a terrible programmer.

re: terrible programmers: I am a good programmer because I admit I am a terrible programmer.

FlapYoJacks
Feb 12, 2009

Shaggar posted:

mongo isn't a database, its a heap

don’t choose mongo or you will be in a heap of trouble.

FlapYoJacks
Feb 12, 2009

The last 3 code reviews I have done have been denied.

Step 1) Pull the branch
Step 2) Load into IDE
Step 3) Look at all the warnings and clang-tidy issues that have been introduced.
Step 4) Deny pull request with a shitload of comments about the warnings and other clang-tidy issues.


How many times will I have to do this before the developers get it through their head that at a bare minimum, your code shouldn't introduce more warnings in the god drat code?


Edit*

Also, if I see any god drat char *'s or char arrays that aren't 100% absolutely necessary, I will flip my poo poo.
We spent several weeks cleaning out the "Treat C++ like C with classes" code to update it to modern C++17, I will not be throwing C poo poo back in there.

FlapYoJacks fucked around with this message at 16:31 on Jul 25, 2018

FlapYoJacks
Feb 12, 2009

Peeny Cheez posted:

:wrong:
code:
grep -vxF a.txt b.txt > ur_mom.txt


code:
grep -vxF d.txt p.txt > ur_mom.txt

FlapYoJacks
Feb 12, 2009

Finster Dexter posted:

I think the CEO is willing to take feedback

https://www.youtube.com/watch?v=FopyRHHlt3M&hd=1


Edit* This is why I WFH (among many many other things.)

FlapYoJacks
Feb 12, 2009

comedyblissoption posted:

your ceo is saying instead of your workplace being a cool place to hang out and keep morale high with happy workers, your workplace should instead be:
https://www.youtube.com/watch?v=WXh1tW16V-8

The guy yelling at them is having the most fun.
The CEO wants to be that guy.

FlapYoJacks
Feb 12, 2009

Boiled Water posted:

My manager who is also the CTO told me to put on a more happy demeanor so my colleagues would come to me with their tech issues. They felt I was scary.

I was reprimanded at my old job because I didn't want to participate in the holiday party after working 60+ hour weeks for months on end.

Also, there wasn't a single god damned vegetarian dish at the entire party. I had never once eaten meat the entire time I was there.

FlapYoJacks
Feb 12, 2009

Bloody posted:

i go to the company holiday party and get plastered on free booze

There was no free booze.

FlapYoJacks
Feb 12, 2009

Beamed posted:

that's not a party that's misery, what the gently caress

EDIT: this is the one that lost millions because they were poo poo to you, right?

Yes.


EDIT:
Found a new posting for them titled "Junior Embedded Software Engineer" According to my ex-coworker, they will not pay more than 60k for this position.

quote:

"Company", a leader in $field, is looking for a Junior Embedded Software Engineer to join its design team in our offices in West, Michigan. The design team is focused on building and maintaining company’s suite of products, and provides engineers with a well-rounded experience that will not compartmentalize them to one project, system or process. The Junior Embedded Software Engineer will be responsible for:

Devising system architecture and requirements for innovative embedded software products
Integrating and validating embedded systems
Developing detailed designs to meet product specifications
Collaborating with team members on active projects
Communicating tasks, risks, road blockers to project stakeholders
Working with third party partners through development cycle
Continuous improvement through testing and analysis
Ideal candidates will have experience in:

C/C++ languages
Linux programming environment
Code version control
Working independently on development projects
Entrepreneurial work environment (start-ups, small business)
Desire to learn new technologies outside of current skill sets
Job Type: Full-time

Experience:
embedded development: 3 years

Education:
Bachelor's

Required work authorization:
United States

I left the spelling mistakes and all the formatting the same, minus the company name. :allears:

FlapYoJacks fucked around with this message at 22:50 on Jul 30, 2018

FlapYoJacks
Feb 12, 2009

I am in the throws of bringing up a 50,000+ line of code C++ project to modern C++ standards. Anybody who is trying to modernize a C++ project should be using CLion, it has clang-tidy and ClangD built in, making the transition wayyyyyyy smoother.

C++17 is cool and good. It makes C++ drat near a higher level language.

FlapYoJacks
Feb 12, 2009

I used Buildroot to create a container for a gigantic pile of poo poo python2 application our company has that uses a combination of:

- QT4
- MongoDB
- Socat
- 52 separate libraries, most of which are just "backport this to python2"

It took me 3 days to get it running on CentOS7.
It took me another week to clean out all the PEP8 warnings.
It took me another week to get it going in BuildRoot.

Why Buildroot? Because I don't want that poo poo spread out on my system. This is the first time I have used BuildRoot + Docker, and it works pretty well!

FlapYoJacks
Feb 12, 2009

Tankakern posted:

why the hell did you use a loving week on pep8, who cares

When you open a python file and it’s a sea of goddamn yellow all over the place, it’s incredibly loving annoying.

And yeah, of course I auto formatted, but a lot of poo poo needed to be hand fixed as well.

FlapYoJacks
Feb 12, 2009

Captain Foo posted:

what's a unit test

A miserable pile of false passes.

FlapYoJacks
Feb 12, 2009

Modern C++ >= 14 is cool and good and makes C++ almost a higher level language.

If the C++ is hard to read, it's probably because of either:
1) A garbage programmer who is probably afraid of function pointers and uses threads with callbacks for everything
2) A C programmer who treats C++ as just C with classes and doesn't use it like a modern language.
3) A P-Lang developer who never learned C and tries to treat C++ as a pure P-Lang.

You need a C++ guy who knows C and P-Langs, and has embraced C++ as a modern language.

Either way, modern C++ is cool and good.

FlapYoJacks fucked around with this message at 20:48 on Aug 16, 2018

FlapYoJacks
Feb 12, 2009

Sapozhnik posted:

counterpoint: no

Sorry you don't understand a good programming language.

FlapYoJacks fucked around with this message at 22:10 on Aug 16, 2018

FlapYoJacks
Feb 12, 2009

tef posted:

you know i had sympathy for you once

I like modern C++ and think it has it's place.
I also really like Python and think it has it's place.

PHP can go gently caress right off though. :colbert:

FlapYoJacks
Feb 12, 2009

Triglav posted:

php is fine, fast, and cheap

pkay hrogramming panguage

Incorrect and bad.

FlapYoJacks
Feb 12, 2009

Sapozhnik posted:

this is like the "i listen to everything except rap and country" of programming opinions

While country is indeed terrible, I love rap, and I am super white.

FlapYoJacks
Feb 12, 2009

Bloody posted:

why would you learn modern c++ when you could just learn rust

self.
self.
self.
self.
self.
self.

FlapYoJacks
Feb 12, 2009

Beamed posted:

it's okay to explicitly state methods vs static functions op

self/this is terrible and bad.

FlapYoJacks
Feb 12, 2009

Lots of languages get by just fine without needing a self or this syntax.

FlapYoJacks
Feb 12, 2009

Powerful Two-Hander posted:

vs 2017 (and maybe earlier versions I don't remember) tries to remove "this" from references as being redundant and I hate it because I always want it to be explicitly clear what's being done. like yeah OK intellisense will tell you but I gently caress myself up with this stuff so why make it harder?

You're in a class, you don't need "this".

FlapYoJacks
Feb 12, 2009

Powerful Two-Hander posted:

i know but I like it being there. idk it's like it's making it more explicit or something. also yes you should know you're inside a class but when the application mixes class and static methods at random it's kind of helpful.

full disclosure:a good chunk of that random mixing is due to me depending on either a) how much I knew what I was doing at the time because I make poo poo up as I go along and b) whatever I thought made sense for that particular day of the week

basically I'm terrible.

instead of “this” you could just adopt a case convention.

FlapYoJacks
Feb 12, 2009

Powerful Two-Hander posted:

i know what you're saying is all correct but let me just wallow in my own filth here ok?

Strive to be better. :)

FlapYoJacks
Feb 12, 2009

Sapozhnik posted:

dont do c++ its super bad
Incorrect

quote:

otoh c is fine for what it is

Correct

FlapYoJacks
Feb 12, 2009

I was taught this about inheritance from my mentor:

Inheritance is cool and good, but can get you into trouble quickly.
If you go more than 2 levels of inheritance, you need to take a good long look at your code and probably refactor it.

FlapYoJacks
Feb 12, 2009

DONT THREAD ON ME posted:

yeah, it's a very different approach. my main worry is ambiguity, it seems like you could easily have two different types that each have a "foo" method with the same input/return types but wildly different semantics. it's like duck typing.

You sure can! C langs allow you to easily shoot yourself in the foot, in exchange for low level fuckery and other neat poo poo you can do.

FlapYoJacks
Feb 12, 2009

DONT THREAD ON ME posted:

yeah i believe that unless you're wrapping some framework class you should generally limit yourself to 1 level of inheritance.

Good man.

I guess I am a outlier in my programming tranining for sure.

I started with C, my first project was board bring-up for a TI processor running on Kernel 2.6.32-17

I was taught by a awesome EE who has been programming mostly in ASM/C/C++ for 30 years and taught me to be incredibly pragmatic.

He instilled on me:

1) Be pragmatic. If your code is clever, it's probably not a good thing.
2) It's all just memory.
3) Stick to conventions.
4) All programming languages are tools. Some better than others. (When discussing mainstream languages, poo poo like Brainfuck not-withstanding)

He's still a good friend to this day.

FlapYoJacks
Feb 12, 2009

Progressive JPEG posted:

imo:
- don't bother with c++ streams just use the c printf stuff, unless theres something better in the last 5 years idk

What the gently caress is this horse poo poo?

FlapYoJacks
Feb 12, 2009

Progressive JPEG posted:

brb figuring out how to do numerical formatting using streams

NOT

If you can't figure out how to do a basic simple thing like numerical formatting in streams, you should not be a programmer. :stare:

FlapYoJacks
Feb 12, 2009

gonadic io posted:

1) Don't do this. Just because somebody has never seen before some code you've done lots of (and so find easy) there's no need to be so condescending about it. This thread is a safe space.
2) nobody should be a programmer lol

3) yeah it is pretty straitforward you can basically copy/paste from the docs

Hey, normally I wouldn't be a jerk, but he was a jerk first! :saddowns:

FlapYoJacks
Feb 12, 2009

CRIP EATIN BREAD posted:

x86 was a mistake

agreed

FlapYoJacks
Feb 12, 2009

Janitor Prime posted:

It's linear algebra all the way down

What I don't get is how the gently caress people write graphics drivers

It's all just register reading and writing all the way down. :v:

FlapYoJacks
Feb 12, 2009

AggressivelyStupid posted:

It's a bunch of EEs and poo poo and like they can do C and know how to design and build hardware and whatnot but uh


There's no testing for software, unless it manually done, there's the aforementioned PLM abuse, they barely use an issue tracker. There will be references to tickets in the SCM and PLM software but clearly they're not linked in any capacity. Builds are done manually, using black magic some batch scripts and a really old version of CodeWarrior to produce SREC files.

I want to unfuck all this but I'm an intern so I'll just take this as a very valuable lesson about asking about their Process in an interview and suffer for the next 4-5 months

e: actually not sure how much CodeWarrior is needed since you apparently use .exes to build???

Depending on how "new" it is, it might be based off of Eclipse, at which point you can just download Eclipse and use CW's compilers. It's a MUCH nicer upgrade.

FlapYoJacks
Feb 12, 2009

AggressivelyStupid posted:

My thought was just cluster the actually useful functions (there are two, I think) and have the rest just fall through

It's all related to NMEA sentences, I want to say we're primarily interested in the GSV and GGA sentences, but I'm still scanning through this abomination

its all plain old c


5.9.0 classic IDE

Jesus christ. :gonk:

FlapYoJacks
Feb 12, 2009

AggressivelyStupid posted:

this will be hard to do in c

why?

Adbot
ADBOT LOVES YOU

FlapYoJacks
Feb 12, 2009

c has classes. Their called structs.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply