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
HoboMan
Nov 4, 2010

speaking of, groovy log day 1:
so far this feels like someone looked at java code and went" you know what this really needs is to have syntax more like python"

Adbot
ADBOT LOVES YOU

Sapozhnik
Jan 2, 2005

Nap Ghost
a lot of bad java libraries are also written by people who seem to want to write python code in java, the general attitude being "type systems are hard, let's do duck-typing by reflectively invoking everything"

HoboMan
Nov 4, 2010

Sapozhnik posted:

a lot of bad java libraries are also written by people who seem to want to write python code in java, the general attitude being "type systems are hard, let's do duck-typing by reflectively invoking everything"

i for one really appreciate type errors getting deferred to runtime!!! big improvement a+++++

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

Sapozhnik posted:

a lot of bad java libraries are also written by people who seem to want to write python code in java, the general attitude being "type systems are hard, let's do duck-typing by reflectively invoking everything"

just add this annotation to your class and everything will work for you automatically!

sure it adds a ton of overhead but gently caress it, our 30 algorithm needs 4000 lines of reflection inspection code

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

cinci zoo sniper posted:

im not desperate. scala is just a logical technical extension of my current career

i love scala so imo go for it

Notorious b.s.d.
Jan 25, 2003

by Reene

HoboMan posted:

speaking of, groovy log day 1:
so far this feels like someone looked at java code and went" you know what this really needs is to have syntax more like python"

funny thing -- that was the entirety of the design process

Notorious b.s.d.
Jan 25, 2003

by Reene

gonadic io posted:

Yeah scala is your best bet here, it is the jvm analogue to f#. Different language design, much less focused/strict but it's still the functional jvm lang. Kotlin kinda looks interesting too in the space but it's not as mature as scala. Probably much better designed though.

scala and f# are both functional but they have radically different philosophies of language design

scala is "big" language, in the sense that c++ is a big language. they jammed everything in there. every feature that was even vaguely conceivable on the jvm is mashed into scala's design, somewhere.

as with c++, you should not try to use all the features.

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
fyi if you haven't looked into it, kotlin is a really good jvm language with top-notch java interop.

its a really cool language and i hope it continues to take off

HoboMan
Nov 4, 2010

code:
def job = job1.setNumber(jobNum) job1.setStatus(JobStatus.NOT_STARTED);
setNumber is void and setStatus returns an object

?

???

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

HoboMan posted:

code:
def job = job1.setNumber(jobNum) job1.setStatus(JobStatus.NOT_STARTED);
setNumber is void and setStatus returns an object

?

???

language features like this are so loving stupid and the only places i ever see them used is in really bad phd code.

nothing says "i have a phd and my entire career has been in acadademia" like x1, x2, i1, i2, y3, z5 = doAthing() andDoThis() + zz1

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
"what is variable scope?" - a person with a phd in computer science

HoboMan
Nov 4, 2010

so can this be sanely written as
Java code:
job1.setNumber(jobNum);
Job job = job1.setStatus(JobStatus.NOT_STARTED);
?

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

cinci zoo sniper posted:

same, i had to generate ssh key for them when they joined, much like painstakingly explain basics of git and gitlab, what cron is, and a number of other things any server-side focused it professional should be ashamed to have never heard about in 2018. also, a torrent of clueless questions like "cant we disable this ssh thing" or "can i check if vcs refresh operation in this cron worked via ftp" or "are all our servers linux? why dont we use windows? could i get a windows server?"

my favourite part probably was "i think this stupid ssh think is broken, do we really need to use it" *points at puttygen window with instructions in plain text stating that mouse cursor should be moved inside window to provide rng for the generator*

you should really really try hard to see if you can convince someone with the authority to fire them, if you could fire them

AWWNAW
Dec 30, 2008

Convoolio posted:

Trip report:
docker + kubernetes + helm: extremely good

agree but curious how/why you’re using helm

redleader
Aug 18, 2005

Engage according to operational parameters
how much of ctci does a terrible, useless, gormless idiot need to be able to get through to get jobs

Mao Zedong Thot
Oct 16, 2008


Convoolio posted:

Trip report:
docker + kubernetes + helm: extremely good

except for helm, its bad

cinci zoo sniper
Mar 15, 2013




bob dobbs is dead posted:

you should really really try hard to see if you can convince someone with the authority to fire them, if you could fire them

that's 100% impossible, and maybe not even necessary, but ill need to be taking up with boss that there are decision he should be let to make, and that normal functioning.will require a dedicated person for tech support initially, i can't pull half-time it support duties on top of my already slightly overloaded schedule as is

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?

cinci zoo sniper posted:

