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
Doom Mathematic
Sep 2, 2008

Jabor posted:

30 seconds is too long imo, our incremental builds take about that long and it's long enough to break your flow.

ideally you'd be down in the single digits.

A webpack-dev-server-based incremental build will give you that. You hit save and the page immediately refreshes with the changes. I agree that 30 seconds is far too long to maintain workflow. When folks were throwing around figures of fifteen minutes I assumed we were talking about full-scale CI builds or something.

Adbot
ADBOT LOVES YOU

Doom Mathematic
Sep 2, 2008

NihilCredo posted:

case 2 means being able to say 'hey, we have objective evidence that the problem isn't on our side and it wasn't a case of miscommunication, it's *your* software that is not respecting the specs' which saves a crazy amount of time and therefore money

The problem is that just because a problem is objectively caused by someone else, doesn't mean that you're not the one who has to "fix" it.

H2Eau
Jun 2, 2010

Doom Mathematic posted:

A webpack-dev-server-based incremental build will give you that. You hit save and the page immediately refreshes with the changes. I agree that 30 seconds is far too long to maintain workflow. When folks were throwing around figures of fifteen minutes I assumed we were talking about full-scale CI builds or something.

Yeh I'm talking 30 seconds for a full CI build. Local incremental build is milliseconds

30 TO 50 FERAL HOG
Mar 2, 2005



prisoner of waffles posted:

attributes are guaranteed to have 0 or 1 cardinality and their order is insignificant tho

right but thats how it should be.

having an xml tree with multiple elements with the same name is loving stupid in all cases where you arent representing an array. and if youre representing an array, those elements should be isolated in a child element that denotes it's an array.

json does it better

NihilCredo
Jun 6, 2011

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

Doom Mathematic posted:

The problem is that just because a problem is objectively caused by someone else, doesn't mean that you're not the one who has to "fix" it.

No, but it often means you can bill the time spent fixing it.

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

no matter what you slap on top of json, you're going to have problems with things like this:

code:
{
  "foo": 4611686018427387904
}
json is trash

MrMoo
Sep 14, 2000

How many message containers do not have problems with integer overflow? If anything JS reads that as a floating point as so is perversely a little better.

mystes
May 31, 2006

Lol that was fast:

https://sqlite.org/codeofconduct.html?latest

qntm
Jun 17, 2009

CRIP EATIN BREAD posted:

no matter what you slap on top of json, you're going to have problems with things like this:

code:
{
  "foo": 4611686018427387904
}
json is trash

hey so if you're referring to the problem where a precise floating point number such as 4611686018427387904 will get serialised as '4611686018427388000', losing precision, I wrote a module which doesn't do that. if it's not useful or you were talking about something else then that's okay I just thought I'd throw that out there

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

qntm posted:

hey so if you're referring to the problem where a precise floating point number such as 4611686018427387904 will get serialised as '4611686018427388000', losing precision, I wrote a module which doesn't do that. if it's not useful or you were talking about something else then that's okay I just thought I'd throw that out there

the fact that you have to work around that means the standard is completely broken and useless.

there's no reason why in a serialized format, THAT IS ALREADY A PLAIN STRING should have to quote an integer to get around the fact that everything is a loving floating point number.

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

MrMoo posted:

How many message containers do not have problems with integer overflow? If anything JS reads that as a floating point as so is perversely a little better.

well, lets see, xml doesnt. also jesus christ interpreting a number value and losing precision is better than breaking? i guess if you aren't transferring anything useful and your a mouth breathing moron that would be ok.

json is broken trash for idiots.

qntm
Jun 17, 2009
is there a standard for XML serialisation?

pseudorandom name
May 6, 2007

yes

pseudorandom name
May 6, 2007

it’s called JSONx

akadajet
Sep 14, 2003


lol

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
old code of conduct was better

akadajet
Sep 14, 2003

json: works almost all of the time for web apis and is nice to read
xml: it's lovely, but will do more than json

redleader
Aug 18, 2005

Engage according to operational parameters
im glad templedb has settled on a reasonable coc

ComradeCosmobot
Dec 4, 2004

USPOL July

akadajet posted:

xml: it's lovely, but will do more than json

also it has a schema language that can be used to enforce syntactic correctness of esoteric things JSON didn’t feel the need to standardize like timestamps

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

ComradeCosmobot posted:

also it has a schema language that can be used to enforce syntactic correctness of esoteric things JSON didn’t feel the need to standardize like timestamps

tbh idk if i want my serialization format to be so opinionated as to stipulate a timestamp format

