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

sb hermit posted:

The universe of docker, containers, and Linux is so vast that it's like learning a new language with new metaphors and ways of thinking. It can be kinda overwheming to some, and it sounds like this guy needs a month or two of training before they can even get their feet wet.

Embedded Linux is many orders of magnitude more intricate than just docker programming so y'all seem like you've got your work ahead of you. Unless you expect this guy to not have to worry about drivers, systems programming, or ever having to invoke Make.

The mythical man month rears its ugly head again, looks like.

We have detailed instructions and the script I gave him is a single command that starts the container and dumps you into its shell. I understand that docker is complicated, but if you don't even know the difference between systemctl enable and systemctl start, perhaps you shouldn't advertise yourself as knowledgable in Linux?

Edit: His problem was that he wasn't part of the docker group. He skipped over the whole "log out/log in" part after you run `sudo usermod -aG docker $(whoami)` because :shrug:

Adbot
ADBOT LOVES YOU

sb hermit
Dec 13, 2016





FlapYoJacks posted:

We have detailed instructions and the script I gave him is a single command that starts the container and dumps you into its shell. I understand that docker is complicated, but if you don't even know the difference between systemctl enable and systemctl start, perhaps you shouldn't advertise yourself as knowledgable in Linux?

:classiclol:

fake it 'till you make it! On the job training, baby!

FlapYoJacks
Feb 12, 2009

sb hermit posted:

:classiclol:

fake it 'till you make it! On the job training, baby!

He's a 1099 and I am VERY close to telling my boss this guy needs to go. His first PR was awful as well.

Ticket: We have some faults that need to be persistent across reboots.
Obvious solution: Store the faults that should be persistent in the settings database, read them on boot, and go into the fault state if there are any faults in the list.
His solution: Make a separate file per fault and save them in /data/faults/, then read them in on boot, then go into the fault state if there are any faults in the directory.

How do people like this exist?
:psyduck:

Truga
May 4, 2014
Lipstick Apathy
guy is clearly either fresh outta school and never did anything outside course work

or, he worked for one of the clients i have to deal with at work :v:

FlapYoJacks
Feb 12, 2009

Truga posted:

guy is clearly either fresh outta school and never did anything outside course work

or, he worked for one of the clients i have to deal with at work :v:

He's in his 50s.

Breakfast All Day
Oct 21, 2004

FlapYoJacks posted:

He's a 1099 and I am VERY close to telling my boss this guy needs to go. His first PR was awful as well.

Ticket: We have some faults that need to be persistent across reboots.
Obvious solution: Store the faults that should be persistent in the settings database, read them on boot, and go into the fault state if there are any faults in the list.
His solution: Make a separate file per fault and save them in /data/faults/, then read them in on boot, then go into the fault state if there are any faults in the directory.

How do people like this exist?
:psyduck:

faults are files. seems like he does understand the *nix way

Truga
May 4, 2014
Lipstick Apathy

FlapYoJacks posted:

He's in his 50s.

so the 2nd one.

one of the clients i have to work with at work are just loving amazing people. all greybeards, too. they insist on having everything run on windows, which i dislike, but fine, ok, we'll deal

a couple years ago we finally said we'd like to have a git clone directly on their server because version control via zips of code is incredibly stupid, and so far there's been a couple times we had to scramble to find the exact zip that worked on their special snowflake setup, instead of just checking out the previous working tag from git, since we don't have direct access so we can't upload files ourselves, and their stupid citrix rdp thing is often incredibly laggy too so even basic poo poo takes minutes

this lead to an 8 month back and forth, starting with "what is this git software?", and immediately following up with "what is version control software?", which really did wonders explaining why everything else there works like it does tbh

now, they sync the git repo with windows explorer, which makes it insanely slow, and also every time zip the entire loving thing to upload it to virustotal. i made them a batch file that zips only the files changed since previous sync last year, but they couldn't get it to work on their side so they're still doing this poo poo to this day afaik lmfao

they pay a shitton though :shrug:

Progressive JPEG
Feb 19, 2003

that's why you don't work with windows shops

sb hermit
Dec 13, 2016





FlapYoJacks posted:

He's in his 50s.

He could still be fresh outta school

:yeshaha:

sb hermit
Dec 13, 2016





Progressive JPEG posted:

that's why you don't work with windows shops

yeah but


Truga posted:

they pay a shitton though :shrug:

sb hermit
Dec 13, 2016





sometimes, some people have just the right domain knowledge that they get paid the big big bucks despite only writing software for windows

