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
gonadic io
Feb 16, 2011

>>=

cinci zoo sniper posted:

its yet another item in the bucket list of things our finally hired cto will be solving,

Lol I've heard that before. Don't get your hopes up

Adbot
ADBOT LOVES YOU

cinci zoo sniper
Mar 15, 2013




gonadic io posted:

Lol I've heard that before. Don't get your hopes up

he worked as a [decent] exec at my previous employer too and so far has been taking massive and constructive shits at our it on daily basis, so itís a realistic hope

Powerful Two-Hander
Mar 10, 2004

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


gonadic io posted:

In $oldjob I led the charge to sanitise data and overwrite the staging db with it (preferably regularly) because otherwise staging was basically unusable for e2e testing since the data there either failed constraints or took like 30 mins to correctly set up a realistic user across a half dozen different systems are their dbs

we have 3 staging environments that can be described as:

1) a mess because it's the one we do the actual db dev changes on so at any one time it probably has 10 sets of half baked changes deployed to it so that it's unclear if it is actually your bug or someone elses

2) some sort of capacity environment but we have no capacity tests, this one was stuck on an out of date copy for like 6 months because of how much paperwork it needed to extend it. currently usable

3) the one that's supposed to be up to date except that $largeproject has insisted they need it for "their testing" and despite having been told that they need to provision their own project environment and having something in the region of 10-20 project managers and "coordinators" and having the word "strategy" in their group title (lol). currently at least 3 months out of date and in gently caress knows what state regarding the data model

also like someone else said, there is no standard for actually getting applications to interact so every single large test setup immediately fails because nobody knows what this months data store config is or which queues are being used

don't worry though, the PMs are gonna phone you 10 times an hour until its fixed!

karms
Jan 22, 2006

by Nyc_Tattoo
Yam Slacker
Our testing env and staging env is the same; head of IT always manually pushes changes out. he sometimes pulls a server out of cluster so he can deploy & test so thats our staging?

obv development runs on a weekly copy of live data that all developers change at will. obv we have no tests since the codebase is nigh untestable

i need a better job.

Powerful Two-Hander
Mar 10, 2004

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


karms posted:

Our testing env and staging env is the same; head of IT always manually pushes changes out. he sometimes pulls a server out of cluster so he can deploy & test so thats our staging?

obv development runs on a weekly copy of live data that all developers change at will. obv we have no tests since the codebase is nigh untestable

i need a better job.

come work with me we only have like 2/3 of the fuckups you list so it would be progress.

also I forgot that because sometimes our envs are out of date, multiple times we've accidentally backed out a change because a procedure update was built off an out of date version that missed the previous change.

so I guess we're back up to 3/3 fuckups oh well.

gonadic io
Feb 16, 2011

>>=

cinci zoo sniper posted:

yeah the problem at the core is shortsighted cost management policy, since we can afford to blot out the sun with ssds. its yet another item in the bucket list of things our finally hired cto will be solving, there is immense technical debt of various forms and shapes on institutional level

Also going back to this for a second, what about moving logs older than a month into non-ssds and heavily zipped etc.

If anything you could use the increased failure rate of disk drives as a way to convince management that it'll increase plausible deniability during long term audits

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice

AWWNAW posted:

drat. Iím talking to a Scala company soon and all I keep hearing is bad things :mrwhite:

AWWNAW posted:

I heard bad things about ruby and found out they were all true

friend of mine is a ruby coder who took a scala job because it was an extra $30/hr and he won't stop talking about how much he misses ruby now

good luck :unsmigghh:

Volte
Oct 4, 2004

woosh woosh

Cold on a Cob posted:

friend of mine is a ruby coder who took a scala job because it was an extra $30/hr and he won't stop talking about how much he misses ruby now

good luck :unsmigghh:
that's not the indictment of scala that you think it is

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
my current job has all kinds of mildly terrible programming but one thing that absolutely owns is that when you make a PR you can click a button and it will spin up a full test env running that branch with a full test db and everything for you. when the branch is merged or the PR closed it automatically kills the test env. very needs suiting.

