|
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
|
![]() |
|
![]()
|
# ? Sep 28, 2023 02:36 |
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
|
|
![]() |
|
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!
|
![]() |
|
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.
|
![]() |
|
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? 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.
|
![]() |
|
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
|
![]() |
|
AWWNAW posted:drat. I’m talking to a Scala company soon and all I keep hearing is bad things 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 ![]()
|
![]() |
|
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
|
![]() |
|
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.
|
![]() |
|
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 ![]()
|
![]() |
|
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
|
![]() |
|
gonadic io posted:working on it ![]() 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. ![]()
|
![]() |
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. they stealthily moved dwh off ssd space
|
|
![]() |
|
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?
|
![]() |
|
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)
|
![]() |
|
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.
|
![]() |
|
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)
|
![]() |
|
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
|
![]() |
CRIP EATIN BREAD posted:Anybody hiring haskell or rust in the world? 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
|
|
![]() |
|
Powerful Two-Hander posted:we have 3 staging environments that can be described as: holy poo poo
|
![]() |
|
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
|
![]() |
|
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
|
![]() |
|
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?
|
![]() |
|
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).
|
![]() |
|
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.
|
![]() |
|
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 ![]()
|
![]() |
|
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
|
![]() |
|
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
|
![]() |
|
o i see graphviz has like 10 deps. welp
|
![]() |
|
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
|
![]() |
|
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
|
![]() |
|
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. 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)
|
![]() |
|
Kevin Mitnick P.E. posted:dont use nashorn, its deprecated in favor of graal the experimental plang bs vm 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
|
![]() |
|
echinopsis posted:ok so this web app idea I have I have decided im using heroku, using python and postgresql this sounds sensible. flask or django or ??
|
![]() |
|
Spime Wrangler posted:so far i've found five options: instead of rewriting the whole thing, what about forking graphviz and hikacking the bit where it turns whatever internal representation into a png
|
![]() |
|
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:
|
![]() |
|
Spime Wrangler posted:noooooo I haven't looked at it closely myself, but maybe cytoscape will do what you need?
|
![]() |
|
Kevin Mitnick P.E. posted:holy poo poo 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!
|
![]() |
|
Powerful Two-Hander posted:come work with me we only have like 2/3 of the fuckups you list so it would be progress. 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.
|
![]() |
|
![]()
|
# ? Sep 28, 2023 02:36 |
|
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"
|
![]() |