It's been a completely acceptable programming environment for decades. Big businesses depend on it for both clients and servers. And it's only been the past 10 years or so where even Microsoft is seeing the benefit of running more servers on Linux. There will be enough institutional friction to make sure those greybeards have work until they retire.

Or they can just run wsl2 and make minimal changes to their workflow.

Truga
May 4, 2014
Lipstick Apathy
yeah it's the first and hopefully last windows shop we work with, but i'm just a computer toucher and when people see the $$$ they don't care lol

hopefully we'll be able to force them onto docker or something when the new framework version finally gets deployed, because support for windows is basically inexistent and there's no way they'll pay the devtime to get it to play nicely

git apologist
Jun 4, 2003

what gets me with people like that is a seeming lack of curiosity. like the way they view their work is totally different to mine. i have some fundamental interest that makes me want to know How Computer Work. my impression of them is that they are satisfied just being fluent in their little domain, but anything more than that just doesn’t motivate them

outhole surfer
Mar 18, 2003

Gentle Autist posted:

what gets me with people like that is a seeming lack of curiosity. like the way they view their work is totally different to mine. i have some fundamental interest that makes me want to know How Computer Work. my impression of them is that they are satisfied just being fluent in their little domain, but anything more than that just doesn’t motivate them

i felt this way a lot more when i was younger, but now so much of what's new looks over-engineered and fragile. personally i hit a brick wall somewhere after systemd but before kubernetes. i've been touching linux boxes since the late 90s, quick to jump on new technologies and methodologies right up until a couple years ago.

the shift from "this is cool, how does it work?" to "oh what fresh bullshit is this?" feels like it happened overnight.

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Gentle Autist posted:

what gets me with people like that is a seeming lack of curiosity. like the way they view their work is totally different to mine. i have some fundamental interest that makes me want to know How Computer Work. my impression of them is that they are satisfied just being fluent in their little domain, but anything more than that just doesn’t motivate them

its sadly common and the weirdest part (to me at least) is that this sort of person isn't even really excellent in their little niche, just basically competent, if that

they'll learn what they need to and not necessarily remember it, and most of the time its just rote memorization without applying whatever new knowledge they may have gained to previously learned concepts

to linux it up here it's like knowing how bash scripting works because you memorized its structure and syntax but have no idea what [ actually is

outhole surfer
Mar 18, 2003

Beeftweeter posted:

its sadly common and the weirdest part (to me at least) is that this sort of person isn't even really excellent in their little niche, just basically competent, if that

they'll learn what they need to and not necessarily remember it, and most of the time its just rote memorization without applying whatever new knowledge they may have gained to previously learned concepts

to linux it up here it's like knowing how bash scripting works because you memorized its structure and syntax but have no idea what [ actually is