gonadic io
Feb 16, 2011

>>=

TheFluff posted:

my current job has all kinds of mildly terrible programming but one thing that absolutely owns is that when you make a PR you can click a button and it will spin up a full test env running that branch with a full test db and everything for you. when the branch is merged or the PR closed it automatically kills the test env. very needs suiting.

working on it :(

akadajet
Sep 14, 2003

TheFluff posted:

my current job has all kinds of mildly terrible programming but one thing that absolutely owns is that when you make a PR you can click a button and it will spin up a full test env running that branch with a full test db and everything for you. when the branch is merged or the PR closed it automatically kills the test env. very needs suiting.

when i've brought this up as possible in the past people just laugh at me

Xarn
Jun 26, 2015

gonadic io posted:

working on it :(

:same:

In our defense, we literally started in November and had a ton of other things that needed to be done before spinning up the environment. :v:

cinci zoo sniper
Mar 15, 2013




gonadic io posted:

Also going back to this for a second, what about moving logs older than a month into non-ssds and heavily zipped etc.

If anything you could use the increased failure rate of disk drives as a way to convince management that it'll increase plausible deniability during long term audits

they stealthily moved dwh off ssd space

gonadic io
Feb 16, 2011

>>=
Once again a 1 hour+ "debate" about whether to use Scala or Go for a new service. In the end the conclusion was whichever dev picked up the ticket would write it in their chosen language and lock the other half of the team out of maintaining it. I'm so tired of this poo poo.

Anybody hiring haskell or rust in London?

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?

gonadic io posted:

Once again a 1 hour+ "debate" about whether to use Scala or Go for a new service. In the end the conclusion was whichever dev picked up the ticket would write it in their chosen language and lock the other half of the team out of maintaining it. I'm so tired of this poo poo.

pick up the ticket yourself and write the service in Lisp

or Haskell

or Erlang (LFE of course)

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

gonadic io posted:

Anybody hiring haskell or rust in London?

Anybody hiring haskell or rust in the world?

Honestly I think both languages are very cool (and very good) but I have to imagine the places hiring for these are few and far between.

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

Kevin Mitnick P.E. posted:

c++ programmers really believe that indirecting through a pointer every so often to fetch their 1-per-core epoll fd will kill perf? cause that's what I meant--in some areas value types and static binding are absolutely critical to get get decent perf and decent expressiveness. HashMap<Long, Long> is insanity and the hoops library authors have to jump through to get good primitive collections arent a lot better. other times, eh. doesn't matter.

moot point. I write in c++ not for performance but portability and interoperability, and the template-heavy-zero-overhead-RAII-ADL-SFINAE-move-semantics-perfect-forwarding style is simply the best way to use c++. other styles are poor imitations of other languages imo, without any of the benefits those other languages enjoy (eg. gc)

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
cjs: Our Russian outsource friends seem very eager to fork common libraries and start hacking them up, then including them in their codebase as a git submodule. I started checking a few of these and oh look they've ignored 6 months of critical bugfixes on this library and they also didn't bother to fork from a tagged version but whatever unstable poo poo was in the master branch. I just removed a couple of these submodules and replaced them with the nuget packages, and things are already running smoother. Faster build times, etc.

We also found several vulnerabilities in their changes to some of these modules, so that's been fun, to. Stuff like they would make private methods and fields public and lol what could do wrong? Also a propensity to use bespoke docker containers for services based on ruby:latest-bloated-whatever and I've been slowly replacing those with more sane containers (i.e. proper multi-stage dockerfiles with smaller runtime containers based on alpine or scratch)

I gotta give props to the Russians for giving me p sweet job security

Coffee Jones
Jul 4, 2004

16 bit? Back when we was kids we only got a single bit on Christmas, as a treat
And we had to share it!

CRIP EATIN BREAD posted:

Anybody hiring haskell or rust in the world?

Honestly I think both languages are very cool (and very good) but I have to imagine the places hiring for these are few and far between.


Haskell I have no idea outside of some compiler designers, and maybe some sort of Fintech like what Jane Street does for Ocaml.

Last I checked for jobs in Rust I saw listings for ďblockchain engineerĒ with some stupid high salary, but I couldnít find anything real.
It plays in the same space as C/C++, but youíre looking at thirty years of inertia. Iíd expect it to get traction where errors are hard to debug and testing is expensive, so anything embedded that takes interrupts

Nomnom Cookie
Aug 30, 2009



Powerful Two-Hander posted:

we have 3 staging environments that can be described as:

1) a mess because it's the one we do the actual db dev changes on so at any one time it probably has 10 sets of half baked changes deployed to it so that it's unclear if it is actually your bug or someone elses

2) some sort of capacity environment but we have no capacity tests, this one was stuck on an out of date copy for like 6 months because of how much paperwork it needed to extend it. currently usable

