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
pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

VikingofRock posted:

Why do OSX/macOS updates always seem to break stuff? I usually wait a couple months before updating so that downstream people have time to make their stuff work again with whatever the newest update is. From what I can tell it's usually linker issues breaking things.

my armchair diagnosis is that apple tries very hard for back compat in the specific and is much happier to break in the general. so you'll get a runtime check in framework code that preserves dumb behaviour only when loaded in a certain version of the blizzard installer to keep your warcraft 3 experience intact a decade after release, but kernel extensions completely change in version x and you either adapt or stop caring

also i guess that iOS is a little easier to manage because e.g. third-party kernel extensions aren't really a thing (ok jailbreak but who cares), and i also guess that iOS brokenness ends up higher priority than macOS?

I am fully prepared to be told to eat poo poo by anyone who sits between my armchair and cupertino. this is how I currently reconcile the facts that 1) apple puts a lot of effort into back compat and 2) my poo poo keeps breaking

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

VikingofRock posted:

Why do OSX/macOS updates always seem to break stuff? I usually wait a couple months before updating so that downstream people have time to make their stuff work again with whatever the newest update is. From what I can tell it's usually linker issues breaking things.

because they don't give a poo poo about software or poo poo working

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

pokeyman posted:

my armchair diagnosis is that apple tries very hard for back compat in the specific and is much happier to break in the general. so you'll get a runtime check in framework code that preserves dumb behaviour only when loaded in a certain version of the blizzard installer to keep your warcraft 3 experience intact a decade after release, but kernel extensions completely change in version x and you either adapt or stop caring

also i guess that iOS is a little easier to manage because e.g. third-party kernel extensions aren't really a thing (ok jailbreak but who cares), and i also guess that iOS brokenness ends up higher priority than macOS?

I am fully prepared to be told to eat poo poo by anyone who sits between my armchair and cupertino. this is how I currently reconcile the facts that 1) apple puts a lot of effort into back compat and 2) my poo poo keeps breaking

this is pretty much correct. a lot of the checks aren't necessarily app-specific, but they're tied to existing binaries in a way such that if you rebuild with new tools or a new sdk then the workarounds turn off and you need to fix your poo poo

Shaggar
Apr 26, 2006

pokeyman posted:

my armchair diagnosis is that apple tries very hard for back compat in the specific and is much happier to break in the general. so you'll get a runtime check in framework code that preserves dumb behaviour only when loaded in a certain version of the blizzard installer to keep your warcraft 3 experience intact a decade after release, but kernel extensions completely change in version x and you either adapt or stop caring

also i guess that iOS is a little easier to manage because e.g. third-party kernel extensions aren't really a thing (ok jailbreak but who cares), and i also guess that iOS brokenness ends up higher priority than macOS?

I am fully prepared to be told to eat poo poo by anyone who sits between my armchair and cupertino. this is how I currently reconcile the facts that 1) apple puts a lot of effort into back compat and 2) my poo poo keeps breaking

apple doesn't put any effort into backwards compat.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

pokeyman posted:

legit the only thing keeping me from upgrading at work

aside from the total lack of compelling reason to upgrade ofc

I accidentally forgot to not upgrade then finally bothered to rewrite my keyboard's layout which I had been meaning to do anyway. :shrug:

still a pretty stressful situation for the keyboard to not do what you want/expect it to. would not recommend it. keyboard works on my iPad now though which is cool because I think my iPad is more powerful than my Mac :negative:

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?

VikingofRock posted:

Why do OSX/macOS updates always seem to break stuff? I usually wait a couple months before updating so that downstream people have time to make their stuff work again with whatever the newest update is. From what I can tell it's usually linker issues breaking things.

generally the only stuff that breaks doesn't use public API according to the documentation

even then, most developers of hacks that take advantage of system internals still start working with the prerelease builds several months in advance so that they have updated versions available by release

about the only group that seems to consistently (1) wait until release to even try their apps and (2) rely on internals (or implementation details, or timings) are the developers of audio tools

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?

Shaggar posted:

because they don't give a poo poo about software or poo poo working