that's 100% impossible, and maybe not even necessary, but ill need to be taking up with boss that there are decision he should be let to make, and that normal functioning.will require a dedicated person for tech support initially, i can't pull half-time it support duties on top of my already slightly overloaded schedule as is

you’re running rapidly towards a tech lead title or equivalent, be sure to get the figgies to go with it

cinci zoo sniper
Mar 15, 2013




eschaton posted:

you’re running rapidly towards a tech lead title or equivalent, be sure to get the figgies to go with it

i got a "lead" title recently, but will give it until summer to.change figgies or change employer. preferably the former, since im doing well but lack much of a paper trail to convince a random recruiter to.give me a shot

Convoolio
Oct 31, 2005

AWWNAW posted:

agree but curious how/why you’re using helm

managing differences in dev/production configs, programmatically generating container specs, generating lists of environment variables within the containers
it takes a bit of thinking but I don't know of anything else that can do the same, as well

pangstrom
Jan 25, 2003

Wedge Regret
It's not better in EVERY way and this is a generalization, but if you're a competent but green person then landing somewhere with a bunch of incompetent people is the dream first gig.

cinci zoo sniper
Mar 15, 2013




pangstrom posted:

It's not better in EVERY way and this is a generalization, but if you're a competent but green person then landing somewhere with a bunch of incompetent people is the dream first gig.

while i dont think im all that competent either, its definitely an interesting gig, and looks nice on paper and in bank account. my major dislikes are hectic/unstructured everything and lack of people to discuss with or learn from the technical stuf other than sql (or php, but its not relevant to my job)

pangstrom
Jan 25, 2003

Wedge Regret
You are definitely more competent than most but agree, that's the main downside. But you get a chance to own/build/change things yourself and to skip a paygrade or three if you can stay on decent terms with people. Also, I'm only (incompetent) developer-adjacent, this is just something I've seen happen a few times and maybe it's not representative.

cinci zoo sniper
Mar 15, 2013




pangstrom posted:

You are definitely more competent than most but agree, that's the main downside. But you get a chance to own/build/change things yourself and to skip a paygrade or three if you can stay on decent terms with people. Also, I'm only (incompetent) developer-adjacent, this is just something I've seen happen a few times and maybe it's not representative.

not sure its representative, but thats more or less what happened. i skipped 3 titles and two paygrades - will be negotiating third one to bridge it to the latvian "6 figgies" equivalent after i finally get a major project done. with our "startup style" everything ive managed to do basically nothing related to my primary job description in the 6 months that i've worked here.

but yeah freedom to define things however and do whatever is really nice, im not sure i comprehend well how i would feel/do in an environment where im just told "here, hack this like that"

tef
May 30, 2004

-> some l-system crap ->

pangstrom posted:

It's not better in EVERY way and this is a generalization, but if you're a competent but green person then landing somewhere with a bunch of incompetent people is the dream first gig.

https://thedailywtf.com/articles/The-Difference-Between-Better-and-Less-Bad

tef
May 30, 2004

-> some l-system crap ->
The awful thing about getting it right the first time is that nobody realizes how hard it was.

cinci zoo sniper
Mar 15, 2013





:eyepop: somewhat relatable yea. for an example from my job, before our local team was hired my employer was unable to identify which services our customers paid for. to do that, you would have to do an sql query on a number of tables all together storing the information on payments, and then filter it on an unindexed datetime field to match against a separate set of tables with unindexed datetimes that store the information on services provided.

you ask what happens if a customer ordered two services with a single order, or two services relatively close enough? tough poo poo sherlock, they have a generous window to pay down their outstanding balance after the fact of order.

what about 3 50 dollar invoices and a 127 dollar payment? let's ask our resident astrologist

cinci zoo sniper
Mar 15, 2013




have i mentioned tables with no primary keys or tables where field names are reserved keywords?

AWWNAW
Dec 30, 2008

people at my company like using Postgres like mongo. filled with lovely JSON

currently working on a query with multiple joins against keys in JSONB fields

some of these people have decades of experience!

cinci zoo sniper
Mar 15, 2013




AWWNAW posted:

people at my company like using Postgres like mongo. filled with lovely JSON

currently working on a query with multiple joins against keys in JSONB fields

some of these people have decades of experience!

we kidna do this too, but in json not jsonb, and it's an external data vendor stuff. there are some inhouse jsons, but they are tiny on average and barely used for anything.

optimally would have it all at least in jsonb i guess, but so far im just happy it is stored as is, and not in mongo.

gently caress, im starting to remember our xml storage in mongo

cinci zoo sniper
Mar 15, 2013




