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
redleader
Aug 18, 2005

Engage according to operational parameters
mssql is legitimately good. pity about the cost tho

Adbot
ADBOT LOVES YOU

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003
postgres is free and also legitimately good. try it today!

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

DELETE CASCADE posted:

postgres is free and also legitimately good. try it today!

redleader
Aug 18, 2005

Engage according to operational parameters
why do i care how much it costs

e: i appreciate that this apparently contradicts my previous post. to clarify, i wouldn't want to pay for sql server personally, but i don't care how much the business pays for their dbs

redleader fucked around with this message at 10:09 on Feb 5, 2021

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

redleader posted:

why do i care how much it costs

e: i appreciate that this apparently contradicts my previous post. to clarify, i wouldn't want to pay for sql server personally, but i don't care how much the business pays for their dbs

You care because the cost doesn't matter until it does and you can't have more resources and no we can't spin another db its not in budget

xtal
Jan 9, 2011

by Fluffdaddy
If you only use proprietary poo poo ware that your work provides, then you don't really have tech skills beyond your work's proprietary poo poo ware

mystes
May 31, 2006

xtal posted:

If you only use proprietary poo poo ware that your work provides, then you don't really have tech skills beyond your work's proprietary poo poo ware
Uh oh someone tell the googlers.

xtal
Jan 9, 2011

by Fluffdaddy
I do, all the time.

toiletbrush
May 17, 2010
I think the team I joined a couple months ago might be terrible programmers.

Me: Hey, what's the 'DateTimeParsingServiceV7' repo?
Teammate: Oh, that? Hmmm, well, our patient db needs to be able to show the date of someone's last appointment, but for some reason the date from the appointments db sometimes doesn't parse, so...now when parsing fails we push an event to a topic that gets picked up by an AWS lambda that uses SFTP to push a file to a dropbox on the appointment db vm, and there's a scheduled job we have that polls for files in that directory and then when it finds one it does a db query (with nolock because otherwise it sometimes didn't work for some reason?) to get the date, and then sends a command to another queue that gets picked up by another service that does an HTTP request to another service on the patient db vm that updates the column in the patients table, and then it raises another event and...
Me: So why does the date time parsing fail in the first place?
Teammate: Don't know, we never really looked into it, seemed easier to just build DateTimeParsingServiceV7

It's like extreme yak shaving as a programming methodology. YSDD?

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Share Bear posted:

i absolutely hate this aspect of python

there's "raw" strings, typically used for regexes but only offer that backslashes are literal characters

code:
r"\d+"
, and "format" strings, which have templates and call an stl function ~magically~

code:
drink = "piss"
print(f"i want {drink}")
both are terrible and are due to people valuing typing less over readable code,

you can have the template logic by using the .format() method applicable to any string instead

code:
drink = "piss"
print("i want {}".format(drink))
which i think is better as it's less magical but this is a point of contention w other p devs

black is good, useful, and helps pay my bills

you are like a little baby. watch this:

https://perldoc.perl.org/perlop#Quote-and-Quote-like-Operators posted:

Quote and Quote-like Operators
While we usually think of quotes as literal values, in Perl they function as operators, providing various kinds of interpolating and pattern matching capabilities. Perl provides customary quote characters for these behaviors, but also provides a way for you to choose your quote character for any of them. In the following table, a {} represents any pair of delimiters you choose.

code:
Customary  Generic        Meaning        Interpolates
    ''       q{}          Literal             no
    ""      qq{}          Literal             yes
    ``      qx{}          Command             yes*
            qw{}         Word list            no
    //       m{}       Pattern match          yes*
            qr{}          Pattern             yes*
             s{}{}      Substitution          yes*
            tr{}{}    Transliteration         no (but see below)
             y{}{}    Transliteration         no (but see below)
    <<EOF                 here-doc            yes*

    * unless the delimiter is ''.