to be fair, [ is a really sneaky little gotcha if you're coming from anything but shell scripting

sb hermit
Dec 13, 2016





Gentle Autist posted:

what gets me with people like that is a seeming lack of curiosity. like the way they view their work is totally different to mine. i have some fundamental interest that makes me want to know How Computer Work. my impression of them is that they are satisfied just being fluent in their little domain, but anything more than that just doesn’t motivate them

at some point when you hit middle age you stop caring about computers and feel the urge to do old people stuff like read history books, fix up old motorcycles, and actually feel the sun on your face.

On the other hand, tech novices in other fields suddenly discover Linux and they have that enthusiasm in the completely opposite direction and now they've gone 4 hours playing tux racer (or uqm) before they realize they can just install Steam and now they're posting wine configs like no tomorrow.

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

nudgenudgetilt posted:

to be fair, [ is a really sneaky little gotcha if you're coming from anything but shell scripting

well yeah thats why i used it as the example lol

it's fine to just know that you need the brackets because you do??, but it's probably more useful to know that it's a test operator, builtin, and possibly a separate binary in its own right that isnt the same. most people won't care to go beyond the first thing though

Mr. Crow
May 22, 2008

Snap City mayor for life

FlapYoJacks posted:

He's a 1099 and I am VERY close to telling my boss this guy needs to go. His first PR was awful as well.

Ticket: We have some faults that need to be persistent across reboots.
Obvious solution: Store the faults that should be persistent in the settings database, read them on boot, and go into the fault state if there are any faults in the list.
His solution: Make a separate file per fault and save them in /data/faults/, then read them in on boot, then go into the fault state if there are any faults in the directory.

How do people like this exist?
:psyduck:

Without anymore context beyond "system administration" this seems reasonable? Was he aware there is a settings database? Having never touched an embedded system, do people actually run databases on them?

Baxate
Feb 1, 2011

Gentle Autist posted:

what gets me with people like that is a seeming lack of curiosity. like the way they view their work is totally different to mine. i have some fundamental interest that makes me want to know How Computer Work. my impression of them is that they are satisfied just being fluent in their little domain, but anything more than that just doesn’t motivate them

I feel the same way about the SAP crap we run, I mainly focus on other things that need to connect to SAP but lately my boss is wanting me to learn more of the SAP stuff and i'm just so unmotivated by it and just digging my heels in. Same way in reverse for the SAP folks, they're super proficient at clicking around in this arcane Netweaver turd, but you try to show them Docker or git or a Spring application and its like you're speaking completely different languages. Just zero common ground.

Rufus Ping
Dec 27, 2006





I'm a Friend of Rodney Nano
Yeah i wouldn't automatically assume you should be firing up the database if there is some fault. We don't have enough context for this anecdote really

FlapYoJacks
Feb 12, 2009

Mr. Crow posted:

Without anymore context beyond "system administration" this seems reasonable? Was he aware there is a settings database? Having never touched an embedded system, do people actually run databases on them?

There's a sqlite database for holing settings (of which faults is a part of). Why wouldn't there be? Also, it shows that he didn't even attempt to look at how other things where handled in our code base.

outhole surfer
Mar 18, 2003

Rufus Ping posted:

Yeah i wouldn't automatically assume you should be firing up the database if there is some fault. We don't have enough context for this anecdote really

a database that's referred to as the settings database, at that. who the hell mixes settings data and fault data together?

Cybernetic Vermin
Apr 18, 2005

FlapYoJacks posted:

There's a sqlite database for holing settings (of which faults is a part of). Why wouldn't there be? Also, it shows that he didn't even attempt to look at how other things where handled in our code base.

why would there be? was this your general level of communication with the people concerned?

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Using a spool directory is a super common pattern and so is recovering from restart/sigterm/crash by reading from it.

Perplx
Jun 26, 2004


Best viewed on Orgasma Plasma
Lipstick Apathy

Baxate posted:

I feel the same way about the SAP crap we run, I mainly focus on other things that need to connect to SAP but lately my boss is wanting me to learn more of the SAP stuff and i'm just so unmotivated by it and just digging my heels in. Same way in reverse for the SAP folks, they're super proficient at clicking around in this arcane Netweaver turd, but you try to show them Docker or git or a Spring application and its like you're speaking completely different languages. Just zero common ground.

no one is actually interested in learning SAP, its only useful for megacorps
docker and git however can be used for piracy and porn

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Antigravitas posted:

Using a spool directory is a super common pattern and so is recovering from restart/sigterm/crash by reading from it.

yeah this sort of design predates UNIX and was inherited by it for a whole bunch of things (especially since file creation and removal is one of the only things for which the traditional UNIX design can guarantee a significant degree of atomicity)

the filesystem is also so integral to the design of UNIX that even when other poo poo has seriously gone bad you can reasonably expect to be able to use open(2) and write(2) for a small amount of data to whatever filesystem contains that system’s equivalent of the spool directory

The_Franz
Aug 8, 2003

FlapYoJacks posted:

There's a sqlite database for holing settings (of which faults is a part of). Why wouldn't there be? Also, it shows that he didn't even attempt to look at how other things where handled in our code base.

i can understand being apprehensive when someone claims to know linux and doesn't know what git is or how to start a service, but "why wouldn't there be?" also sounds like nobody gave this guy any instruction or guidance whatsoever

"do x"
*does x in the way it is usually done*
"NO NOT THAT WAY YOU IDIOT!"

Tankakern
Jul 25, 2007

matthew posted a followup

Responsible stewardship of the UEFI secure boot ecosystem

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
maybe there’ll be a systemd-boot where a signed systemd binary is brought up first and is used to load the kernel and all other subsystems and start them executing

it could even implement a syscall emulation system to turn directly trap based syscalls into IPC messages so they don’t have to be handled just by one specific kernel

one advantage to this is that drivers could also be moved out of the kernel and made more generic

Private Speech
Mar 30, 2011

I HAVE EVEN MORE WORTHLESS BEANIE BABIES IN MY COLLECTION THAN I HAVE WORTHLESS POSTS IN THE BEANIE BABY THREAD YET I STILL HAVE THE TEMERITY TO CRITICIZE OTHERS' COLLECTIONS

IF YOU SEE ME TALKING ABOUT BEANIE BABIES, PLEASE TELL ME TO

EAT. SHIT.


FlapYoJacks posted:

There's a sqlite database for holing settings (of which faults is a part of). Why wouldn't there be? Also, it shows that he didn't even attempt to look at how other things where handled in our code base.

not too long ago I was complaining about people wanting to run a settings database (granted nosql but) on a constrained embedded device ITT

even the current thing I work on which has fat-rear end ARM SoC with gigabytes of ram still uses files for logging and faults

kind of seems like you're the blinkered person about embedded software here

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

sounds like someone flapped his jacks

outhole surfer
Mar 18, 2003

Captain Foo posted:

sounds like someone flapped his jacks

i'm disappointed they ran away

Sapozhnik
Jan 2, 2005

Nap Ghost
sqlite was originally designed for embedded applications though. i feel like sqlite is a good default choice for almost any sort of local storage unless you have good reason to do otherwise. posix files are too easy to cut yourself with. like obviously you shouldn't store streaming video in sqlite blob columns or whatever but programmatically-modifiable local configuration seems like a reasonable use case.

outhole surfer
Mar 18, 2003

Sapozhnik posted:

sqlite was originally designed for embedded applications though. i feel like sqlite is a good default choice for almost any sort of local storage unless you have good reason to do otherwise. posix files are too easy to cut yourself with. like obviously you shouldn't store streaming video in sqlite blob columns or whatever but programmatically-modifiable local configuration seems like a reasonable use case.

configuration, yes. faults, less so.

if you're trying to record a fault state, you want as few layers of complexity between your application and persistence as possible. writing to a file backed sqlite database is without question more complex than spewing your dying breath straight to disk.

the bigger issue though is the assumption that the new employee should know by default to write fault data into a database that is labeled settings, and acting like the new guy is incompetent because they don't know the weird poo poo the organization is doing out of the gate

FlapYoJacks
Feb 12, 2009

nudgenudgetilt posted:

configuration, yes. faults, less so.

If you're trying to record a fault state, you want as few layers of complexity between your application and persistence as possible. Writing to a file-backed SQLite database is without question more complex than spewing your dying breath straight to disk.

the bigger issue though is the assumption that the new employee should know by default to write fault data into a database that is labeled settings, and act like the new guy is incompetent because they don't know the weird poo poo the organization is doing out of the gate

Faults on this system aren't a "dying breath" kind of situation. Faults on this system range from "Door open" to "Ground fault someone may die if they use this device." The issue isn't that the new guy didn't use the settings database, the issue is he didn't ask for anybody's advice until he made a PR on a complex system with almost a hundred thousand lines of code spread out between three boards, 6 apps (and a user per-app at that), 2 IPC protocols (dbus for local IPC, gRPC for networked IPC), and an OCPP backend.

We talked it over and decided to extend the fault manager to include a persistent store specifically for faults that hooks up to the OCPP backend. The reason why we wanted to use the settings database in the first place is:
- Settings are already hooked up to the OCPP backend and we have a robust API to yank settings out of the database.
- Using the settings database results in a much much smaller and more accessible to integrate PR.
- SELinux contexts are already in place for the settings database.
- User permissions are already set up for the settings database.

However, as pointed out above, a settings database with a list of active, persistent faults is a bit of a misnomer. Today I am adding new SELinux contexts to the board for an active faults database and setting up permissions for the new faults database.

Edit:
Call me old-fashioned, but whenever I join an existing project and I'm working on my first ticket, I tend to ask a lot of questions and get advice from those currently on the team instead of blindly smashing out new code that may not fit well with the existing architecture. :shrug:

FlapYoJacks fucked around with this message at 16:43 on Jul 12, 2022

SamDabbers
May 26, 2003



FlapYoJacks posted:

The issue isn't that the new guy didn't use the settings database, the issue is he didn't ask for anybody's advice until he made a PR

Looks like your code review process is working

Mr. Crow
May 22, 2008

Snap City mayor for life

SamDabbers posted:

Looks like your code review process is working

outhole surfer
Mar 18, 2003


fair enough to most all the above, but it still sounds like your on-boarding process is busted

at least:

SamDabbers posted:

Looks like your code review process is working

Adbot
ADBOT LOVES YOU

BlankSystemDaemon
Mar 13, 2009




eschaton posted:

maybe there’ll be a systemd-boot where a signed systemd binary is brought up first and is used to load the kernel and all other subsystems and start them executing
fygm attitude very much alive and well in linux, i see

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