so i just do what everyone else does and pray that dates are iso-8601 or seconds since the epoch and if not :fuckoff:

mystes
May 31, 2006

God forbid that your serialization format stipulate (or even just allow you to stipulate) how things are serialized.

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
if you want a more expressive type system for your serialization format, just use protobufs. of course, it's not as portable, but that's the price you pay for complexity. in both xml and json you soon land in having to serialize almost everything as a string anyway.

brap
Aug 23, 2004

Grimey Drawer
if the date format you're using in json can't be found on this page then welp

cinci zoo sniper
Mar 15, 2013




brap posted:

if the date format you're using in json can't be found on this page then welp

2018. gada 27. oktobris

Sapozhnik
Jan 2, 2005

Nap Ghost

TheFluff posted:

if you want a more expressive type system for your serialization format, just use protobufs. of course, it's not as portable, but that's the price you pay for complexity. in both xml and json you soon land in having to serialize almost everything as a string anyway.

how aren't protobufs portable

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

Sapozhnik posted:

how aren't protobufs portable

Well, if you're not using one of the dozens or so languages that have protobuf libraries then it isn't very portable, is it?

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Finster Dexter posted:

Well, if you're not using one of the dozens or so languages that have protobuf libraries then it isn't very portable, is it?

probably faster to implement it on your platform than chase infinite serialization bugs

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

jit bull transpile posted:

probably faster to implement it on your platform than chase infinite serialization bugs

yeah, that's fair

TwoDice
Feb 11, 2005
Not one, two.
Grimey Drawer
what language _doesn't_ have a protobuf binding in tyool 2018?

toiletbrush
May 17, 2010

qntm posted:

hey so if you're referring to the problem where a precise floating point number such as 4611686018427387904 will get serialised as '4611686018427388000', losing precision, I wrote a module which doesn't do that. if it's not useful or you were talking about something else then that's okay I just thought I'd throw that out there
I don't know if it's still the case, but the commonly suggested JSON library for .NET used to spot 'date like' strings in JSON requests and reformat them into it's own format, even if the field being deserialised is a string, making validation that a date was provided in a certain format a massive pain in the rear end/impossible. The author still insists this is the correct behaviour.

Ellie Crabcakes
Feb 1, 2008

Stop emailing my boyfriend Gay Crungus

TwoDice posted:

what language _doesn't_ have a protobuf binding in tyool 2018?
Srsly. Perl has at least one protobuf implementation.

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

Peeny Cheez posted:

Srsly. Perl has at least one protobuf implementation.

it would be really weird if it hadn't to be honest, that's a totally perl thing to have an implementation of everything

Doom Mathematic
Sep 2, 2008
Perl probably just has an implementation of some other programming language which has an implementation of protobufs.

AggressivelyStupid
Jan 9, 2012

toiletbrush posted:

I don't know if it's still the case, but the commonly suggested JSON library for .NET used to spot 'date like' strings in JSON requests and reformat them into it's own format, even if the field being deserialised is a string, making validation that a date was provided in a certain format a massive pain in the rear end/impossible. The author still insists this is the correct behaviour.

god drat what the gently caress

Volte
Oct 4, 2004

woosh woosh

AggressivelyStupid posted:

god drat what the gently caress
https://github.com/JamesNK/Newtonsoft.Json/issues/862

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
lol gently caress newtonsoft.json, it was one of my constant headaches from my C# days

Volte
Oct 4, 2004

woosh woosh
my favourite issue came from not even using newtonsoft.json but a lovely object database that apparently used it internally, because if you tried to retrieve a serialized Dictionary<string, object>, any nested objects would be returned as Newtonsoft.JObjects instead of dictionaries.

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
even if I had no context of this discussion, seeing Newtonsoft.Json I could tell immediately it was a library targeted at a microsoft language

Shaggar
Apr 26, 2006
the date sniffing in newtonsoft json only happens if you are using dynamic typing and have date sniffing on. you should not be using dynamic typing so it will never be an issue.

Adbot
ADBOT LOVES YOU

brap
Aug 23, 2004

Grimey Drawer
microsoft needs to do a hostile takeover of newtonsoft.json, fix the bullshit and release it as System.Json in netstandard2.1 or whatever the gently caress so that library authors never have to (??) deal with a dependency conflict related to it ever, ever, ever again

java has a similar problem where the popular json library (jackson) ships mutually incompatible breaking changes in minor releases and every library takes a dependency on it so inevitably as a consumer you have to do trial and error to pin the jackson version to something mutually compatible yourself in your project.

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