c tp s: one of our business divisions has a new manager who, on their first they of office, did propose that we discard raw data and store only parsed inputs :suicide: they have yet to even talk to anyone here

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

AWWNAW posted:

people at my company like using Postgres like mongo. filled with lovely JSON

currently working on a query with multiple joins against keys in JSONB fields

some of these people have decades of experience!

currently working towards this model because we're on mongo and desperately want to get away and the only way to do it iteratively is to start dumping poo poo into jsonb columns and gradually expand into a normalized database.

there's just no other way around it.

but lol i just wrote all the library code to support it i'm not gonna do the actual lovely work because i put in my notice.

Sapozhnik
Jan 2, 2005

Nap Ghost

MALE SHOEGAZE posted:

currently working towards this model because we're on mongo and desperately want to get away and the only way to do it iteratively is to start dumping poo poo into jsonb columns and gradually expand into a normalized database.

there's just no other way around it.

but lol i just wrote all the library code to support it i'm not gonna do the actual lovely work because i put in my notice.

:toot: congrats

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

thanks. by all accounts, new place has their head screwed on straight. i've really really enjoyed talking to the CTO/people I interviewed with, and I have a friend who I trust that works there currently and says lots of good things.

cons: One of the things i like about my current job is the people. I'm actually going to miss socializing with coworkers. that feels like a big loss, especially for an anti social nerd.

cinci zoo sniper
Mar 15, 2013




MALE SHOEGAZE posted:

currently working towards this model because we're on mongo and desperately want to get away and the only way to do it iteratively is to start dumping poo poo into jsonb columns and gradually expand into a normalized database.

there's just no other way around it.

but lol i just wrote all the library code to support it i'm not gonna do the actual lovely work because i put in my notice.

congrats, but also what would be your long term arch in that case?

raw data in some corner and then parse it out into more and more branching structure in separate tables?

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

cinci zoo sniper posted:

have i mentioned tables with no primary keys or tables where field names are reserved keywords?

reserved keywords are annoying but shouldn't be a real problem. if you forget your square brackets you'll just get a syntax error, and it's easier to always use the brackets everywhere

no pkeys on the other side is a true horror, but you should be able to fix it in like half an hour

cinci zoo sniper
Mar 15, 2013




NihilCredo posted:

reserved keywords are annoying but shouldn't be a real problem. if you forget your square brackets you'll just get a syntax error, and it's easier to always use the brackets everywhere

no pkeys on the other side is a true horror, but you should be able to fix it in like half an hour

reserved keywords are not a problem for "normal" sql queries, but our recently hired etl dude uses some pentaho tool afaik and he's been cursing about that a plenty so maybe it has some issues there or something?

as for pkeys, im not sure what would a fix entail. i have yet to knowingly come across one of those tables, thankfully. our usual catch22 for this kind of issues like no pkey or double indices or no relevant indices or other stuff like that is lack of dedicated database people. so i come up and say like "yo we have this 1 billion row table that is not partitioned and doesnt have datetime indexes, and we need to filter by datetime column" and whichever web developer the it project managers did assign this to just kind-of shrugs and says "is big table. no do. other option?"

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

cinci zoo sniper posted:

reserved keywords are not a problem for "normal" sql queries, but our recently hired etl dude uses some pentaho tool afaik and he's been cursing about that a plenty so maybe it has some issues there or something?

i've never encountered a serious tool that autogenerated sql and didn't properly escape object names. pentaho is supposed to be a serious tool, so if it chokes on a poorly-chosen but legal column name i'd straight up open a ticket.

quote:

as for pkeys, im not sure what would a fix entail

1) alter table butts add primary key (buttID)

2) did it work? if yes, great, you're done. if no, you need to extract the unique values

3) select buttId, max(buttSize) into butts_unique from butts group by buttId. replace max() with whatever grouping function is more appropriate for each column

4) alter table butts_unique add primary key (buttId)

5) drop table butts. alter table butts_unique rename to butts. (you may have to drop and recreate foreign keys, indexes etc. as well, but if you lack primary keys there won't be many of those too)

Sapozhnik
Jan 2, 2005

Nap Ghost
this is mssql, right?

if you have a time series table then make a clustered index on the timestamp column. what are the access patterns like though? does that row and its timestamp get updated at all? do you need to audit modifications? if you have a literally 1 billion row table and you need to be able to select ranges of timestamps out of it then that table definitely needs to be partitioned, though managing partitioned tables is never anything less than a complete management nightmare so hf with that i guess.

need to add a primary key?

alter table crazybullshit add column id uniqueidentifier primary key default newid() not null;

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006
use newsequentialid or w/e

  • Locked thread