3) the one that's supposed to be up to date except that $largeproject has insisted they need it for "their testing" and despite having been told that they need to provision their own project environment and having something in the region of 10-20 project managers and "coordinators" and having the word "strategy" in their group title (lol). currently at least 3 months out of date and in gently caress knows what state regarding the data model

also like someone else said, there is no standard for actually getting applications to interact so every single large test setup immediately fails because nobody knows what this months data store config is or which queues are being used

don't worry though, the PMs are gonna phone you 10 times an hour until its fixed!

holy poo poo

Nomnom Cookie
Aug 30, 2009



hackbunny posted:

moot point. I write in c++ not for performance but portability and interoperability, and the template-heavy-zero-overhead-RAII-ADL-SFINAE-move-semantics-perfect-forwarding style is simply the best way to use c++. other styles are poor imitations of other languages imo, without any of the benefits those other languages enjoy (eg. gc)

what got me started though, is when you were pearl clutching about an fd wrapper having a vtable and how it was so much better to write and maintain code to avoid that

i really like the fd example because no matter how skinny you make it in userspace the kernel still has a struct file, which, aside from being vomit-inducingly bloated by c++ standards, includes a vtable pointer

fritz
Jul 26, 2003

hackbunny posted:

moot point. I write in c++ not for performance but portability and interoperability, and the template-heavy-zero-overhead-RAII-ADL-SFINAE-move-semantics-perfect-forwarding style is simply the best way to use c++. other styles are poor imitations of other languages imo, without any of the benefits those other languages enjoy (eg. gc)

it has been decided @ work that we're going to put this template-heavy sort-of-academic code on an embedded device and one of the troubles we're running into is that many templates are parameterized by size so there's a lot of basically-identical duplicated code and we're running out of room to store the instructions

also they're doing something rude enough with templates that visual studio refuses to compile it

Spime Wrangler
Feb 23, 2003

Because we can.

ctps: so i'm writing a program in kotlin that does a lot of graph manipulation and needs a really solid hierarchical layout algorithm for visualization. i'm drawing things using tornadofx/javafx and mostly need a system for putting Node A at position (x1, y1) and Node B at position (x2, y2) etc. in a pretty way.

so far i've found five options:

1. outsource it to graphviz & dot. afaict without something like pygraphviz that wraps a c interface to graphviz all I'll get is PNG output, so it's a no-go.

2. rewrite the dot layout algorithm based on the graphviz team's published academic papers. not too crazy, but at a minimum involves solving the network simplex problem for the node ranking step and probably a few other hairy bits I'm not aware of yet. there has to be a reason there are basically zero graph libraries that offer this functionality natively.

3. use a version of graphviz cross-compiled to javascript and run on nashorn or v8. A dude has a java repository that uses this backend, but apparently only generates PNG output like (1) so it's out.

4. use a pure js library like dagre, which appears to have reimplemented the dot layout algorithm, but requires embedding javascript in my application.

5. pay >$10,000 for something like yfiles


I think i'm going to do (2) instead of (4) because it might be fun and because god dammit why is the only free off-the-shelf solution to use js??