Non-bracketing delimiters use the same character fore and aft, but the four sorts of ASCII brackets (round, angle, square, curly) all nest, which means that

code:
q{foo{bar}baz}
is the same as

code:
'foo{bar}baz'
Note, however, that this does not always work for quoting Perl code:

code:
$s = q{ if($x eq "}") ... }; # WRONG
is a syntax error. The Text::Balanced module (standard as of v5.8, and from CPAN before then) is able to do this properly.

There can (and in some cases, must) be whitespace between the operator and the quoting characters, except when # is being used as the quoting character. q#foo# is parsed as the string foo, while q #foo# is the operator q followed by a comment. Its argument will be taken from the next line. This allows you to write:

code:
s {foo}  # Replace foo
  {bar}  # with bar.
The cases where whitespace must be used are when the quoting character is a word character (meaning it matches /\w/):

code:
q XfooX # Works: means the string 'foo'
qXfooX  # WRONG!

when it says "command" it means the quoted string is excuted as a shell command, like using backticks in a shell script.

string interpolation in perl5 does the same thing as f-strings in python except instead of putting curly braces around the variable name you just reference it with its sigil instead, like $foo.

the really great part though is the escape sequences, of which there are many, and the behavior of which is in many cases ambiguous or just completely nuts, but i won't quote the entire manual page at you so go check it out yourself, it's amazing

shoeberto
Jun 13, 2020

which way to the MACHINES?

toiletbrush posted:

I think the team I joined a couple months ago might be terrible programmers.

Is that real? Like the real thing they're doing, or just an exaggerated hypothetical?

If it's real, then that's a level of technical debt along the lines of "all of my credit cards are maxed except for my Target card and the only way to buy smokes with that is to get nicotine patches". Trainwreck status.

Share Bear
Apr 27, 2004

mystes posted:

f your strings

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

toiletbrush posted:

I think the team I joined a couple months ago might be terrible programmers.
if at any point in time a programmer says something doesn't work "for some reason" then that's a red flag

stuff doesn't break "for some reason". there's an ACTUAL reason. if you can't be bothered to figure out what it is, you suck as a programmer

edit: i had a few colleagues like that at a previous job and it infuriated me. they would never try to fix any bugs, they'd just randomly try workarounds until the problem didn't appear for a while. especially issues around threading or memory leaks. YES TRY RANDOMLY STABBING IN THE DARK, THAT'S THE SCIENTIFIC METHOD

Sagacity fucked around with this message at 16:04 on Feb 5, 2021

Share Bear
Apr 27, 2004

quote:

string interpolation in perl5 does the same thing as f-strings in python except instead of putting curly braces around the variable name you just reference it with its sigil instead, like $foo.

the really great part though is the escape sequences, of which there are many, and the behavior of which is in many cases ambiguous or just completely nuts, but i won't quote the entire manual page at you so go check it out yourself, it's amazing

i used to write perl for a living

my apprehensiveness of that is for this reason. its a choice and i choose to be explicit cause you should never write perl for a living, it ruins you

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


loving sql query planner performance problems can eat my asssssss

FlapYoJacks
Feb 12, 2009
Never use SQL. SQL Computers were a mistake.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



toiletbrush posted:

I think the team I joined a couple months ago might be terrible programmers.

Me: Hey, what's the 'DateTimeParsingServiceV7' repo?
Teammate: Oh, that? Hmmm, well, our patient db needs to be able to show the date of someone's last appointment, but for some reason the date from the appointments db sometimes doesn't parse, so...now when parsing fails we push an event to a topic that gets picked up by an AWS lambda that uses SFTP to push a file to a dropbox on the appointment db vm, and there's a scheduled job we have that polls for files in that directory and then when it finds one it does a db query (with nolock because otherwise it sometimes didn't work for some reason?) to get the date, and then sends a command to another queue that gets picked up by another service that does an HTTP request to another service on the patient db vm that updates the column in the patients table, and then it raises another event and...
Me: So why does the date time parsing fail in the first place?
Teammate: Don't know, we never really looked into it, seemed easier to just build DateTimeParsingServiceV7

