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
gnatalie
Jul 1, 2003

blasting women into space

ratbert90 posted:

I fee bad just learning grep stands for Global/REgex/Print. :smith:

this is an adequate surprise. i figured it stood for some stupid loving suspenderbeard joke

Adbot
ADBOT LOVES YOU

gnatalie
Jul 1, 2003

blasting women into space

Workaday Wizard posted:

i met a guy like that in college. super sharp guy and very technically minded but zero social grace or awareness. i really hope he picked up some social skills and became more open minded. i also hope to gently caress he didn't get roped into alt-right/incel bullshit.

oh my sweet summer child

gnatalie
Jul 1, 2003

blasting women into space
i can't be the only person that was praying for him to stroke out in the OR

gnatalie fucked around with this message at 07:03 on Aug 14, 2021

gnatalie
Jul 1, 2003

blasting women into space
octopus deploy!

that is, if you're into windows and stuff.

gnatalie
Jul 1, 2003

blasting women into space

pointsofdata posted:

octopus is the best, but their support for deploying to e.g. ECS on AWS is like "embed a giant custom powershell script". It's sad because their UI is great and the experience as someone operating software (deployed to fixed pools of windows hosts) is really good.

I feel like AWS could steal their lunch pretty easily, at least for an AWS only solution.

Urgh, I nearly got into that mess about a year ago before abandoning the proof of concept ecs/fargate thing I was working on. On the plus, it's definitely on their roadmap; I've gotten an email or two about joining a beta test.

That being said, agreed the rest of octopus is awesome. When I joined my current job, there was no source control (!!) and c# web apps were deployed via copying directories in windows explorer (!!!) . Needless to say, management's minds were blown away when they were told they could schedule deployments in advance by clicking a button.

DrPossum posted:

Anyone use teamcity professionally or otherwise? I'm typically pretty high on most Jetbrains stuff but not gotten over the effort hump to try it out

Here! Been using it professionally since ~2015. The UI is a bit confusing until you've used it a bunch, but it works really, really well. I've never had any problems with it. Granted, we're 100% net framework/core web apps, but still, even the other development teams have been able to pick it up without any major issues.

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

"hey how did you get the credential storage policy changed to use webdeploy to do an auto sync between iis sites?"
"Oh we didn't we used DFSR to do it"
"oh ok cool who can set that up? I need a domain account right?"
"Yeah I dunno I don't think we support DFSR"

fucks' sake every time I try and get our servers configured to do something in a sane way I run into "oh, we don't support that" from our infrastructure teams even when they use it themselves.

bonus: they removed auto failover from new vms so I asked about setting up a Windows cluster to do it guess what? Not supported.

shadow-it an octopus deploy installation and bypass them completely :)

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

I actually did consider this lol

at some point someone will say "you should use ansible for this, it's part of the corp deploy chain!" to which I'd say "did you just tell me to go gently caress myself?"

in my experience (being the one who created ours) it's unlikely there is any meaningful documentation for the corp deploy chain, so that bullet can be dodged.

akadajet posted:

thankfully I’m not a Java dev or own any Java dependencies so I just get to stand back and laugh this one out

same here, for real.

we have a mulesoft anypoint enterprise edition platform which thousands of devices in us/canada interact with, and being "enterprise" of course it's vulnerable to log4j. the people in charge of it generally don't like to do any upgrades or configuration changes (relatedly, they also wrote a program which interacts with the anypoint api+sql backend; one of our previous devs noted they were able to crash the program by inputting text containing a single quote mark. hmm..), so for entertainment i'm thinking about quietly bringing this up to our security and datacenter teams lol

gnatalie fucked around with this message at 19:29 on Dec 24, 2021

gnatalie
Jul 1, 2003

blasting women into space

Captain Foo posted:

having just done this it's extremely easy to patch but lol in general, yeah

we have just a handful of on-premise runtime servers tho

they're the same people who when prompted about deprecation of runtime 3.9.x or whatever and an offer to upgrade to version 4, decided to pass. supposedly we have business critical processes running on it hahaha

