|
Zlodo posted:Rewrites are fun until you realize that you are now the go-to person to provide support for the thing that you rewrote you are ALWAYS this person at some level
|
![]() |
|
![]()
|
# ? Mar 29, 2023 10:08 |
|
Zlodo posted:Rewrites are fun until you realize that you are now the go-to person to provide support for the thing that you rewrote this was years ago, but i found out the hard way that the guy who wrote some incredibly critical monitoring software never checked it into goddamn source control, so when the environment changed and I needed to add support for a new thing the only available option was to re-write it. I was the only support person for that particular thing for like 8 years, lol.
|
![]() |
|
Feisty-Cadaver posted:this was years ago, but i found out the hard way that the guy who wrote some incredibly critical monitoring software never checked it into goddamn source control, so when the environment changed and I needed to add support for a new thing the only available option was to re-write it. a contract killer is only like 50k usd, i would consider retaining the services of one Feisty-Cadaver posted:I was the only support person for that particular thing for like 8 years, lol. possibly targetting yourself bob dobbs is dead fucked around with this message at 05:11 on Mar 16, 2023 |
![]() |
|
bob dobbs is dead posted:possibly targetting yourself to be fair i'm only a partial dumbass, so i only had to do support for it like 4 times over those 8 years and one of those was "we are decommissioning this data center and you have poo poo running in it so move it"
|
![]() |
|
bob dobbs is dead posted:a contract killer is only like 50k usd, i would consider retaining the services of one lmao for real though, a whole load bearing systeme that's unchecked into any form of version control?
|
![]() |
|
Twerk from Home posted:JC Denton: My heap is fragmented. But I thought we use GC languages so we don't have to deal with this bullshit? ![]() Actually the solution was much more galaxy brained: the C++ library now provides API to allocate memory buffers on its side, and we extended some other APIs to take these buffers instead of just plain memory (which Go had to allocate). The idea is that Go can now just keep reusing a small ~1MB buffer for storage, and just copy the data over to C++ buffers, thus making it our problem.
|
![]() |
|
cinci zoo sniper posted:lmao don't discount "it was in source control but that platform got binned and because nobody knew what that thing was and the guy had left, it wasn't migrated" we have some DLLs like that and I once got hold of the source for a janky aspx app by just copying it out of the web directory
|
![]() |
|
Powerful Two-Hander posted:don't discount "it was in source control but that platform got binned and because nobody knew what that thing was and the guy had left, it wasn't migrated" may i at least forget this after discounting ![]()
|
![]() |
|
cinci zoo sniper posted:may i at least forget this after discounting we went clearcase to SVN to git and stuff definitely vanished because nobody knew what it was anymore when I migrated one actual useful think it came out as 1gb because they'd been checking all the built msi's in for years and years and years and years
|
![]() |
|
powerful two-hander out there in the hyperbolic time chamber of the world's most productive *checks notes* company inspired by traditional msps
|
![]() |
|
cinci zoo sniper posted:powerful two-hander out there in the hyperbolic time chamber of the world's most productive *checks notes* company inspired by traditional msps an everlasting ouroboros of poo poo
|
![]() |
|
Powerful Two-Hander posted:an everlasting ouroboros of poo poo no wait my monitor was off nevermind
|
![]() |
|
cinci zoo sniper posted:lmao Stored procedures give me nightmares for this reason.
|
![]() |
|
Same, that's why every other month I check a copy of the database schema into version control
|
![]() |
|
just put all your procs and views etc as SQL files into folders and do a git diff to pull what's changed between versions and then run them. Sequencing can be a pain sometimes but there are ways around it. I used to do this with powershell and bundle it all into one bit now we use some Jenkins bullshit. we also do delta changes like data stuff as well, that's where you do table stuff as well as maintaining table objects the same way is a pain in the rear end
|
![]() |
|
Bloody posted:anyone got good reading material for coming up with properties for property-based tests, or blogposts on the topic https://fsharpforfunandprofit.com/posts/property-based-testing-2/ and its followups in the sequence
|
![]() |
|
sometimes those load bearing systems began as a one-off perl script that got reused and passed around and improved and eventually someone added it to cron and now it’s a very important part of the ecosystem yet has no real designer. it’s evolution in action.
|
![]() |
|
theres a goon written book https://www.amazon.com/Property-Based-Testing-PropEr-Erlang-Elixir/dp/1680506218 mononcqc wrote it
|
![]() |
|
Powerful Two-Hander posted:don't discount "it was in source control but that platform got binned and because nobody knew what that thing was and the guy had left, it wasn't migrated" One of my jobs had a “release process” that involved taking a bunch of random git commits from 9 of the 2,000+ random branches and combining them manually into a tarball with no documentation as to what branches were used or commit hashes. I left after 6 months of that bullshit. Edit: the company name is GreenLots. They were acquired by Shell several years ago and provide the backend to Electrify America DC fast chargers.
|
![]() |
|
FlapYoJacks posted:One of my jobs had a “release process” that involved taking a bunch of random git commits from 9 of the 2,000+ random branches and combining them manually into a tarball with no documentation as to what branches were used or commit hashes. lol awesome
|
![]() |
|
FlapYoJacks posted:One of my jobs had a “release process” that involved taking a bunch of random git commits from 9 of the 2,000+ random branches and combining them manually into a tarball with no documentation as to what branches were used or commit hashes. what the gently caress lol
|
![]() |
|
FlapYoJacks posted:One of my jobs had a “release process” that involved taking a bunch of random git commits from 9 of the 2,000+ random branches and combining them manually into a tarball with no documentation as to what branches were used or commit hashes. they would have made you CTO if you introduced them to git cherry-pick
|
![]() |
|
my current company has a real lovely monorepo codebase with: - 10330 branches at time of posting - home-rolled build system that's tightly integrated with ADO and publishes builds whether or not the unit-tests passed - a master that's constantly broken - 67GB of LFS files - a release process that's completely unrelated to the contents of master - no actual customers ![]()
|
![]() |
|
10330 branches what the gently caress
|
![]() |
|
Poopernickel posted:they would have made you CTO if you introduced them to git cherry-pick The update process was: - untar the tarball full of random .jar files - run a script packaged in the tarball called update.sh as root. - restart the services manually. no rollback support, and anyone could change update.sh to do whatever they want. Other fun facts: - Ran on Centos6 until 2020 - SELinux is and still is disabled. - All applications run as root - Java 1.8
|
![]() |
|
feeling extremely blessed with only dealing with people developing on the main branch when they don't feel like doing the whole branches and reviews thing
|
![]() |
|
we have like 6 feature branches in one project repo and even then idk what two of them are for or whether they were deployed or not
|
![]() |
|
FlapYoJacks posted:Other fun facts: poo poo i gotta make some calls (jk i've already made the calls, no one paid any attention)
|
![]() |
|
actually one headache of having your db objects in a repo and then having separate projects instead of a mono repo means that you have to make sure you keep your deploy branch names in sync so that you deploy the dependent bits at the same time it's not that hard though tbf. harder is "what the gently caress version of X is in environment Y?" e: yesterday an auditor asked me to show the version number on the application info drop-down to "prove that the same code is in production as in the test environment we just used to capture evidence" and obviously it was not and when queried i said "there is absolutely no way to ever guarantee the same code is in test and production" and they went very quiet
|
![]() |
|
java 1.8 is at least still supported, I was half expecting it to be like 1.6 or something
|
![]() |
|
Soricidus posted:java 1.8 is at least still supported, I was half expecting it to be like 1.6 or something CentOS6 however, is not. So Java 1.6 wasn’t being updated. ![]()
|
![]() |
|
cinci zoo sniper posted:lmao the source control was “Chris’ laptop” he’s a CTO now
|
![]() |
|
i bet if youre good w a cartel or something you could prolly ask for a discount
|
![]() |
|
distortion park posted:Upstream/downstream in k8s land confuses me <helpful AI clippy thing> did you mean? - upstream, as in things that can only be handled by the kubernetes project, rather than your integration with it? - upstream, as in a network destination forward from its current network node towards its destination? - upstream, in some generic sense, as the opposite of downstream? ask me about trying to explain the differences between an abstract computer things service, Service, the kubernetes resource, service, the specific concept that a kubernetes Service resource describes, service, the named resource in our vendor-specific configuration language, which is similar to but not necessarily the same as the prior three items (since sometimes we may represent a single kubernetes Service with multiple vendor services, but they are all part of the same abstract service) any discussion i have about poo poo in this space, even with people that are familiar with it, feels like ![]() terminology is a gently caress
|
![]() |
|
for really involved confluence pages that I write, I always add a glossary to clarify what I mean when I use frequently misunderstood or vague terms like container, component, class, continuous integration, and crazy (just kidding, I don't say "crazy", I say "illogical")
|
![]() |
|
ah yes, the holy ovaries explaining the divine mystery of how is babby formed
|
![]() |
|
Powerful Two-Hander posted:e: yesterday an auditor asked me to show the version number on the application info drop-down to "prove that the same code is in production as in the test environment we just used to capture evidence" and obviously it was not and when queried i said "there is absolutely no way to ever guarantee the same code is in test and production" and they went very quiet ahhhh we give the auditors read access to everything in octopus deploy and let them have fun. they don't pester us and the company is still sox compliant so i think it suffices
|
![]() |
|
FlapYoJacks posted:One of my jobs had a “release process” that involved taking a bunch of random git commits from 9 of the 2,000+ random branches and combining them manually into a tarball with no documentation as to what branches were used or commit hashes. Sounds like clearcase, 50+ line Clearcase config spec picking things from here, there, everwhere. Even back in time. loving clearcase, truly unbelievable to try and learn that coming from Git in uni.
|
![]() |
|
I just overheard some manager go "product decisions I make result in technical implications?" like it's some radical revelation
|
![]() |
|
![]()
|
# ? Mar 29, 2023 10:08 |
|
ontological statements that the scholastic christians invented to avoid accusations of polytheism that the muslims would level anyways gently caress peeps who get paid money to kinda do work daily. notions of the efficiency of causation gently caress over peeps who type code for a living. foreverially philosophized and hating it
|
![]() |