is there some other tool i'm missing in this space or does literally everything but the JS library require low-level integration with graphviz?

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
2 if you feel like you can do it. it seems like the best option, and keeping raster images and weird language interpreters for just a 3rd party library seems to be the Good Choice (tm).

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
It's not the easy choice, but it's the proper choice. I applaud you for attempting it, but I don't envy you for it. Good luck and god speed.

MrMoo
Sep 14, 2000

fritz posted:

it has been decided @ work that we're going to put this template-heavy sort-of-academic code on an embedded device and one of the troubles we're running into is that many templates are parameterized by size so there's a lot of basically-identical duplicated code and we're running out of room to store the instructions

also they're doing something rude enough with templates that visual studio refuses to compile it

:lol: embedded Windows, try Clang instead, that's what Google have been building Chrome with for a bit.

Spime Wrangler
Feb 23, 2003

Because we can.

CRIP EATIN BREAD posted:

It's not the easy choice, but it's the proper choice. I applaud you for attempting it, but I don't envy you for it. Good luck and god speed.

noooooo

you were supposed to reply with a turnkey library for me to use

we'll see how it goes, i actually really enjoy graph stuff for some dumb reason

Nomnom Cookie
Aug 30, 2009



dont use nashorn, its deprecated in favor of graal the experimental plang bs vm

dont use graal, its the experimental plang bs vm

if graphviz has a nice library then maybe JNA

Nomnom Cookie
Aug 30, 2009



o i see graphviz has like 10 deps. welp

echinopsis
Apr 13, 2004

ok so this web app idea I have I have decided im using heroku, using python and postgresql

thats fine.

but its one of these situations where I am going to have to learn a lot of things before I can do any one thing. thats fine

and something made me realise, well, guess I should make the python web app just work on my pc at home alone first. amiright?

i mean not finished, but focus on that first.

a) get a page working with python driving it

b) use postgres to put some data in or around it

c) heroku that mother fucker so its on the web and works



anyway imma go down that path. someone tell me if I am wrong

echinopsis
Apr 13, 2004

i talk a lot of poo poo but I really want to get as far as I can with this

im reading how to python web app

Soricidus
Oct 21, 2010
freedom-hating statist shill

Spime Wrangler posted:

ctps: so i'm writing a program in kotlin that does a lot of graph manipulation and needs a really solid hierarchical layout algorithm for visualization. i'm drawing things using tornadofx/javafx and mostly need a system for putting Node A at position (x1, y1) and Node B at position (x2, y2) etc. in a pretty way.

so far i've found five options:

1. outsource it to graphviz & dot. afaict without something like pygraphviz that wraps a c interface to graphviz all I'll get is PNG output, so it's a no-go.

2. rewrite the dot layout algorithm based on the graphviz team's published academic papers. not too crazy, but at a minimum involves solving the network simplex problem for the node ranking step and probably a few other hairy bits I'm not aware of yet. there has to be a reason there are basically zero graph libraries that offer this functionality natively.

3. use a version of graphviz cross-compiled to javascript and run on nashorn or v8. A dude has a java repository that uses this backend, but apparently only generates PNG output like (1) so it's out.

4. use a pure js library like dagre, which appears to have reimplemented the dot layout algorithm, but requires embedding javascript in my application.

5. pay >$10,000 for something like yfiles


I think i'm going to do (2) instead of (4) because it might be fun and because god dammit why is the only free off-the-shelf solution to use js??

is there some other tool i'm missing in this space or does literally everything but the JS library require low-level integration with graphviz?

you donít mention jgraphx. it might meet your needs. ignore all the mentions of swing, you can use the layout code by itself in a javafx gui. (or just embed a swing widget if you want to use their rendering)

idk how good its hierarchical layout algorithm is compared to graphviz but it is, at least, a native jvm implementation of hierarchical graph layout with a permissive open source license

(if you do 2 please post the code because I want to use it too if itís better than jgraphx)

Soricidus
Oct 21, 2010
freedom-hating statist shill

Kevin Mitnick P.E. posted:

dont use nashorn, its deprecated in favor of graal the experimental plang bs vm

dont use graal, its the experimental plang bs vm