It's like extreme yak shaving as a programming methodology. YSDD?

i log into our 2 factor vpn, then rdp to my virtual dev vm. only from there i can ssh to our dmz ec3 instance, then ssh from that one to the machine that runs the given docker, and then open a terminal on the container

pretty convoluted too, but at least its all for a reason lol

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Sagacity posted:

if at any point in time a programmer says something doesn't work "for some reason" then that's a red flag

stuff doesn't break "for some reason". there's an ACTUAL reason. if you can't be bothered to figure out what it is, you suck as a programmer

I had an argument with the India team about a gently caress up where they didn't commit one file and overwrote and backed out their change to another and they kept saying "for some reason git removed it" and I'm like "no not 'some reason', there is literally a diff here where you backed out one change and added another and no history of you ever committing the first file, you probably pulled and reset your own changes because you didn't read the warning"

turns out nobody apart form me even knew there was a graph of commits and how to read it

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



lmao owned by the distributed ledger

Chalks
Sep 30, 2009

Sagacity posted:

if at any point in time a programmer says something doesn't work "for some reason" then that's a red flag

stuff doesn't break "for some reason". there's an ACTUAL reason. if you can't be bothered to figure out what it is, you suck as a programmer

edit: i had a few colleagues like that at a previous job and it infuriated me. they would never try to fix any bugs, they'd just randomly try workarounds until the problem didn't appear for a while. especially issues around threading or memory leaks. YES TRY RANDOMLY STABBING IN THE DARK, THAT'S THE SCIENTIFIC METHOD

i was looking into an issue the other day and found that the person who migrated the code to a new version of a library took the approach of, "keep changing things until the compiler stops complaining then call it a day".

type mismatch on an argument going into a function? change the type of the argument to allow for either type!

change the code inside the function to cope with this new data? lol no

Chalks fucked around with this message at 19:33 on Feb 5, 2021

FlapYoJacks
Feb 12, 2009
The amount of "programmers" I have interviewed that don't use an IDE or use code-stepping for debugging purposes is appalling. I once interviewed a guy who had a MASTERS in comp sci that asked "what's GDB?"

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



gdb is the lovely lldb

mystes
May 31, 2006

DoomTrainPhD posted:

The amount of "programmers" I have interviewed that don't use an IDE or use code-stepping for debugging purposes is appalling. I once interviewed a guy who had a MASTERS in comp sci that asked "what's GDB?"
I assume that once you have a phd you just prove your program correct on paper and never even touch a computer.

Share Bear
Apr 27, 2004

print-debugging is fine for most cases

FlapYoJacks
Feb 12, 2009

Share Bear posted:

print-debugging is fine for most cases

Print debugging? Look at Mr Fancy pants with print statements. Blink an LED like a real graybeard.

FlapYoJacks
Feb 12, 2009
Our DevOps team last week notified the entire ECU team that they were going to run an automatic branch cleaner today. Any branch that hasn't had a commit in > 120 days, and doesn't have a protected- prefix was auto-deleted 9 minutes ago. This warning has been posted every day for a week, and just now there are about 30 angry messages in Slack about how their branch is gone.

918 branches have just gone poof and it's glorious. :allears:

Sapozhnik
Jan 2, 2005

Nap Ghost
Sounds like they're about to be a former DevOps team and they'll deserve it too

FlapYoJacks
Feb 12, 2009

Sapozhnik posted:

Sounds like they're about to be a former DevOps team and they'll deserve it too

Approved by management
Multiple warnings for over a week
Two ways to prevent your branch from being removed

I think they are absolutely safe.

ikanreed
Sep 25, 2009

I honestly I have no idea who cannibal[SIC] is and I do not know why I should know.