Powerful Two-Hander posted:

100% correct. one of my continued complaints with ours is we have these people churning out "standards" for things but without any coherent way of implementing them, you're just sort of left to go figure it out yourself.

I'm arrogant/stubborn enough to think "yeah I probably could do this" but I don't have time. we acquired a person offshore to set up our build chain and I think she's been at it for 6 months now just doing "something" with Jenkins lol

welp, standards aren't standards if people aren't shown (or forced!) to use them. here devs aren't given access to production web servers (which is always a good decision), which forces everyone to use github/teamcity/octopus. i was lucky in that when arriving here there was no standards of any sort- no source control, iis sites were "deployed" via dragging directories in windows explorer; i said/proof of concepted 'this is the correct way to build+deploy software' and everyone hopped on when they realized they could deploy to 5+ servers by clicking butan.

sheesh it shouldn't take that long to setup, but its jenkins. i don't know of many people who actively like it.

gnatalie
Jul 1, 2003

blasting women into space

Shaggar posted:

dont even need windows now. dotnet will generate platform specific self contained binaries if u want. thats how i do all my deployments on windows so i dont have to worry about clr deployment


well it's the correct answer

gnatalie
Jul 1, 2003

blasting women into space

Bloody posted:

you've hated merging to master, and rebasing on master, so get ready for: squashing pull requests into master. master is one golden commit. get in or get out

yea when one of my juniors has a feature pr with 35 commits when it should really be ~3, you bet i'm squashing that poo poo

gnatalie
Jul 1, 2003

blasting women into space

Shaggar posted:

p-langs are bad because aspects of the languages (and their communities) promote bad ideas and bad habits. use c#: its just so much better.

yea for real, it's pretty great to not ever have to worry about a lot of the bullshit ppl here do

gnatalie
Jul 1, 2003

blasting women into space

Share Bear posted:

i get high praise for the python i write because it does the most important thing: let my teams gently caress off and not work on poo poo that wastes time

if you have higher standards for your tools we do not see eye to eye

Share Bear posted:

i take minor offense to people making GBS threads on p-langs, i know why they're bad but that doesn't mean they're not useful


oh totally- 2 projects ago during a data migration we needed to consolidate tens of thousands of similar words (think 'company a', 'Company A', 'Xompany A', 'company a') and I figured someone had written a python library to do exactly that. doing this in c# would have been insane waste of time; use the right tool for the right job etc

gnatalie
Jul 1, 2003

blasting women into space

Armitag3 posted:

I've actually been thinking about this and arrived at the conclusion that a single database that all microservices go and drink from is going to be a major problem without an interface/contract in front of it. If everyone shoots their SQL through HTTP, the next time the schema changes the assumptions are wrong and stuff breaks. If you put a frontend in front of your database, it is now a "database service" complete with API so that you don't have to care about the underlying implementation - and the team working on it will be miserable because their job is taking in requests from the data owners on other teams to change their poo poo, and the other teams will be miserable because they now have to submit TPS reports to get their poo poo changed. It seems to me much better that the teams own their data outright and keep their persistence close to their service.


ugh i'm dealing with this poo poo at work. we have someone who is been huffing mulesoft anypoint esb farts for the last ~5 years, whose solution to our rando api api sprawl is "instead of devs using dapper/ef/whatever they should call unknown, undocumented endpoints, supply a request in an unknown format, and expect data in another unknown format". i was able to push it off for a while by explaining how that's complete dogshit from a dev/implementation standpoint. said person also wrote apis which return json in essentially random formats, resulting in an now ex-coworker having to write a custom json deserializer O_o


my homie dhall posted:

it works fine if all your services that use the db are in the same repo

heyyyy what do you know, i've already been doing this but others haven't joined in. interesting!

gnatalie
Jul 1, 2003

blasting women into space

i have yet to see anything that makes me think go is not a stupid language

gnatalie
Jul 1, 2003

blasting women into space

