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.
 
  • Locked thread
Subjunctive
Sep 12, 2006

✨sparkle and shine✨

handling support calls/tickets for stuff you build is great. actual customer contact can shortcut a lot of bullshit debates, and it helps keep the appropriate baseline of embarrassment about what you're shipping. when I moved into my current job I spent a day with the support lead shadowing him, learned a ton I wouldn't have any other way.

I'd need to be paid a lot more to do that as a full-time job, though.

Adbot
ADBOT LOVES YOU

Brain Candy
May 18, 2006

MALE SHOEGAZE posted:

no but i can get the data and then not post if it's already present

route the http requests through a supervisor to isolate the crazy

make a lil' code cyst

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Stringent posted:

it's almost as if there's no silver bullet because if there was everybody would be using it already

actually people would continue using their inferior things and argue that they're in fact superior to the silver bullet

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Stringent posted:

it's almost as if there's no silver bullet because if there was everybody would be using it already

i think the people using github are there because moving to gitlab is too much of a pain in the rear end

Valeyard
Mar 30, 2012


Grimey Drawer

rotor posted:

i think the people using github are there because moving to gitlab is too much of a pain in the rear end

ive been using github for 3 years and you mentioning gitlab is the first time ive even heard of it, so maybe thats just anecdotal or maybe discoverability is also a problem

the other github alternative would be bitbucket

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
the big deal for me is that you run it on your own machines. I know its a thing people do all the time now, but the idea that you store your source code repo on someone elses machines is like super weird and hosed up to me.

imo your build needs to be self-contained. Like if the rest of the world is annihilated in some sort of biblical event but you still have power, then you should be able to build successfully.

MononcQc
May 29, 2007

rotor posted:

the big deal for me is that you run it on your own machines. I know its a thing people do all the time now, but the idea that you store your source code repo on someone elses machines is like super weird and hosed up to me.

imo your build needs to be self-contained. Like if the rest of the world is annihilated in some sort of biblical event but you still have power, then you should be able to build successfully.

Yeah, git is decentralized so who cares about annihilation. Anyone's copy of the repo can be used to make a new canonical one, or a mirror for builds and poo poo.

Of course you could lose your issue tracker if you're using the github one I guess.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

MononcQc posted:

Yeah, git is decentralized so who cares about annihilation. Anyone's copy of the repo can be used to make a new canonical one, or a mirror for builds and poo poo.

Of course you could lose your issue tracker if you're using the github one I guess.

Of course you can say "oh poo poo it's the Rapture, someone pull a build off the copy you have," the idea is that your normal build process is uninterrupted by outside drama

Series DD Funding
Nov 25, 2014

by exmarx

rotor posted:

the big deal for me is that you run it on your own machines. I know its a thing people do all the time now, but the idea that you store your source code repo on someone elses machines is like super weird and hosed up to me.

imo your build needs to be self-contained. Like if the rest of the world is annihilated in some sort of biblical event but you still have power, then you should be able to build successfully.

:agreed:

Series DD Funding
Nov 25, 2014

by exmarx
although in open sores world git gives you a full local repo instead of committing to a sourceforge (lmbo) svn repo

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
git makes sense for open source software.

MononcQc
May 29, 2007

rotor posted:

Of course you can say "oh poo poo it's the Rapture, someone pull a build off the copy you have," the idea is that your normal build process is uninterrupted by outside drama

Yeah that's why you set up a gitosis or gitolite mirror that you can host locally or whatever and use specifically for builds and whatnot.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

rotor posted:

Of course you can say "oh poo poo it's the Rapture, someone pull a build off the copy you have," the idea is that your normal build process is uninterrupted by outside drama

lol if your build farm doesn't work off a local mirror updated from web-hook trigger anyway, for perf if nothing else

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
wow, thread. we've come a long ways

MALE SHOEGAZE posted:

i'm not really a programmer but unfortunately, i do a lot of programming. most of the programming i do would have been better off getting outsourced to india.

i can't really post in serious programming threads because i'll basically jsut get made fun of, which is fine, but usually i'll get made fun of and my question won't get answered. so here is a :siren:SAFE SPACE:siren: for bad programmers to hang out and try to get better at stuff.


i'll start this off with a question about preventing code from getting executed asynchronously. when does code get executed asynchronously? i always kinda figured that most code gets executed in a line, but it seems like when i call other functions, or espescially when i call some shell command, it won't actually block the thread and i'll end up with things happening at the same time when they really shouldn't be. i think they call this a race condition??