syq dude, just syq!
And it's not like the changesets are gone. Just unlabeled.

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Merge early and merge often

abraham linksys
Sep 6, 2010

:darksouls:

ikanreed posted:

And it's not like the changesets are gone. Just unlabeled.

if you want to see your branches again, simply recreate your commits exactly as they originally were to rediscover the SHA for each :)

FlapYoJacks
Feb 12, 2009

abraham linksys posted:

if you want to see your branches again, simply recreate your commits exactly as they originally were to rediscover the SHA for each :)

Or:
- Make a commit to your ancient branch
- Rename the branch with protected- as the prefix.

OR
- Ignore the multiple warnings and do nothing and then cry.

toiletbrush
May 17, 2010

shoeberto posted:

Is that real? Like the real thing they're doing, or just an exaggerated hypothetical?
It's exaggerated, but not by much.

Sagacity posted:

if at any point in time a programmer says something doesn't work "for some reason" then that's a red flag

stuff doesn't break "for some reason". there's an ACTUAL reason. if you can't be bothered to figure out what it is, you suck as a programmer

edit: i had a few colleagues like that at a previo9u-0ps job and it infuriated me. they would never try to fix any bugs, they'd just randomly try workarounds until the problem didn't appear for a while. especially issues around threading or memory leaks. YES TRY RANDOMLY STABBING IN THE DARK, THAT'S THE SCIENTIFIC METHOD
Yeah this. It's also amazing how often getting to the bottom of really minor and seemingly harmless weird stuff reveals something way, way more serious.

On the upside, at new place everyone's always massively impressed when I solve hours of throwing poo poo at a wall by just look in the logs for 30 secs and saying 'guys FARTDBVM4 is out of disk space' (not an exaggeration).

shoeberto
Jun 13, 2020

which way to the MACHINES?

Powerful Two-Hander posted:

I had an argument with the India team about a gently caress up where they didn't commit one file and overwrote and backed out their change to another and they kept saying "for some reason git removed it" and I'm like "no not 'some reason', there is literally a diff here where you backed out one change and added another and no history of you ever committing the first file, you probably pulled and reset your own changes because you didn't read the warning"

turns out nobody apart form me even knew there was a graph of commits and how to read it

I'm starting to see how Github's ubiquitousness is causing issues like this with younger programmers. I'm currently training a guy who's very sharp, but because Github/Bitbucket/et al hide so much of the detail in VCSes, there are just fundamentals that he doesn't grasp without a good bit of discussion. Like we do per-commit reviews and he was super confused at why it didn't work like a PR. (Not really a criticism of him, he's learning very quickly, considering)

Share Bear
Apr 27, 2004

quote:

Like we do per-commit reviews and he was super confused at why it didn't work like a PR.

Why? How do you manage branches? I have no better suggestion, we review on PR merges to main because we're a small shop and branches indicate distinct feature changes/updates/bugfixes, commits are the steps that get there (that get squashed, usually).

MononcQc
May 29, 2007

before pushing your branch for a review, squash it into reviewable commits that will individually work and can all reasonably be used as a forking or bisecting point

Sapozhnik
Jan 2, 2005

Nap Ghost

MononcQc posted:

before pushing your branch for a review, squash it into reviewable commits that will individually work and can all reasonably be used as a forking or bisecting point

lol good one

i'm sure somebody itt works with people who actually give one tenth of a gently caress about commit hygeine but i sure as hell don't (work with people who give a poo poo i mean, i always keep my commits well organized)

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



I push everything into the toilet

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

DoomTrainPhD posted:

The amount of "programmers" I have interviewed that don't use an IDE or use code-stepping for debugging purposes is appalling. I once interviewed a guy who had a MASTERS in comp sci that asked "what's GDB?"

a masters just means they took a few more college classes than someone with a bachelors

Adbot
ADBOT LOVES YOU

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
theres lots of peeps w masters in cs and no bachelors, this usually means they took fewer classes in computing lol

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