Deep Dish Fuckfest posted:

if you're ever happy and you touch computers for a living then there's something deeply wrong with you

well, yes, but the two are not related :mad:

gnatalie
Jul 1, 2003

blasting women into space

gonadic io posted:

you'd better make a microservice to manage your microservices

a... macroservice!

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

like what even is a micro frontend? at what level is it not "micro" anymore? and in what universe do they think that we're going to just make poo poo loads of endpoints discoverable and somehow then manage this in such a way that it does not become a poo poo show?

imagine a basic webapp with a header, body, and footer.

now make each of those their own single page application.

congrats now you have 3 micro frontends. yeah, totally stupid like 99.999% of the time

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

also in "shaggar was right" news we had the excellent one two combo this week of "cio has decided in future we will be a java shop" and "we have a new focus on cyber security and we need to look at java urgently because it's the source of 75% of all critical vulnerabilities in our estate" lmao

hahaaaa


in security-related nonsense, our security team has recently 1) requested that everyone change their github usernames to real names because they can't remember who is who when the team is looking at logs (me and my boss shot this down immediately) and 2) sent us managers/senior devs a spreadsheet with instructions to list every external dependency used in our projects (we're all c# all the time (and honestly its pretty great)), along with every single program we use for development, along with it license type and reason for use. and this needs to be filled in for all the developers.

i found a script to clone all our github repos, and another program (dependensee) to recursively search all the project files and output the nuget package names + versions.

the rest of that poo poo they can get themselves

gnatalie
Jul 1, 2003

blasting women into space

Deep Dish Fuckfest posted:

what the gently caress is a security team?

people who spend all day doing little other than reading log aggregations while totally missing large .net vulnerabilities (system.data.sqlclient i'm looking at you)

Powerful Two-Hander posted:

I'm gonna steal this because our thought leaders just decided that every built artefact needed to have a manifest file of all it's dependencies attached to it for similar reasons (everything must be up to date!) and we said "what no go look at the nuget pack or the csproj files", but you just know that they'll insist on it being done anyway so scripting would be good

cool, you gotta do a few things:

github cli script to clone all organization repos

Models.cs add a version string property around here

ReferenceDiscoveryService.cs replace the foreach with
code:
foreach (XmlNode node in packageReferenceNodes)
{
    var packageName = node.Attributes["Include"]?.Value ?? node.Attributes["Update"].Value;
    var version = node.Attributes["Version"]?.Value ?? "0";
    Package p;
    if (packageName.Contains(",")) {
	var split = packageName.Split(',');
        p = new Package {
            Id = split[0],
            Name = split[0],
	    Version = split[1].Split("=")[1] ?? "0",
	};
    } else {
	p = new Package {
            Id = packageName,
	    Name = packageName,
	    Version = version,
	};
    }
    packages.Add(p);
}
spice it up by writing to csv in ResultWriter.cs
code:
private void WriteCsvPlease(DiscoveryResult result, string outputPath) {
    var csvpath = $"{outputPath}.csv";
    using var writer = new StreamWriter(csvpath);
    using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
    csv.WriteRecords(result.Packages.OrderBy(o => o.Name).DistinctBy(o => o.Name));
}

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

damit "core engineering platforms" team, why would you build a dotnet client for your platform then only make it available through a loving maven format repo?

:eng101: it won't ever be available if you break the maven repo server

gnatalie
Jul 1, 2003

blasting women into space

pokeyman posted:

cathy managing her dotnet runtime dependencies: "GACk!"

gnatalie
Jul 1, 2003

blasting women into space

MrMoo posted:

is this the new webdev thing, to just gas light now:

https://www.conventionalcommits.org/en/v1.0.0/

shouldn't all this poo poo go in your issue tracker :confused:

gnatalie
Jul 1, 2003

blasting women into space
1) encourage everyone to do this too
or
2) give this nerd a huge wedgie

gnatalie
Jul 1, 2003

blasting women into space

DX24TB1 posted:

Isn’t Golang just Googles attempt at eating into the C# market?

