WTF Bites
-
@Zerosquare said in WTF Bites:
I want to know, and at the same time, I'm pretty sure that the answer will terrify me.
You have requested an answer from my domain. This most likely resulted from running a VM that drifted, which they will do given various available kernel-level fuckups.
Butt it's one desktop! I've seen the xfce4 clock applet take its sweet time to start updating again after a system suspend, so I guess the two clocks just disagree about when exactly to start showing the correct time again. Maybe because one received a click or something, fuck knows.
-
As they say: A man with a clock knows what time it is. A man with two clocks is never sure.
(Dual monitor screenshot, click to embiggen)
Great way to miss appointments.
You can, though.
@topspin Clearly, the correct time is the average time displayed by all clocks which is this case would be... counts ...end of workday time! Woo!
No, definitely the maximum.
@topspin How in the nine fucks did that happen?
I've seen similar issue a couple of times. Either the display updates or the timer to trigger tham has stopped working for the panel that's behind. When I've seen that, usually the clock would jump to correct time when something else triggered the update like opening the menu.
-
@Benjamin-Hall said in WTF Bites:
WTF of my day: Did you know that to run unit tests for an iOS app that in no way touch the UI or UI classes, you have to either
- have a physical device plugged in and unlocked (and set up for dev)
- or have a simulator open
And the test runner will actually launch the app (with all the time/etc required) when you execute the test case? And there is no Apple-supported (ie not utter hack) way of avoiding this?
Well, you can always put the code in a library, have a separate build of that for MacOS (or Windows or Linux or whatever) and unit test that. But once they are unit tests for the app, and link against the app, the tooling has no way to know whether it will touch anything that needs the UI running or not. So of course it will want to have a device or a simulator to run it on.
A couple years back when I worked on app that eventually ran on iOS the biggest issue was that you could only have 100 devices set up for dev on one account, and one account per company. Plenty for a 50 men company, but for a 80,000 men company with a bunch of additional subcontractors, not so much. Ok, only fraction of it worked on software, but still way more than a hundred. So we (as one of those subcontractors) has to switch between developer accounts, because some (few) devices were attached to the account the app would be published under and the rest under some other auxiliary account registered under someone else's name to work around the limitation.
We also did most of the development on Windows, including running unit tests for most of the library, and testing on Android; it eventually released on iOS only, but it was originally planned to release on both, and for Android we had more (they were cheaper) devices and none of those signing shenanigans. And it worked with our standard-issue Windows notebooks.
-
Here's a WTF Bites WTF Bite. Just removed a post from the post queue destined for this topic. And unlike most spam that tries to weasel in links in a Markov chain or similar, this one was just a marketing blurb for a publishing company.
Yes, publishing company, we would of course be very happy to inquire about making a Best of the WTF Bites book! Thank you for asking!
-
Picked up a new ticket, which is a crash report from the Google Play Console. Which helpfully uploads the stack trace (side note: Google Play is much easier to work with than the iOS one, which you have to do a dance to symbolificate your crash logs and can only access them via xCode in a particular way).
The stack trace:
java.lang.IllegalStateException: at android.view.View.measure (View.java:27137) at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:4430) at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:3135) at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:3427) at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2831) at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10311) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1063) at android.view.Choreographer.doCallbacks (Choreographer.java:845) at android.view.Choreographer.doFrame (Choreographer.java:780) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1048) at android.os.Handler.handleCallback (Handler.java:938) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at android.app.ActivityThread.main (ActivityThread.java:8641) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1133)
Note the complete absence of anything that looks like non-framework code. And the utter lack of an error message (just the error type, which is stupidly general).
But wait, I've got another similar one:
java.lang.IllegalStateException: at android.view.View.measure (View.java:27137) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7980) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at androidx.appcompat.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:145) at android.view.View.measure (View.java:27124) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7980) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1552) at android.widget.LinearLayout.measureVertical (LinearLayout.java:842) at android.widget.LinearLayout.onMeasure (LinearLayout.java:721) at android.view.View.measure (View.java:27124) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7980) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at android.view.View.measure (View.java:27124) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7980) at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1552) at android.widget.LinearLayout.measureVertical (LinearLayout.java:842) at android.widget.LinearLayout.onMeasure (LinearLayout.java:721) at android.view.View.measure (View.java:27124) at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7980) at android.widget.FrameLayout.onMeasure (FrameLayout.java:194) at com.android.internal.policy.DecorView.onMeasure (DecorView.java:1237) at android.view.View.measure (View.java:27124) at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:4432) at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:3137) at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:3429) at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2833) at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10335) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1063) at android.view.Choreographer.doCallbacks (Choreographer.java:845) at android.view.Choreographer.doFrame (Choreographer.java:780) at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1048) at android.os.Handler.handleCallback (Handler.java:938) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at android.app.ActivityThread.main (ActivityThread.java:8633) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)
Sigh...yeah. No info there either.
-
-
@Mason_Wheeler said in WTF Bites:
@Benjamin-Hall said in WTF Bites:
symbolificate
Made-up words thread is
I think it's a perfectly cromulent backformation to mean "add the actual symbols to" with a hint of derision and bitterness.
-
@Benjamin-Hall looks like a problem under your linear frame view root
-
@Benjamin-Hall said in WTF Bites:
The stack trace:
java.lang.IllegalStateException: at android.view.View.measure (View.java:27137) ...
Note the complete absence of anything that looks like non-framework code. And the utter lack of an error message (just the error type, which is stupidly general).
That looks like something bogus is being given to the configuration of the view, perhaps in the metrics that it uses for computing the size of things? That exception is used in "I shouldn't of got here" situations, where the code has been told to do something it can't, or at least that it can't do right now. At least you've got the source line number so you can find out what is going on that way.
The lack of a message in the exception in unfortunate, but can't be helped. It would probably have been stupidly generic if it was present.
-
The lack of a message in the exception in unfortunate, but can't be helped. It would probably have been stupidly generic if it was present.
Parameter out of range
-
@dkf except that that's a line in framework code. Not my code at all. As far as i can tell, the error has to do with a custom view that doesn't have sane sizes. And since we only had two custom view subclasses, one of which hasn't even been released to production yet and the other entirely vestigial, my solution was to extirpate the vestigial one.
-
-
@Benjamin-Hall said in WTF Bites:
extirpate
I'm currently trying to imagine how Doctor Who would have been different if this had been the Daleks' battle cry.
EXTIRPATE! EXTIRPATE!
Not quite the same cadence as EXTERMINATE.
-
@Benjamin-Hall said in WTF Bites:
extirpate
I'm currently trying to imagine how Doctor Who would have been different if this had been the Daleks' battle cry.
EXTIRPATE! EXTIRPATE!
Not quite the same cadence as EXTERMINATE.
Plus they'd have lost the chance to make the "This Is Not War! This Is PEST CONTROL!" pun.
-
@Benjamin-Hall said in WTF Bites:
except that that's a line in framework code. Not my code at all.
Yeah, that's my point: the settings passed to the framework code are bogus in an unusual way, and you'll need to look at the framework source to see why. ( is why I don't look for you.) Once you know why, you can start to trace it back into your own code.
Ideally, input validation should catch things before they get to that point. Oh well...
-
-
@Rhywden good times. I remember that....
-
-
"Please wait.
Your files aren't quite where you left them.
(But hopefully they'll be back in a bit.)"I'm a bit amused that the Xbox had a feature that let you keep an image on display while the thing is rebooting. If that existed, I bet Morrowind/Bethesda weren't the only ones doing that...
-
@cvi Bethesda are the only ones who admitted that MS told them about it and it got used as a sort of “our game is so big, the console has to reboot to make room for the next part of the game” in some reporting over the years.
I doubt Bethesda was the only crowd MS mentioned it to though.
-
Found on reddit:
So many questions...
-
@topspin But can it OCR stacktraces and error codes from screenshots and photos?
Asking for a friend. Or mostly due to a friend. Who has Word and a wooden table.
-
Found on reddit:
So many questions...
Where can I suggest adding Whitespace as a supported language?
-
@topspin Unfortunately, I don't have that many questions.
Observations:
-
There's an idiotic trend of sending text as screenshots of said text. I was informed by a zoomer that taking screenshots is much easier than copy-pasting text. Unfortunately this was in a professional environment, so I was limited to professionally telling them that they're a flaming idiot, and that they should send me text as text if they wanted me to look at it. (And also they should use non-zero whole English sentences to accompany said text, describing wtf they want.)
-
Handing out e.g. exercises with code listings as images is ... a practice. The idea is that instead of just copy-pasting example code, students should type up the code themselves instead. The motivation is that this way the code passes through the student's eyes, arms and fingers. There's a hypothesis that this randomly causes minor parts of the code to diffuse into the general vicinity of the brain, which may trigger learning activities. (The latter part is a bit like machine learning - nobody knows for certain that it works and what would make it work more reliably. But ultimately, you're not expecting much. Under very controlled and rare circumstances, the method produces an useful output. You can then just harp on about that one random case and claim unlimited success.)
I think somebody also mentioned that turning images of text back into text is a default feature in MacOS these days. Not sure how well it deals with code, though.
-
-
There's a hypothesis that this randomly causes minor parts of the code to diffuse into the general vicinity of the brain, which may trigger learning activities.
-
@HardwareGeek No, pretty sure that hypothesis does exist.
-
I think somebody also mentioned that turning images of text back into text is a default feature in MacOS these days. Not sure how well it deals with code, though.
Yes, it works pretty seamlessly. Amazing from a technology perspective. In fact, on the iPhone it’s easier to select text from a post in a screenshot than in the actual post editor (entirely thanks to ’s broken JS.)
One might argue that this will lead to people not even understanding the difference between text and images anymore. But then, that ship has sailed anyway.
-
I wonder how it would cope with the printed listings of the type-in books of the 1980s with that weird pixel font they used to use.
-
I wonder how it would cope with the printed listings of the type-in books of the 1980s with that weird pixel font they used to use.
``` a BEINT TeRiocs SEEELTIUE | 20 PRINT TAD(1S) "CREATIVE CORPUTING ORRISTON, NEU JERSEY" 30 RINT SPRINT PRINT 10 PRINT “ENTER CURRENT BATE (AS IK JANUARY 23, 1978) So 1HPUT 0b, 1000 REN-ROULETTE 1010 REH-DAVID JOSLINPRINT “UELCONE 10 THE ROULETTE TABLE" Boz TEx IE XCH G8 050 08 XOINTO) THEN 1680 IF 241 08 2OTHTC) THEN 1600 IF 265 08 2500 THER 1680 IF A0X1=D THER 1780 PRINT “YOU BADE THAT BET OACE ALREADY, DUA-DUK* erin S010 1680 PRINT “30 100 UAT TUSTRUCTIONS"; aon ry Wext © IF LEFTSOTs, 1eeh THER 1550 PRINT “SPLINING® Pia PRuT PRINT “THIS IS THE BETTING LAYOUT" fa RINT + (rome SeIRTC100RNDI 12) FRI IF Seb OF $38 THEN 1830 Re 2 ae xmas) RIA se ie IF 5637 He 1920 Pre 8 ye IF 5537 THEN 1900 PTO 1 ee PIT go Per - 8010 2020 priay PRINT 0" Pein 8010 2020 Prine wesiore. PRIN FOR 11 70 18 Fin wa § erin IF Res THEN 2000 Prin wer ford priser Prin PRINT Sih Prin G00 2020 erin “sep Fin A010 1980 PRINT “TPES OF BETS" Fann Prin FOR C1 10 1 PRINT *THE WUNDERS 1 70 36 SIGHIFY A STRAIGHT BEI" IF TOG7 Hew 2710 PRINT “ON TWAT MURDER" BH TIC)-36 GOTO 20%0,2190,2220,2230,2300,2350,2000, 470, 2500 FRIAT “Tks pay WE asa1n ON TCC)-A5 GOTO 2530, 2540, 2430 Prin 2070 6010 2718 PRINT “THE 221 3678 apes 2080 5100 PRINT = 37) 1-12 40) FIRST coum 290 ken 1-12037) 20 PENT * 39) 13-24 1) SECOND COLUM 2100 17's 12 Tek PRINT © 39) 25:36 42) THIRD COLUM 2110 PAINT “100 Lose” Prin 2120 poebc) PRINT “THE EVEN HONEY BETS ARES 2130 Pepa er PRIN 3) 118 Ae) 00° 2140 somo 21 PRINT * 44) 19-36 47) Ree 2150 PRINT "100 ULK *;5(C)2; "DOLLARS ON BET PRIN * 45) EVEN 4B) BLACK" 2140 10-1 E102 PRT 2130 Pepabicied PRINT * 4910 M5 50100 PAY OFF 35:1" 2180 6010 2010 PRINT = NOTE: 0 AMS 00 0 HOT COUNT UNDER kT 20 wen 13-20 200 PRINT © BETS EXCEPT THEIR Uk" 200 15 512 Wb $¢25 THEN 2150 jr] 2210 010 21 PRINT “UNEN 1 ASK FOR EACH JET, TYPE THE NUMBER" 20 BH 25-3603) 210 PRINT “AMD THE ANOUNT, SEPARATED 1Y A COMA" 2230 IF $24 aNd $C HEN 2130 PRINT "FOR EXRIPLES 10'BET $300 OF BLACK, TPE 48,500° 2200 goto 2110 PRINT "UHEN 1 ASK FOR 4 BET" 2250 REA FIBST COLUMN) 221 jeri 2260 FOR 11 10 34 STEP 3 PRINT “NLNINUN BET 18 85, MAXINUN 15 1300" 220 IF 51 THEN 2130 PRIN 20 wxt 1 REN-PROGRAN DEGINS WERE 290 m0 2110 REA-TYPE OF BETOURIER) ovis 2300 REN SECOND COLUM (41) 241 REN O0K°T HEED 10 DINENSION STRINGS 2310.08 142 To 35 STEP 3 DIK 51601, C0100), 11100), 1030) 2320 IF Se THEN 2150 on Ase) 2330 ext 1 FOR 11 10 30: A(L)e0c NEXT Ic REN WAT XSZER 2300 amo 2110 Patooo 23% REN THIRD COLMA) 2:1 B-106000, 2360 FOR 143 10 34 STEP 3 PRINT "HOU MANY BETS"; 2170 1F ST THEN 2130 wer ¢ 2380 wexr 1 IF 11 OR YON) THEN 1430 2390 som 2110 FOR 1110 50: ACLIS0: NEXT Te REN MAT 4eZeh 2400 REN 1-188) 151 FOR Cot To 1 2410 IF sc17 THEN 2430 PRINT “hUABER; 2420 8010 2110
139
-
@Watson and that’s actually in a clearer print than some of the listings I had when I were a lad. E.g. https://usborne.com/gb/books/computer-and-coding-books
-
Handing out e.g. exercises with code listings as images is ... a practice. The idea is that instead of just copy-pasting example code, students should type up the code themselves instead. The motivation is that this way the code passes through the student's eyes, arms and fingers. There's a hypothesis that this randomly causes minor parts of the code to diffuse into the general vicinity of the brain, which may trigger learning activities.
It supposedly works when you write something by hand. If nothing else they likely have to pay more attention to it than they would with a simple copy and paste.
-
We have some documentation in OneNote. And I need to find something there. So
after some blank staring—I expected a search icon on the top menu, not on the side one—I noticed the icon, but
Um, and … where the duck is the “Entire Notebook” option‽
-
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
Now, I'm not sure that I understood the principles behind Docker correctly: Wasn't that supposed to be a self-contained package, bringing everything with it, so that you don't have to putz about with dependencies and stuff? Like, pull the image, do some port mapping and other configuration, then run it?
Because when I see that 30-step installation song-and-dance, I'm not sure that "easier" and "faster" are the correct adjectives to describe that shit.
-
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
Now, I'm not sure that I understood the principles behind Docker correctly: Wasn't that supposed to be a self-contained package, bringing everything with it, so that you don't have to putz about with dependencies and stuff? Like, pull the image, do some port mapping and other configuration, then run it?
Because when I see that 30-step installation song-and-dance, I'm not sure that "easier" and "faster" are the correct adjectives to describe that shit.
The difference between theory and practice is that, in theory, there is no difference.
-
@Rhywden well, for a bunch of things, sure, that’s the way to go. But a lot of things in Docker land play the microservices game now so each microservice wants its own container. Thus you get all the complexity of dependency management on,y this time with more fabulous tech in the middle.
-
@boomzilla said in WTF Bites:
It supposedly works when you write something by hand. If nothing else they likely have to pay more attention to it than they would with a simple copy and paste.
Yeah. I don't have any hard data or anything, but I'd say that it's pretty easy to pick out the people who copy-paste blindly with a few easy questions. They typically won't be able to locate code they've supposedly "written" and (typically) can't explain what it does either.
I figure making copy-pasting slightly awkward might nudge people away from blindly copy-pasting. The key is targeting the people that are in the middle ground. I.e., people that would end up copy-pasting out of pure laziness, but are perfectly capable otherwise. The "hardcore" cases that are desperate to "pass" by any means (except by, you know, doing it properly) will go to extreme lengths (very opposite of ) anyway, so trying to stop them with something like this is a fool's errand (and will most likely just make life harder for everybody else).
-
ERP (Open Source)
Such a thing even exists? It's for enterprises, sure those are willing to pay for it.
And what does it do on its own anyway? My impression is that any such system needs to be customized with the company-specific business rules and workflows before it starts doing anything useful.
-
Now, I'm not sure that I understood the principles behind Docker correctly: Wasn't that supposed to be a self-contained package, bringing everything with it, so that you don't have to putz about with dependencies and stuff? Like, pull the image, do some port mapping and other configuration, then run it?
Well, yes and no. It puts the application together with the dependencies, so that the authors don't have to deal with varying dependency versions and installation paths and such. But there is still a varying number of things that do have to be specific to the installation and you'll have to provide those.
Because when I see that 30-step installation song-and-dance, I'm not sure that "easier" and "faster" are the correct adjectives to describe that shit.
30-step installation does sound a bit long, but it depends on what it is, really.
@Rhywden well, for a bunch of things, sure, that’s the way to go. But a lot of things in Docker land play the microservices game now so each microservice wants its own container. Thus you get all the complexity of dependency management on,y this time with more fabulous tech in the middle.
The point of microservices is that you can horizontally scale them (i.e. add instances to meet the demand) and docker is one part of what makes it manageable. But it is not sufficient. You need an orchestrator on top of it, and while docker made it's own simple one, docker swarm, it never really went anywhere and everybody uses kubernetes.
Which does have tools to make “installer” (usually a helm chart) that automates most of the setup, though it's still rather rough around the edges and the best practices are far from stable. But of course it does take some effort to prepare the configuration to be reusable, and it the authors don't expend that effort, it's going to suck.
-
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
.... I know you didn't mean erotic role play, but gosh darn let me have my dreams!
-
@Tsaukpaetra said in WTF Bites:
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
.... I know you didn't mean erotic role play, but gosh darn let me have my dreams!
You have to be extra sure to use protection with Open Source ERP.
-
@Tsaukpaetra said in WTF Bites:
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
.... I know you didn't mean erotic role play, but gosh darn let me have my dreams!
You have to be extra sure to use protection with Open Source ERP.
Especially on Balmung or Mateus.
-
The idea is that instead of just copy-pasting example code, students should type up the code themselves instead. The motivation is that this way the code passes through the student's eyes, arms and fingers. There's a hypothesis that this randomly causes minor parts of the code to diffuse into the general vicinity of the brain, which may trigger learning activities.
YMMV, but I've found that to be true for me. Whenever I copy code manually, I think about each statement and what it's doing. Similarly, I also found that whenever I took notes during a lecture, I would remember the material without having to refer back to my notes, so it's probably due to how my brain is wired and may not work for everyone or anyone else
-
Because when I see that 30-step installation song-and-dance, I'm not sure that "easier" and "faster" are the correct adjectives to describe that shit.
Sounds much simpler than the real thing to me!
-
-
Because when I see that 30-step installation song-and-dance, I'm not sure that "easier" and "faster" are the correct adjectives to describe that shit.
Sounds much simpler than the real thing to me!
Well, that's without the configuration, mind. Just installation.
-
-
@Tsaukpaetra said in WTF Bites:
@Mason_Wheeler said in WTF Bites:
Not technically incorrect....
Maximum SMTP line length is 998 octets + CRLF, so you have to stay below 990 to actually be able to fit "RCPT TO:" and the address. Domain names can have up to 255 octets, and I'm not sure if the 63-character limit for the local part in RFC822 is still current but I know some mail servers still can't deal with it, that would be 320 octets max.
My postfix will happily eat 130-octet local parts but barfs somewhere around 1000 even though it doesn't enforce the SMTP line length limit.
-
that would be 320 octets max.
Taking notes: Adjust e-mail columns in database to be 989 bytes for maximum confusion....
-
@Mason_Wheeler said in WTF Bites:
-
@Tsaukpaetra said in WTF Bites:
WTF of my day: So, I was asked to have a look at installing an ERP (Open Source) so that some of our pupils could have a look at how such tools are used in companies.
.... I know you didn't mean erotic role play, but gosh darn let me have my dreams!
That kind of ERP with students would be... slightly inappropriate. Not illegal, depending on age of those involved, but...