any pro tips?

may 7, 2013, 3 months programming

MALE SHOEGAZE posted:

i'm maintaining some code that has a triple race condition. but it's not really a race condition, because it's not one process failing because it ran before something else could complete. it's failing because a single code path calls the same asynchronous process 3 times, and they frequently execute simultaneously. those asynchronous processes happen to be http posts, so they're extra asynchronous.

anyhow they all try to post the same thing with the same data and then they all partially succeed and then restart themselves and wow is it a mess. i added a mutex and that's making things better but that only solves the problem if the processes execute simultaneously. they also sometimes execute subsequently and the mutex does nothing for that. i could add a flag that says 'hey, you already did this, dont do it again' but i'm 90% sure that would gently caress with other logic in the system.

the real answer is to unfuck the codepaths, because there's no legitimate reason for this to be happening 3 times, but unfucking the codepath would definitely break a lot of other things

december 17, 2014, nearly 2 year programming

pram
Jun 10, 2001
nice autoban moron

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

pram posted:

nice autoban moron

that hot icon isnt where it's supposed to be

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

MononcQc posted:

Yeah that's why you set up a gitosis or gitolite mirror that you can host locally or whatever and use specifically for builds and whatnot.

nowhere I've been did that :(

also it seems weird to have your source code on someone else's machine but that's not a super rational thing it just makes me itch.

Deacon of Delicious
Aug 20, 2007

I bet the twist ending is Dracula's dick-babies

rotor posted:

Like if the rest of the world is annihilated in some sort of biblical event but you still have power, then you should be able to build successfully.

might as well build, not like you'd have anything else to do!!

cowboy beepboop
Feb 24, 2001

rotor posted:

nowhere I've been did that :(

also it seems weird to have your source code on someone else's machine but that's not a super rational thing it just makes me itch.

i got mad at one of the devs for uploading some file to a public diff site a few weeks ago. he didn't understand why I was mad. he uses intellij so it's extra confusing as to why he needed an online diff tool

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

lol the automated tool i wrote in haskell to improve one of our processes at work started to catch on, except people asked "why are you writing this and not the software team? your job isn't programming" so the software team asked for the source code so they can take over maintaining it. none of them have ever heard of haskell and they're all incredibly lazy and seem to be pretty bad programmers. i wonder if they'll ever manage to add a feature or even change a line of code without breaking everything or if they'll just throw it away and write their own crappier version in java :mrgw:

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
i keep reading the newbie get a job thread in the gray forum and i kinda honestly wonder if there are actually people (not goons 'cause they're not people) out there that memorize languages' stdlibs and expect coworkers to do the same?

are these people aware that both documentation and the internet exist?

gonadic io
Feb 16, 2011

>>=

fart simpson posted:

lol the automated tool i wrote in haskell to improve one of our processes at work started to catch on, except people asked "why are you writing this and not the software team? your job isn't programming" so the software team asked for the source code so they can take over maintaining it. none of them have ever heard of haskell and they're all incredibly lazy and seem to be pretty bad programmers. i wonder if they'll ever manage to add a feature or even change a line of code without breaking everything or if they'll just throw it away and write their own crappier version in java :mrgw:

Sounds like the perfect time to write a monad tutorial or two for them :v:

MORE CURLY FRIES
Apr 8, 2004

rotor posted:

the big deal for me is that you run it on your own machines. I know its a thing people do all the time now, but the idea that you store your source code repo on someone elses machines is like super weird and hosed up to me.

imo your build needs to be self-contained. Like if the rest of the world is annihilated in some sort of biblical event but you still have power, then you should be able to build successfully.

my twitter bot which retweets people who say "for all intense and purposes" will go down a treat in a post apocalypse society

MononcQc
May 29, 2007

rotor posted:

nowhere I've been did that :(

also it seems weird to have your source code on someone else's machine but that's not a super rational thing it just makes me itch.

Yeah a mirror like gitosis/gitolite is particularly interesting because it can also use keys and whatnot to restrict who can or can't read a piece of code and fetch it to build, and get groups or accounts limited. You can also use it to mirror dependencies from public github or bitbucket accounts and poo poo so that if you have open-source code, it still shows up in your internal tools when building.

They kind of sucks if your install is bad and you have lag between when you push a branch to your general hosting and it takes too long before it's reflected in your private version, but I haven't seen it happen that much here.