go gently caress yourself

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?

pokeyman posted:

I am fully prepared to be told to eat poo poo by anyone who sits between my armchair and cupertino. this is how I currently reconcile the facts that 1) apple puts a lot of effort into back compat and 2) my poo poo keeps breaking

what kind of stuff are you doing that breaks?

Xarn
Jun 26, 2015

raminasi posted:

i read this post and assumed it was some consequence of perl's coercion rules but no it's special-cased in the interpreter and i have no idea how to deal with that

How is it that every time I delve into Perl, I find something even more terrible than the last thing that scared me off? :v:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

eschaton posted:

what kind of stuff are you doing that breaks?

my keyboard literally stopped working and I had to use a different one
that one also didn't work as expected at first so I had to remap the keys on its controller

this was incredibly frustrating and I still can't figure out why Apple assed to rewrite their keyboard handling stuff for no good reason and ruin my workflow and make me unable to use my favorite keyboard on their latest revision

Apple very clearly does not care about not breaking things for their users. I'm not saying that this is the best goal for an OS provider shaggar probably would. I still regret updating my work laptop though and would downgrade immediately if I wouldn't need to wipe the machine and have IT reimage it and burn like a week waiting for them to do that. I will not be updating my home machine because nothing I care about works in the new OS revision.

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news

leper khan posted:

this was incredibly frustrating and I still can't figure out why Apple assed to rewrite their keyboard handling stuff for no good reason and ruin my workflow and make me unable to use my favorite keyboard on their latest revision

Apple very clearly does not care about not breaking things for their users.

I still regret updating my work laptop though

hahahah :qq::qq::qq:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

yeah, pretty much
gently caress Apple though :qq:

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news
what kinda hosed up keyboard ar eyou usin tho

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Mr SuperAwesome posted:

what kinda hosed up keyboard ar eyou usin tho

this one stopped working; keys not typically found on us keyboards don't register so the .keyboardlayout doesn't work anymore
http://www.personal-media.co.jp/utronkb/index.html

and I have a programmable controller for this one so was able to work around the problem..


:smith:

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

pgroce posted:

is that reliable? what if the string is "0 but I'm really a string"? javascript, at long last, have you no decency?

your browser has a javascript console, you can try these things there
that said
code:
>"123" - 0
123
>typeof("123" - 0)
"number"

>Number("123")
123
>typeof(Number("123"))
"number"

>+"123"
123
>typeof(+"123")
"number"

>"0 but i'm really a string" - 0
NaN
>+"0 but i'm really a string"
NaN
>Number("0 but i'm really a string")
NaN
>typeof("0 but i'm really a string" - 0)
"number"
so yes, all those tricks produce a result whose type is number. the number might be a NaN

pgroce
Oct 24, 2002

Wheany posted:

your browser has a javascript console, you can try these things there
that said
code:

>"123" - 0
123
>typeof("123" - 0)
"number"

>Number("123")
123
>typeof(Number("123"))
"number"

>+"123"
123
>typeof(+"123")
"number"

>"0 but i'm really a string" - 0
NaN
>+"0 but i'm really a string"
NaN
>Number("0 but i'm really a string")
NaN
>typeof("0 but i'm really a string" - 0)
"number"

so yes, all those tricks produce a result whose type is number. the number might be a NaN

yeah, I was phone posting, and also just reacting to how seat-of-the-pants that idiom is. "hey brendan, thanks for designing this language over the weekend, just bill me for the coke. btw, I'm trying to coerce a numeric string into an actual number, what's the method for that?" "oh, huh. didn't really write one. oh, but I have a bunch of implicit coercion in the arithmetic operators, just do some no-op math on the string."

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

pgroce posted:

yeah, I was phone posting, and also just reacting to how seat-of-the-pants that idiom is. "hey brendan, thanks for designing this language over the weekend, just bill me for the coke. btw, I'm trying to coerce a numeric string into an actual number, what's the method for that?" "oh, huh. didn't really write one. oh, but I have a bunch of implicit coercion in the arithmetic operators, just do some no-op math on the string."