if graphviz has a nice library then maybe JNA

I love how they deprecated nashorn in java 11 because you could just use graal.js, and then released graalvm and ... itís based on java 8 lol

redleader
Aug 18, 2005

Engage according to operational parameters

echinopsis posted:

ok so this web app idea I have I have decided im using heroku, using python and postgresql

thats fine.

but its one of these situations where I am going to have to learn a lot of things before I can do any one thing. thats fine

and something made me realise, well, guess I should make the python web app just work on my pc at home alone first. amiright?

i mean not finished, but focus on that first.

a) get a page working with python driving it

b) use postgres to put some data in or around it

c) heroku that mother fucker so its on the web and works



anyway imma go down that path. someone tell me if I am wrong

this sounds sensible. flask or django or ??

gonadic io
Feb 16, 2011

>>=

Spime Wrangler posted:

so far i've found five options:

1. outsource it to graphviz & dot. afaict without something like pygraphviz that wraps a c interface to graphviz all I'll get is PNG output, so it's a no-go.

2. rewrite the dot layout algorithm based on the graphviz team's published academic papers. not too crazy, but at a minimum involves solving the network simplex problem for the node ranking step and probably a few other hairy bits I'm not aware of yet. there has to be a reason there are basically zero graph libraries that offer this functionality natively.

...

instead of rewriting the whole thing, what about forking graphviz and hikacking the bit where it turns whatever internal representation into a png

echinopsis
Apr 13, 2004

redleader posted:

this sounds sensible. flask or django or ??

django as far as I can tell.

I ran thru a python heroku experiment and it all worked but it really didn't give me much information as far as I am concerned, but in the process I had to install python and django and postgresql so I guess so

having to adapt programs to different interfaces is a part of programming i've only borderline experience with so it's a lot of foreign poo poo to me.. Į\_(ツ)_/Į

but whenever i've coding in python I have enjoyed using it no end :jizzemoji:

ynohtna
Feb 16, 2007

backwoods compatible
Illegal Hen

Spime Wrangler posted:

noooooo

you were supposed to reply with a turnkey library for me to use

we'll see how it goes, i actually really enjoy graph stuff for some dumb reason

I haven't looked at it closely myself, but maybe cytoscape will do what you need?

Powerful Two-Hander
Mar 10, 2004

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



the project managers hate me because when the connectivity fails for the 20th time they know that I know perfectly well how to fix it but I just go "this is what happens when you don't provision an environment like I told you" and there's gently caress all they can do because they've pissed everybody else off doing the same thing so there's nobody they can complain to

at one point they stopped talking to me for like two weeks and would only communicate through a proxy in another team lmao

anyway, better go check our rollback scripts aren't reintroducing bugs again!

Chalks
Sep 30, 2009

Powerful Two-Hander posted:

come work with me we only have like 2/3 of the fuckups you list so it would be progress.

also I forgot that because sometimes our envs are out of date, multiple times we've accidentally backed out a change because a procedure update was built off an out of date version that missed the previous change.

so I guess we're back up to 3/3 fuckups oh well.

procedure updates are always a nightmare here because even though we always start on an up to date copy of the structures after every release, two people will inevitably start updating the same procedure at the same time and add alter scripts to the build that overwrite the procedure with their new one. obviously neither includes the other guy's changes so the actual update that makes it to release is currently decided based on who has alphabetically superior initials.

Adbot
ADBOT LOVES YOU

Powerful Two-Hander
Mar 10, 2004

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


Chalks posted:

procedure updates are always a nightmare here because even though we always start on an up to date copy of the structures after every release, two people will inevitably start updating the same procedure at the same time and add alter scripts to the build that overwrite the procedure with their new one. obviously neither includes the other guy's changes so

same on all of this except for

quote:

the actual update that makes it to release is currently decided based on who has alphabetically superior initials.

what the gently caress, Aaron A Aardvark strikes again!

edit: our equivalent is "my changes override everyone else's" but also the management of conflicts is literally "make sure we're not touching the same db functionality in two simultaneous jiras"

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