The code on someone else's machine is a bit weird, but I guess it depends on your security team's threat model or something. If you deploy your code on AWS or some other platform, it's pretty much you giving away code already, and it requires some level of trust with them and that none of your poo poo is security by obscurity. OTOH, migrating from say a public github to a private git server isn't very hard. You go 'git remote set-url origin <url>' and then 'git push --mirror' and there you go, you just pushed your code to the private servers and can go kill the remote stuff because you don't need it anymore.

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

gonadic io posted:

Sounds like the perfect time to write a monad tutorial or two for them :v:

good idea

Space Whale
Nov 6, 2014
So I'm a maintenance programmer :q:

I just ran into and now grasp "DACs". Data Access Classes remind me of babby's first attempt at using objects. Now, though, it feels like "bread.toastYourself()" vs something like having a toaster I pass bread into to get toast out.

Is there ever a good use for DACs or is it just a bad pattern we grew out of and passing objects around and the three tier thing is a better way entirely?

Space Whale
Nov 6, 2014

lmbo I just made a helper that takes poo poo from the db and sharts it on a page and if it's null it instead returns a string of our choosing, which is currently "N/A".

is this a monad?!?!?!?

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Space Whale posted:

lmbo I just made a helper that takes poo poo from the db and sharts it on a page and if it's null it instead returns a string of our choosing, which is currently "N/A".

is this a monad?!?!?!?

doesnt sound like it is!

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

sounds more like an if statement to me

Shaggar
Apr 26, 2006

MononcQc posted:

Yeah a mirror like gitosis/gitolite is particularly interesting because it can also use keys and whatnot to restrict who can or can't read a piece of code and fetch it to build, and get groups or accounts limited. You can also use it to mirror dependencies from public github or bitbucket accounts and poo poo so that if you have open-source code, it still shows up in your internal tools when building.

They kind of sucks if your install is bad and you have lag between when you push a branch to your general hosting and it takes too long before it's reflected in your private version, but I haven't seen it happen that much here.

The code on someone else's machine is a bit weird, but I guess it depends on your security team's threat model or something. If you deploy your code on AWS or some other platform, it's pretty much you giving away code already, and it requires some level of trust with them and that none of your poo poo is security by obscurity. OTOH, migrating from say a public github to a private git server isn't very hard. You go 'git remote set-url origin <url>' and then 'git push --mirror' and there you go, you just pushed your code to the private servers and can go kill the remote stuff because you don't need it anymore.

or instead save yourself decades of your life and just use subversion. then your build server just checks it out of the svn server to build and you don't worry about it ever

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

decades?

Shaggar
Apr 26, 2006
yes git is that big of a waste of your time

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

idk i doubt anyone except the people that write git itself are ever gonna spend decades of their time thinking about git

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news

Blinkz0rz posted:

i keep reading the newbie get a job thread in the gray forum and i kinda honestly wonder if there are actually people (not goons 'cause they're not people) out there that memorize languages' stdlibs and expect coworkers to do the same?

are these people aware that both documentation and the internet exist?

some people have programming jobs where they aren't allowed internet access

hosed up but true


this does make the "copy/paste from Snack Overflow" school of programming kinda redundant, unfortunately

MononcQc
May 29, 2007

Shaggar posted:

or instead save yourself decades of your life and just use subversion. then your build server just checks it out of the svn server to build and you don't worry about it ever

how do svn migrations go anyway?

Space Whale
Nov 6, 2014

fart simpson posted:

doesnt sound like it is!

maybe it's a string, maybe it's "N/A"

wait no the database is hte monads?

Bloody
Mar 3, 2013

Mr SuperAwesome posted:

some people have programming jobs where they aren't allowed internet access

hosed up but true


this does make the "copy/paste from Snack Overflow" school of programming kinda redundant, unfortunately

You aren't dead. Neat.

MORE CURLY FRIES
Apr 8, 2004

Space Whale posted:

maybe it's a string, maybe it's "N/A"

wait no the database is hte monads?

checking if a field is null and returning the value or a default isnt a monad

Space Whale
Nov 6, 2014

MORE CURLY FRIES posted:

checking if a field is null and returning the value or a default isnt a monad

I thought a monad was "I can return one type, or another." Like nullable? poo poo but more special.

Adbot
ADBOT LOVES YOU

MORE CURLY FRIES
Apr 8, 2004

monads are workflows that can be chained or nested together and do processing of some item

  • Locked thread