Number("123")

comedyblissoption
Mar 15, 2006

we could have much worse fates than javascript so i wouldnt give brendan too hard of a time

i consider it amazing that being able to pass a function into a function was accepted considering they wanted the java branding and marketing to javalords

comedyblissoption fucked around with this message at 13:05 on Oct 25, 2016

HoboMan
Nov 4, 2010

JavaScript code:
parseInt(010) === 8 // true
parseInt('010') === 10  // true

Jerry Bindle
May 16, 2003
some shitlorde dropped off a flyer at my door, "Coding for Kids! Javascript!"

we're going to have a generation of programmers that accept ridiculous nonsensical semantics as a matter of course :(

Bloody
Mar 3, 2013

comedyblissoption posted:

we could have much worse fates than javascript so i wouldnt give brendan too hard of a time

i consider it amazing that being able to pass a function into a function was accepted considering they wanted the java branding and marketing to javalords

how? literally what even vaguely accepted language is more hosed up? ancient versions of php?

HoboMan
Nov 4, 2010

does Ruby count as vaguely accepted?

Sapozhnik
Jan 2, 2005

Nap Ghost
php is profoundly more hosed than js

javascript's badness mostly comes from its weak typing, but php is so much worse than merely being a weakly typed language.

Shaggar
Apr 26, 2006

eschaton posted:

go gently caress yourself

one time they broke dns for like a year and their solution was "don't use .local for internal domains"

They're idiot clowns who have no idea what they're doing.

qntm
Jun 17, 2009

HoboMan posted:

JavaScript code:
parseInt(010) === 8 // true
parseInt('010') === 10  // true

never use octal literals, don't use parseInt on a number, never parseInt without supplying an explicit base, turn your linter on

Bloody
Mar 3, 2013

octal literals are such an easy way to write subtly broken code

Progressive JPEG
Feb 19, 2003

Show them my O base

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

Barnyard Protein posted:

some shitlorde dropped off a flyer at my door, "Coding for Kids! Javascript!"

we're going to have a generation of programmers that accept ridiculous nonsensical semantics as a matter of course :(

um based on this legacy C# and VB I've had to deal with I'd say that generation is already here

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
today's adventure in the Fight for Best Practices involves trying to explain to someone that their bizarre attempt to implement roll-your-own connection management (via request counting and forcing connection closure every 200 requests) is stupid when connection pooling is a thing in ADO.NET

JawnV6
Jul 4, 2004

So hot ...

Deep Dish Fuckfest posted:

how does that even happen?

i can understand only knowing assembly for some microcontroller that has 30 instructions total and no decent compiler at a decent price, but how do you end up knowing only x86 asm :psyduck:
the guy was a test engineer at intel

some of the worst code i've ever seen came from RTL designers who wanted to automate something. i used to smirk at folks who were so close to the core of computation but had no understanding of the layers in between, now I'm stymied by cloud products that have spooky cross-system effects so

Soricidus
Oct 21, 2010
freedom-hating statist shill

Barnyard Protein posted:

some shitlorde dropped off a flyer at my door, "Coding for Kids! Javascript!"

we're going to have a generation of programmers that accept ridiculous nonsensical semantics as a matter of course :(

dude a lot of people my age learned to program in some kind of 8-bit basic. single-letter variable names, whitespace between tokens optional and normally omitted to save precious bytes, line numbers and goto/gosub as the primary control flow mechanism.

the generation after us learned with visual basic. on error resume next. on error resume loving next.

now we're all doing just fine in java or c# or python or haskell or w/e. dijkstra was wrong and everything is gonna be all right.

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Shaggar posted:

one time they broke dns for like a year and their solution was "don't use .local for internal domains"

They're idiot clowns who have no idea what they're doing.

we almost got burned by this: https://forums.developer.apple.com/thread/11807