it certainly lured away a bunch of idiots

gnatalie
Jul 1, 2003

blasting women into space

Finster Dexter posted:

Pretty sure Rob Pike recommended that kind of variable naming.

The same guy that thinks syntax highlighting was actively harmful.

The same guy that thinks a good convention for public vs. private functions was capitalizing the first character of the name. So, if you want to make a private function public, you have to go through all references and rename them.

:v:

Finster Dexter posted:

I posted this a long time ago... but if you want to output a non-standard format like "yyyyMMddHHmmss" for a date, the way to do that in go is:

t.Format("20060102150405")

https://stackoverflow.com/a/20234207/221648

why anyone ever listened to that idiot and uses that idiot language is entirely beyond me

gnatalie
Jul 1, 2003

blasting women into space
my company spends ~375k/yr on sql licensing with only a few enterprise cores

bob dobbs is dead posted:

sql server is fine in most situations, it just costs a late model used car per year per core and postgres is better

only if you have enterprise edition! tried postgres and couldn't deal with the inability to simply declare a variable and use it in a query:

code:
declare @myFartId int = 69

select * from Farts where Id = @myFartId
why can't i do this?! did i miss something? it was even with version 14 so idk

gnatalie fucked around with this message at 02:24 on Feb 17, 2023

gnatalie
Jul 1, 2003

blasting women into space

...

it's unfortunate that people are willing to put up with that nonsense

Shaggar posted:

if you need sql server you probably also need enterprise

meh. online schema change, index rebuild (!), and aoag are pretty awesome but we get by without them. there's probably a bunch more but i care not to learn; i already spend enough time as it is doing things our dbas should be doing and there's no incentive to learn more.

gnatalie
Jul 1, 2003

blasting women into space

tef posted:

but it's your own fault for not using god's own primary keys: uuids

a few of my coworkers do that but also set them as the clustered index. i don't allow that poo poo on my dbs. which leads to...

quote:

step 4: you fire the boss's nephew that keeps using autoincrement like a scrub

our main crm program's Important Tables are all int pks whose "most recent" values are stored in a separate table. yes this is relic from db2 even tho we're on sql server 2017, no i was not here when the decision was made to keep this, yes it's a huge pain in the rear end, no it's not my circus/monkeys.

i've settled on the happy medium of autoincrement int/bigint pks for everything internally consistent in the db, non-clustered indexed newid() guids for everything "external"

gnatalie
Jul 1, 2003

blasting women into space

FlapYoJacks posted:

Not sure about new job.
- Mandatory CI/CD on all projects.
- Every programmer has to approve of pull requests and do code review on any merge requests.
- all projects go through clang-format and clang-tidy and sonarqube.
- -Werror on all C and C++ projects.
- black, mypy, and strict adherence to type hinting for any python code.

All the code I have seen is squeaky clean and well organized. I’m very confused. :psyduck:

in about ~5 months you'll be discreetly asked if you're interested in join a weird swingers and/or poly thing

gnatalie
Jul 1, 2003

blasting women into space

not dead yet posted:

just had a IT wide meeting where management told us they dont take responsibility for anything thats bad, but will let developers come up with solutions. Developers, of course, have to convince management for time to implement these. How is left up as an exercise to the reader.

also the cto said that changing code on live is really good actually because that means you can be really fast in fixing things

also its not a problem that every release is followed by live patching the servers. this is normal development

:thumbsup:

lol what a clown show.

just do whatever you want

gnatalie
Jul 1, 2003

blasting women into space
my job uses jira service desk for help desk tickets. it's...fine

devs use jetbrains youtrack w/teamcity. as the official youtrack admin i let the dev teams do whatever stupid workflow process they want and if they mess it up they get to figure out how to fix it.

worked pretty well for ~6 years now :shrug:

gnatalie
Jul 1, 2003

blasting women into space

Destroyenator posted:

i’m not sure about how much extra data they’re stuffing into those binaries but for structured logging in .net world you should use serilog and pick one or more “sinks” that give you the viewing experience you want. i haven’t tried seq as an output yet but it’s meant to be pretty good and is free for local dev

ya we use that everywhere with opensearch, owns loving hard.

i still have at least one coworker who thinks logging to sql is a better idea :gonk:

gnatalie
Jul 1, 2003

blasting women into space

Corla Plankun posted:

lmao buy that kid an account, they're gonna go far

one has been a developer since the late 80s, the other is seemingly ok with now 600+ gb worth of json stuffed into nvarchar(max) columns.

if you're wondering how quick it is to get anything from these tables, there's not a single index in any of them.

gnatalie
Jul 1, 2003

blasting women into space

Shaggar posted:

salesforce is jira for sales people, only its 100x more expensive and rather than being built atop decades of technical debt, its built on sales promises.

we're tied into it pretty hard. the licensing costs are insane but comes from sales' budget so idgaf.

gnatalie
Jul 1, 2003

blasting women into space

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

gnatalie
Jul 1, 2003

blasting women into space

Powerful Two-Hander posted:

I guarantee you they do not know what that is or what a deploy tool is either. if they did they could have said "ok deploy the latest prod artefact build to the test env and also refresh the database back from production" which is actually dead simple to do but I'm not gonna do it unless asked and we have other stuff in that env anyway

last week they took screenshots of some code in gitlab as evidence of ??? and it was literally a wait loop that is used to just go "nothing to do, sleeping"

also these *are* the sox auditors lmao

loooooool auditors looking at code, fantastic.

gnatalie
Jul 1, 2003

blasting women into space
2 hours wasted on figuring out how to deserialize syntactically correct, but unconsumable json from a coworker's api. the fix involves truncating the first/last characters of string, and two .Replace methods to remove a specific combination of ' }, { "propertyName" '

never touching this poo poo again

gnatalie
Jul 1, 2003

blasting women into space

Shaggar posted:

like there are certainly bad designs that lead to annoying deserialized models and json definitely sucks, but if its valid its valid and you shouldnt have problems consuming it

Powerful Two-Hander posted:

Im getting a contract through for a new job imminently so the auditors can suck it
how was the JSON generated in the first place? I'm guessing not using the same library that you're using to deserialise it!

it was generated from an enterprise service bus! by consuming i mean i can't paste json as class in visual studio, then use the generated class. there's no reason (unless you make stupid decisions) why any sort of consumable json shouldn't work without zero effort.

the original json is this, but with more stuff:

code:
[
   {
      "property1": [
         {
            "a1":"b1",
            "a2":"b2"
         },
         {
            "a1":"b3",
            "a2":"b4"
         }
      ]
   },
   {
      "property2": [
         {
            "sub1":[
               {
                  "thing1":"val1",
                  "thing2":"val2"
               }
            ],
            "sub2":[
               {
                  "thing3":"val3",
                  "thing4":"val4",
                  "thing5":"val5"
               }
            ]
         }
      ]
   }
]

gnatalie
Jul 1, 2003

blasting women into space
yeah, totally valid per spec, but deserialized i'm imagining arrays of multiple classes?

using c#, but let's not discount the fact that i'm kind of an idiot.

on second look it could be turned into an array of classes whose subclasses have all possible properties? then i'd have to do a whole mess of if/then null checks. lame.

or it could just be loving flat, all this stuff is being pulled from a sql db that coworker refuses to give anyone access to. anyways, there's no more of it i have to deal with.

Adbot
ADBOT LOVES YOU

gnatalie
Jul 1, 2003

blasting women into space
^^ yea, paste xml is the other option

visual studio has an feature where you can paste raw json into a file and it generates c# classes from it. if the json isn't stupid it works reasonably well. the api my coworker made is entirely undocumented, so this sort of thing is my only option. i am using restsharp to read the data, deserializing to classes to do some transformation/logic whatever then piping the output to a lovely angularjs frontend made by an ex-coworker.

the terrible programming is here, no surprises

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