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

That elephant ate my entire platoon.
zuh steed

Adbot
ADBOT LOVES YOU

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
well that one time there was a bug in binary search so you see

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Powerful Two-Hander posted:

p.s. the auditors are still confused about how code deployments work and why a screenshot is not evidence that the same code is in all environments

send them a video of you web inspectoring a tweet to say something else and then taking a screenshot

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
could be one of the "gl hf" parts of the json spec, like duplicate keys in an object

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

cinci zoo sniper posted:

code:
{
	"foo": 291,
	"foo_comment": "foo is an integer field with zip code"
}

six months later

"did someone change the foo comment field? downstream was scraping it for type information. we need to revert"

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
real pros use win1252 so every byte is mapped (ish)

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
there's a good ios image fetch transform cache display library called nuke

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
efficient persistent async loading processor pipeline

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
sounds like it's xlst time!

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
reminds me of apple's c stdlib shelling out to perl for something

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
idk if that's a great example as the comparison to nullptr is redundant

though I learned the hard way that if you do provide a condition, you have to check for falsey yourself. which I guess makes sense when you see how it's specified but also gently caress c++

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
I was surprised when apple added a swiftui chart library, but this discussion plus some unearthed memories is making it seem exceptionally reasonable

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Soricidus posted:

I’ve been writing php again and holy poo poo how does this language manage to be so bad, it’s actually impressive

latest joy is unpack(), which is basically the same as struct.unpack in python, except that obviously it returns a 1-indexed array in a language where arrays are 0-indexed. why? gently caress knows.

something like this is on like every third manual page in php, assuming you need to look up every single function (like I do) (because there's zero consistency so intuition is impossible)

sometimes it's a pleasant surprise. last time I touched php I wanted to iterate through a couple arrays at the same time. the massive hierarchy of "iterator" classes were a dead end, but turns out every "array" has its own "current index", which was very convenient!

Share Bear posted:

maybe more of a confessions thing but i honestly dont know why oop took over as the dominant programming paradigm,

i find it very confusing generally versus procedural or functional code

i also have written java professionally

I think the plan was for artisanal worksmiths to handcraft libraries of objects (not "code", objects) for you to build upon. idgi but it sounds nice

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

cinci zoo sniper posted:

auto reject on formatting errors, but reject on linting errors is a topic for 2024

what's the difference? or is this a language "without a compiler" so you're using a linter

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

susan b buffering posted:

the op is using python op

oops I missed that :tipshat:

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Its a Rolex posted:

i also set up some CI that managed dependency versioning, and nobody wants to use it because they don't like that PRs are opened by a bot which tell them to set compatibility bounds. every other week i am putting out a fire where a public package releases a breaking change, and the 0 compatibility bounds in place mean that breaking release gets included automatically in builds and breaks an environment (most recently this made its way to prod)

I hate this poo poo too. your "compatibility bounds" don't mean anything (unless you're writing elm)

pin exact or nothing

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
"semantic" "versioning" is for suckers

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

cinci zoo sniper posted:

serious question: what's the case against semantic versioning? any big brain blog posts (medium brain is fine too) i'll also appreciate, if there are such

unless it's enforced by tooling (e.g. elm) it's entirely up to the whims of the maintainer. "oops should've bumped major, not minor, sorry"

and even if you do it right for public api, there's all kinds of implementation details you can change without changing the "public api" that nonetheless fucks with library users. there's the usual dumb poo poo like scraping error messages that you could blame on the caller holding it wrong. but esoteric poo poo like "now we round down instead of up" is probably not gonna be thought of as public api

it's probably good for maintainers to think about the changes they're making and how to describe them to library users. but unless you trust all 1-50000 (depending on ecosystem) maintainers you welcome into your project, and they never make a mistake, you're better off pinning exact versions

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
I mean, I tend to specify a version range of "up to next major" and use a lockfile to avoid surprise bumps, which sounds like what you're doing? and I don't have a ton of transitive dependencies to worry about, so there's a small enough set of libraries involved that when I wanna bump something that I can glance over their changelogs first. it's not perfect, and would be much more difficult in node or wherever to keep up with all that. and I still miss things that weren't in the changelog

but I draw the line at having a bot automatically bumping things

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Armitag3 posted:

Thats throwing the baby out with the bathwater imo, I want security fixes and minor performance improvements to my deps without having to janitor for it. If someone fucks up versioning it’s infrequent enough of a headache that I can deal with it and roll back

then use elm

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
I am 80% joking about elm. I do like how its package manager rejects library updates that break/add public api without a major/minor version bump. only solves the "broke the build" problem though, not the rest of it

and yeah I consider it a feature that giving myself more work to janitor dependencies means I am less inclined to depend on things

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
for awhile I had a checked-in custom dictionary for android studio spellcheck but it seems to have stopped working at some point :(

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
one of the nerds at language log reposts a webcomic like once a fortnight when it has something to do with linguistics. xkcd comes up like every tenth such post, and they include the alt text so I don't even have to remember to check that. it's about the right level of exposure for me

still listen to weezer once in a while too!

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
if you think about it, = is the ultimate "I really really mean it" equality operator

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

cool av posted:

changed a string constant. now to fix 8 tests that all check that that constant equals to a second copy of the constant, defined in the test.

all in a day's work.

joke's on you, thanks to string interning it's not even a copy

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
last time I touched mysql I couldn’t figure out how to atomically create things (tables, indexes) because create statements seemingly weren't rolled back on transaction failure/rollback. did I miss something or is that how it is?

(the recent discussion reminded me of this, but I'm not trying to enter the discussion, just curious about mysql)

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
it's also nice for grouping bytes in binary literals

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

FlapYoJacks posted:

Rust is the best-compiled language out there.

is this like when the oscar for editing goes to the film not with "the best editing" but to "the most editing"

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
oh great now there's a ninth python package manager I gotta learn

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
if you think about it,

1. look up the one true officially blessed python package tool
2. see there still isn't one and pick whatever seems plausible for your use case

is technically one, and only one, way to do python packaging

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
oh sorry, by "officially blessed python package tool" I meant "tool that performs the expected functions of a package manager, such as 'resolve dependencies', and is labelled as the one true such tool on python.org". I see how that could be conflated with "tool labelled on python.org as the one true package manager but won't actually do expected functions of a package manager, such as 'resolve dependencies'"

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

CPColin posted:

Long ago at Experts Exchange, somebody realized that bulk inserts and updates were making some thing called the "materialized view log" get really big and solved the problem by truncating said log after every few thousand rows. This became standard operating procedure and continued well after that guy quit. Smash cut to our newly hired DBA years later looking at our materialized views and going "what in the absolute gently caress".

lmao

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
odd that the thread called "terrible programming" is sometimes down on the concept as a whole

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

CPColin posted:

The only python I like is the one in my pants

that's biting my penis

there should be one, and preferably only one, way to do it

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

gnatalie posted:

thinking of converting a json rest api to grpc cuz it needs to send out a bunch of data to hundreds/thousands of devices with extremely spotty internet connections.

am I the terrible programmer?

what does grpc give you that you can't do with json over http?

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
and if you still want it, you could put protobuf in your http response instead of rewriting everything

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
love to use undocumented implementation details for my secure randomness

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
if they don't want the docs, edit your issue op to contain the docs you wrote. then it'll show up in searches and share most of the repo url, so other people can still find it

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
0 days since I last thought "figma balls"

Adbot
ADBOT LOVES YOU

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
that’s not a compiler warning? yeesh

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