in one of the ios 9 betas the api to determine which wi-fi network the phone is currently connected to (and which had been present in ios for a long time) suddenly disappeared without any real alternate solution and stayed that way for a couple beta versions while us and everyone else was complaining it broke our apps and apple didnt really let anyone know if it was permanently gone and our apps were just screwed or if it was an experiment or whatever. the api was eventually restored (in the general release to the public lol, we never even got a beta version or confirmation that it would be restored) but it could possibly have just broken one of our products and it did cause us quite a bit of unnecessary stress

fart simpson fucked around with this message at 18:38 on Oct 25, 2016

Jerry Bindle
May 16, 2003

Soricidus posted:

dude a lot of people my age learned to program in some kind of 8-bit basic. single-letter variable names, whitespace between tokens optional and normally omitted to save precious bytes, line numbers and goto/gosub as the primary control flow mechanism.

the generation after us learned with visual basic. on error resume next. on error resume loving next.

now we're all doing just fine in java or c# or python or haskell or w/e. dijkstra was wrong and everything is gonna be all right.

i think you're right. my initial thought was about how frustrated, and discouraged, a kid might feel when presented with a plang like js before they gain enough competency to distinguish between failure caused by their own mistakes and misunderstandings vs. those caused by some deficit in the language or tooling. my weird conclusion didn't follow from that line of thinking tho!

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

Sapozhnik posted:

php is profoundly more hosed than js

javascript's badness mostly comes from its weak typing, but php is so much worse than merely being a weakly typed language.

As a former php dev, 100% agreed

Toady
Jan 12, 2009

VikingofRock posted:

Why do OSX/macOS updates always seem to break stuff? I usually wait a couple months before updating so that downstream people have time to make their stuff work again with whatever the newest update is. From what I can tell it's usually linker issues breaking things.

a large project i work on broke when compiling with the 10.12 sdk because we haven't modernized everything yet, and we were getting private constraints breaking for views that don't even use autolayout. amazingly, our private method usage and swizzling hasn't broken yet. it's an open source project, so people showed off how clever they could be years ago but didn't stick around to maintain it. when i see obj-c developers complain about less "freedom" in swift, i wonder if their apps are full of the same awesome demonstrations of cleverness

Shaggar
Apr 26, 2006

Soricidus posted:

dude a lot of people my age learned to program in some kind of 8-bit basic. single-letter variable names, whitespace between tokens optional and normally omitted to save precious bytes, line numbers and goto/gosub as the primary control flow mechanism.

the generation after us learned with visual basic. on error resume next. on error resume loving next.

now we're all doing just fine in java or c# or python or haskell or w/e. dijkstra was wrong and everything is gonna be all right.

vb was then and is now an infinitely better language than javascript

jesus WEP
Oct 17, 2004


vb is like if you want c# only with butt-ugly syntax so it really could be a whole lot worse

VikingofRock
Aug 24, 2008




HoboMan posted:

does Ruby count as vaguely accepted?

I kind of wanted to learn Ruby because it seemed sort of interesting, but then that desire completely evaporated when I saw the __END__ trick being used by a file to apply a diff to itself, instead of using, you know, actual flow control. At least I'm pretty sure that's what was going on. This was in a serious and well-known project, too.

__END__
Confession: I'm the one who submitted the code in question to the project. I had been participating in an issue for the project, the maintainers posted a patch (which contained the above __END__ trick), and asked if their patch fixed my issue. It did, so they asked if I wanted to submit the fix as a pull request. I thought that was kind of neat, so I did, but now I feel dirty.

Shaggar
Apr 26, 2006

St Evan Echoes posted:

vb is like if you want c# only with butt-ugly syntax so it really could be a whole lot worse

the syntax sucks but its still statically typed which makes it better than any p-lang

Adbot
ADBOT LOVES YOU

Soricidus
Oct 21, 2010
freedom-hating statist shill

Shaggar posted:

the syntax sucks but its still statically typed which makes it better than any p-lang

I thought classic vb had everything being variant by default (i.e. dynamically typed)? and it had a choice of loving on error resume next or on error goto for error handling. it was really really bad. delphi showed how to do the same rad stuff on top of an actually ok language, it's a shame vb had all the market share.

vb.net is probably fine since it's just another syntax on top of .net, but it's a totally different language from classic vb.

  • Locked thread