WTF Bites
-
@Tsaukpaetra said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
But for UDP and sockets
That's the bizarre part for me. Once the UDP socket is "opened" it shouldn't be "re connecting" (things that don't make sense in UDP world), the socket connection itself maintains the state and IP address it's apparently connecting to.
Unless you're tearing down the object and recreating the socket for each packet....?
I'm not sure. All I know is what I observed, that each part of the login flow was getting a different IP that cycled between the 3 LB IPs.
I'll admit, the whole library we're using for this is a totally janky mess we inherited from our "R&D" partner. And since it's not the one we use for 99% of our workflows (ie actual clients, which are using variants in other languages since they're native to embedded systems, android and apple respectively), we don't do as much heavy validation on its behaviors.
-
@Tsaukpaetra said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
But for UDP and sockets
That's the bizarre part for me. Once the UDP socket is "opened" it shouldn't be "re connecting" (things that don't make sense in UDP world), the socket connection itself maintains the state and IP address it's apparently connecting to.
Unless you're tearing down the object and recreating the socket for each packet....?
With UDP, it's optional whether you
bind()
the socket; if you do, you userecv()
andsend()
for messages, and if you don't, you userecvfrom()
andsendto()
. But re-resolving the name for each message...
-
@HardwareGeek said in WTF Bites:
Atlassian ... major PITA ... Jira
Enough said.
Yeah, "works fine" is obviously to be read in context, too.
-
@Benjamin-Hall said in WTF Bites:
On linux, the default DNS resolution in NodeJS is to do the lookup each and every time a connection attempt is made. Which makes some sense--that's why load balancers exist. But for UDP and sockets, this makes for bad things--it will always get a different IP for each part of the connection.
I doubt the system isn't caching it. Instead what it is doing is that it rotates the IP addresses on its side too. Because the name server doesn't send one of them randomly, it sends all of them in random order.
@Benjamin-Hall said in WTF Bites:
And no, there's no toggle. You have to manually do the lookup and force the connection to use the same IP (basically override the DNS name and do the connection to a specific IP, resolved once manually before you start the socket.
That's how you are supposed to do it. And how the low level (system call) interface always works. A socket is bound to an address, not a name, connected to an address, not a name, and if you use sendto/recvfrom instead of connecting, they take address, not a name. Resolving the name is a separate step. Doing it more than once makes no sense.
@Benjamin-Hall said in WTF Bites:
I'll admit, the whole library we're using for this is a totally janky mess we inherited from our "R&D" partner.
It's probably composing the operations the wrong way then.
-
I couldn’t find something I was searching for and had the random brain-fart of “maybe try bing once”. Holy fuck.
What is this, I don’t even…
Does the website have a clown nose because the whole thing is a joke?!?
-
@topspin as is often the case, you can blame
-
@loopback0 that is real? Looks totally fake, I blame all the AI shit.
Nevertheless, the bing page still looks like clown vomit.
-
@topspin Microsoft is fond of random pretty pictures as a background. When it's still picture, it's OK. They also sometimes use random pretty videos and that can … be somewhat nauseating and distracting if you get a loop of drone video that kinda zooms in and jumps back every couple of seconds on the background, plus it slows down the browser a bit or two.
-
@Bulb So it's like they saw what Apple did with the login screen/screensaver in Sonoma and implemented it in a completely hamfisted way?
The default login screen of Sonoma is a slow flight over winefields, which goes into a static background image of said winefield when logging in.
-
@Atazhaia Not really. The background is a random short video clip. Not as random as it would change on every load. It changes every day or twice a day or something like that and seems to be the same for everybody or maybe everybody in a region, and there's also annotation what the background is, so someone is clearly picking them by hand. Often it is a couple of seconds long loop of drone footage, so it jumps back at the end, and is in general quite distracting. Fortunately you can tell it you don't want it to move by default.
-
Fortunately you can
tell it you don't want it to move by default.never use Bing againFTF
-
@Bulb so it’s like a hyperactive version of the default Windows Lock Screen. Yay.
-
@Arantor Yes.
-
@Atazhaia Not really. The background is a random short video clip. Not as random as it would change on every load. It changes every day or twice a day or something like that and seems to be the same for everybody or maybe everybody in a region, and there's also annotation what the background is, so someone is clearly picking them by hand. Often it is a couple of seconds long loop of drone footage, so it jumps back at the end, and is in general quite distracting. Fortunately you can tell it you don't want it to move by default.
I bet there’s an entire department dedicated to it. They probably have stand ups, retrospectives and a scrumaster or two. Could probably be replaced with a script to find the newest popular landscape vista on youtube. They’ll probably be mothballed and Noone will notice.
-
"may attract a fee."
No thanks. I'll settle for the .... less attractive version.
-
@Atazhaia Not really. The background is a random short video clip. Not as random as it would change on every load. It changes every day or twice a day or something like that and seems to be the same for everybody or maybe everybody in a region, and there's also annotation what the background is, so someone is clearly picking them by hand. Often it is a couple of seconds long loop of drone footage, so it jumps back at the end, and is in general quite distracting. Fortunately you can tell it you don't want it to move by default.
I bet there’s an entire department dedicated to it. They probably have stand ups, retrospectives and a scrumaster or two. Could probably be replaced with a script to find the newest popular landscape vista on youtube. They’ll probably be mothballed and Noone will notice.
Maybe they have an entire department that actually has replaced this with a script, but didn't tell anyone.
-
@Gern_Blaanston said in WTF Bites:
less attractive
Never have I heard it being called like this.
But likely more truer.
-
I'd like to attract fees. The kind to be paid to me, of course, not the other way around!
-
@Tsaukpaetra But you are less attractive than you would like to be?
-
@BernieTheBernie said in WTF Bites:
@Tsaukpaetra But you are less attractive than you would like to be?
I don't really care about my appearance. Unfortunately, I must care about it because others care, and it is unfortunately socially advantageous to not be a complete bum.
-
I bet there’s an entire department dedicated to it. They probably have stand ups, retrospectives and a scrumaster or two.
I doubt it. The random landscapes are actually the only part of Windows 10/11 that looks good. So it can't be the result of a department with typical project management, much less one run by MS. It's probably run by a single employee everyone's forgotten about, heroically doing his part to fight against the Flat and Tasteless Design Brainworm.
-
@Zerosquare said in WTF Bites:
Flat and Tasteless Design Brainworm.
They've moved on, it's now the Round and Tasteless Design Brainworm!
-
Fuck Homebrew.
I install a new tool that I need. I simply ask it to install a new tool.
It decided that not only should it install that, it should also ruthlessly prune things it thinks are out of date, like slightly not current versions of PHP.
Which, while not actively supported by PHP, are supported by LTS and we have one customer still on 7.4… which has now been excised from my system.
Fucking thanks. I didn’t ask you to run any cleanup steps.
Edit: fuck you Homebrew you also removed the PHP cask I was actually fucking using.
*stomps off to reinstall PHP 8.2.*
-
Fucking thanks. I didn’t ask you to run any cleanup steps.
You can disable auto cleanup if you want it to stop being "helpful"
-
@loopback0 I feel like this should be the default.
-
@Arantor my one year stint with OSX and homebrew made me actively resent it and I am never going back.
But his made me wonder if homebrew is written in JS, since it seems very JS-world-esque. Nope. Ruby. Which makes sense I suppose. Everything Ruby I've ever seen has been a codethulian mess.
-
So I go to install PHP 8.2.
Installation fails trying to install Node 12.
I do not understand how these two things are related.
-
So I go to install PHP 8.2.
Installation fails trying to install Node 12.
I do not understand how these two things are related.
Wild ass guess would say that some step during the install wants to use some tool that use some node library. And it's wholly unnecessary but the person that wrote that install script liked the tool.
-
@loopback0 I feel like this should be the default.
I don't know, it seems like it wouldn't affect most Homebrew users.
At least it is an option.
-
@loopback0 most Homebrew users want everything upgraded to the latest every single time?
Given how prevalent it is amongst devs, this seems counterproductive.
Especially as any install step updates everything.
-
It decided that not only should it install that, it should also ruthlessly prune things it thinks are out of date, like
slightly not current versions ofPHP.
-
Fuck Homebrew.
I always used MacPorts instead; it seemed less of a shitshow, at least in the aspects I cared about. (Not using any of that at the moment; no macOS machine at all right now...)
-
most Homebrew users want everything upgraded to the latest every single time?
I'm talking about auto cleanup which I think is a sensible default.
Automatically upgrading everything is its intended function but there are ways to stop it upgrading specific packages.
-
-
@Arantor my one year stint with OSX and homebrew made me actively resent it and I am never going back.
Somehow I decided to go with macports when I got my mac... Guess that was a good decision.
-
-
-
So I go to install PHP 8.2.
Installation fails trying to install Node 12.
I do not understand how these two things are related.
Everything depends on everything.
To install PHP somebody needed a 1KB tool written in Python, which in turn depended on its entire ecosystem, which somewhere needed to pad a string, which it did by forking out to a node.js process running leftpad.
There’s probably also at least 3 different Unix shells, autoconf, a postscript engine, and OpenSSL included.
-
@topspin Plus somebody rewrote leftpad in rust to make it more "secure", but rightpad is in Go, so now you also need the rust + go compilers.
-
@topspin the sad part is that probably is what happened, or something like it.
What is wrong with our entire industry?
:professor-farnsworth.gif:
-
autoconf
For the horrible kludge autoconf is, it was pretty much designed to avoid this exact problem. During development it uses perl and m4 and whatnot, but it generates shell scripts compatible with even pretty ancient versions of shell so the application can be installed without a bunch of other development dependencies.
Also, I thought homebrew switched almost completely to precompiled bundles so it shouldn't need heaps of tools like this.
-
During development it uses perl and m4 and whatnot, but it generates shell scripts compatible with even pretty ancient versions of shell so the application can be installed without a bunch of other development dependencies.
And in this case, it probably runs on your machine instead of the dev machine, because .
-
@topspin I've contemplated trying out the Linux version, but some @#$%^(#% came up with a bunch of wrong arguments why
/usr/local
(they use on x86 Mac) and/opt/homebrew
(they use on aarch64 Mac) are not appropriate for Linux—when in fact they are—and chose to use prefix/home/linuxbrew
. Sorry, no, that location is totally inappropriate. Not installing this .
-
@topspin the sad part is that probably is what happened, or something like it.
What is wrong with our entire industry?
:professor-farnsworth.gif:
Too many idiots. We could cull 9/10 of devs and come out more productive.
-
@Carnage And after that, we can repeat the step. With the same outcome.
-
It's basically called stack ranking, and MS was known to practice it in the past. Make of that what you wish.
-
@Zerosquare said in WTF Bites:
It's basically called stack ranking, and MS was known to practice it in the past. Make of that what you wish.
Now we can do Stack Overflow internetpointzzzz ranking!
-
Long-lived feature branches are one of the worst ideas ever. Just f... merge it asap, stop developing 3 things in parallel for a month and then try to deploy half of it. Not that I didn't warn them, but here we are. I guess they had to check.
So, some time ago, we decided to replace a random UUID with a hash of something else, so that we can look stuff up by that something. First it was only implemented in one place, then I moved the hashing, so that entire system operates basically only on hashes instead of X.
Thanks to the new branched approach, change in one microservice (of ~35 at this point) was lost and an old version was deployed on prod. Now instead of hash(X), we have hash(hash(X)) all over the place. Good that we still have the original X cause you know, reversing that would be rather expensive in terms of CPU time.
-
@sebastian-galczynski said in WTF Bites:
in one microservice (of ~35 at this point
There's your problem.Gif
Microservices suck to work with IMX. And the more micro, the worse. I don't mind having several services for different things, but if it takes more than about 2 services to handle a request, yuck.
-
Update: We actually don't have unhashed X, because it was moved to another column which the old code didn't handle. Oops.