As summer gets closer and the days get longer – or at least they seem to despite being 24 hours each – things get… interesting here. Actually, it’s more that I’m adjusting to The Husband having a job again and the cats are adjusting to no longer having two humans at their beck and call.
This has resulted in me being perpetually catted. Not to mention the feline gastronomy alarm going off around midday despite them being supposed to get their good food for dinner at… dinner time. Somewhere between 4 & 5 normally, although their superior pesting ability usually convinced The Husband to feed them nearer to 2 in the afternoon.
And yes pesting totally is a word in this household.
I’m also quietly celebrating that I no longer need the damned mask in most places I usually go – I had the second shot yesterday, so I’m officially allowed to go bare-faced again. Alleluia and all that. I hate the bloody thing and only use it where they have the signs up saying you have to (which is most places, although the signs they are a-changing to now say that if you’ve had the vaccine you don’t need it).
I also caught myself thinking today that I really doubt my employer would appreciate my type of “diversity”. Cynical and sarcastic tends not to be well received by corporate types who are all rah-rah about how wonderful everything is. Me, I’m in a job where I’m supposed to find as much wrong with the software as I can before it gets released, so yeah, of course I’m going to be kind of negative.
It’s typical tester mindset. If you haven’t found any bugs that just means they’re better at hiding than you are at finding them. And the glass is not half full or half empty – it’s twice as big as it needs to be. The most terrifying thing a tester can say to a programmer is “Hey, this is interesting.” Closely followed by, “I’m really not doing this to make your life hell.”
Unfortunately, cynical sarcastic uber-introvert is not the kind of intersectional diversity prized by the establishment, and it’s very much not the kind that’s prized by HR departments (what I think of HR departments is something that stretches even my linguistic ability – I’d need to be able to curse in multiple languages, several of them dead and at least one of them banned. Let’s just say that HR departments tend to be the dumping ground of the credentialed and uneducated, and the handful of decent people who find their way into that part of a business usually get overshadowed by the collection of oh-so-earnest wokedy dahlings who believe it’s completely their responsibility to turn the whole company into a kind of multiwhatsis hodgepodge while happily enforcing whatever the corporate groupthink happens to be).
Anyway, it was a beautiful day today and a right shame to have to spend it inside working. At least I got windows open and a bit of fresh air flowing through the house – so have a photo of Westley and Midnight enjoying one of the windows.
Real conversation from the early 1990s: Called WordPerfect Tech Support about something else, and then…
Me: Hey, did you know that if you make this here typo (by now I’ve forgotten what it was) the automatic datestamp will include the seconds?
WP Support: No it doesn’t. There’s no such function.
Me: Is too. I use it all the time.
WP Support: No, there is no such function!
Me: Is too!
WP Support: [typing in background][speaking to someone else: Will you look at this? I’ll be damned!]
And it was documented in the next edition of the manual.
Enjoy your day indoors… I gotta go build a gazebo thing over the strawberries, since the robins have stopped respecting the plastic owl.
Heh… If it ain’t documented, it’s a bug. There’s no such thing as an undocumented feature – because if it ain’t documented it could go away any time, no matter how convenient you find it.
Mind you, there are at least as many useful bugs as there are harmful bug in most applications, so I’m not remotely surprised by your conversation with WordPerfect support.
(And you do not want me to get started on the topic of support that knows less about the software than I do… when I’m a general user, even.)
Don’t get me started. Oracle admits that there are 105 documented initialization parameters for the database startup….. and over 1,000 that only Support can tell you to use. If you find and use them without a Support ticket, your license CAN be revoked.
Oy. That is a disaster waiting to happen. And one that has undoubtedly already happened to many people.
What’s really bad is that both the number and ratio of documented/not documented have been increasing since version 8 (Oracle’s up to 21 now).
Have any of you all seen any of the “Developer reacts to speedrun” videos? You all might get a kick out of them.
Speed runs are almost inevitability taking gross advantage of every possible bug in the game, and getting the devs to watch them is just awesome.
“Wait, how is he? Oh noooo….”
And then there are the arbitrary code execution methods…
I haven’t, but I can imagine. I’m not much of a gamer, but in the gaming I’ve done I’ve found some fun ones – like the rendering bug where if you walked your character to a specific location they’d suddenly be standing in the air two stories higher. Didn’t do anything, but it was kind of cute.
Of course, as a tester if it was of something I’d been testing I’d be going “how did I miss that?”
Some of the glitches they use are absolutely nuts.
In Zelda Twilight Princes, Link is missing a single frame in the animation loop he uses when starting at an object he picked up from a chest. That is enough that it moves him a sub pixel distance backwards every time it cycles. So, if you have Link in the right spot he can actually, slowly, phase through walls. The minimum item “speed” runs use it to skip keys by phasing through locked doors.
In Super Mario Brothers 2, apparently, there is a brief window after a potion starts transforming into a door that you can use it as a ground block and jump off of it. By throwing the potion at a wall and jumping after it fast enough you can actually use the potion as a stepping stone to jump over the wall to that level’s teleport pad.
And then there is Paper Mario. Possibly one of the bug first games ever written. They use a graphics buffer overflow to allow them to execute arbitrary binary code by reading the tilt of the thumbstick into the opcode memory space. I’m far bling at least half of that, because it is really complicated, completely insane and I am not a programmer so not fully fluent in the execution of machine code.
The number of programs that are not disasters waiting to happen can probably be counted on the fingers of one hand.
By a three-toed sloth.
As a general rule, any piece non-trivial piece of software is capable of opening a portal to the Great Old Ones and may summon one of them from wherever the heck they’re residing. This may involve dungeon dimensions.
As an hourly paid contractor I loved Oracle, they made a lot of “extra” mortgage payments for me! These stick in my memory.
Oracle: You need to update to X as your version has a CaseTools bug.
CaseTools: I’m automatically and un-stoppably renaming every table and column in your system.
Me: Ka-Ching! Overtime fixing hundreds of rename failures in the tool’s auto-generated code!
– The tech writer paid off his car on that one!
Us to Oracle Support: We made a BIG tablespace on an external drive for a temporary project and now want to drop it but it won’t drop.
Oracle: We broke the “Drop Tablespace” command in the current release, might get fixed soon.
Me: More overtime backing up everything twice to different media and then trying to roll back to before we created the tablespace.
I also loved that their hold music was a sad, lonely violin solo.
I miss the money but not Oracle!
Oh, I can imagine.
No matter how much you make from fixing/cleaning up after Other People’s Mistakes, it’s not worth it. Too much stress.
That is literally how I started my descent into madness ^H^H^H my QA career. I was just a trainer but knew more about using and breaking the product than the support team so when I mentioned my contract had ended and I was looking for work, their QA team fell over themselves to hire me 😀
I arrived via programming, but my natural gift for finding the way to break things lead me to the dark side. I’ve never regretted it.
I, unfortunately, had the opposite gift. Bug reported by a user – one who is knowledgeable, and has replicated it several times for themselves.
I show up at their desk to get the exact replication process – and it goes into hiding. Doesn’t happen no matter how long I sit with them.
Some people half seriously talked about clones – of my wetware.
the collection of oh-so-earnest wokedy dahlings who believe it’s completely their responsibility to turn the whole company into a kind of multiwhatsis hodgepodge while happily enforcing whatever the corporate groupthink happens to be
I wonder if that’s related to the bias towards extroverts, even when it is objectively damaging to productivity and morale.
Extroverts need interaction, to get interaction you need to rah-rah stuff that’s acceptable to those you interact with or be quiet, so the people trying to judge the emotional health of the workforce view extroverts as happy and introverts as unhappy. And unhappy workers are less productive.
Very likely. Which ties in rather scarily with a new piece I saw today – https://www.theverge.com/2021/6/17/22538160/ai-camera-smile-recognition-office-workers-china-canon
Creepy as all get-out. I personally loathe the whole rah-rah hooraw, and don’t smile unless I’m performing for the public or the workspace (which is exhausting) or I’m really happy, possibly even ecstatic. Of course, I’m also about as introverted as it’s possible to get and still be a more or less functioning human.
Wasn’t there a Dr. Who episode about this? Keep smiling, or they’ll kill you.
Yes, there was. It had the standard cheesy Dr Who effects and iffy acting, but rammed the point home rather brutally.
I can see that being a kind of cutesy stunt (complete with people recording a snarl as a smile) but somehow pretty sure that’s not the case for this. :Shudder:
I tend to smile a lot, just generally in relation to something in my head.
(“Fox, you’re grinning, something funny?”
Me, realizing yelling BUSHIDO! DIGNIFIED! IT’S THE LAST STAND OF THE SAMURI! is a bad idea: “Just thinking about a song I heard, can’t get the lyrics quite right, you know how it goes.”)
Hehehe…. could be worse, you know. There are _much_ more incriminating Sabaton songs to sing along to…
Although I will admit that many, many conversations can be improved by adding “…And the winged Hussars arrived!” at the right moment.
Although I will admit that many, many conversations can be improved by adding “…And the winged Hussars arrived!” at the right moment.
*howling* YEs, yes the could.
I’m relatively certain that would have made the conversation approximately 1000% more interesting, and would have cut down on future vapid small talk.
Where’s the downside?
If you don’t mind people thinking you’re insane, there isn’t one.
Now,, belting out lines from Rise of Evil or one of the other WW2 focused songs could definitely cause … issues.
That I then have to live around said people.
The number of folks hwo can deal with that are horrifically low.
I use it with my in-laws…. they passed the test. 😀
(As they ARE related to my husband, not a shock.)
Singing Disney songs has had roughly 50/50 results, even when with kids. Apparently remembering the Pooh song about Uffalumps is spooky.
*wry smile* My kids are extroverts.
They LIKE people.
NO IDEA how that happened.
(K, actually, I think part of it is not being forced to deal with stupid and immature people being stupid and then pretend it’s OK.)
But, they like people. So mom isn’t allowed to sabotage future interactions.
Eek. The Husband and I are both uber-introverted. The thought of living with extroverts…
I love them so it’s OK.
And I’ll kill myself helping them because I Am Mom.
Also, you can sic them on each other: Why don’t y’all go hunt monster-aliens under the pine tree? Don’t you see them climbing down the trunk?
I have met more folks because “oh God my kids latched on yours… oh, wait, you’re an introvert, too? And your kids think it’s great she’s latched on them? Thank God….Hey, you’re doing good, your kids are awesome, look at how much mine love yours…..”
At the dawn of time, the extroverts and the morning people got together and decided how the world would be run.
> “I’m really not doing this to make your life hell.”
Ages ago, there was a brief fad for “defensive programming.” Things like handling buffer overflows and reading past ends of strings, controlling the size of the stack, making sure you had enough memory, lots of stuff about handling semaphores and threads, validating all input before passing it to the handler functions, actually implementing proper error handlers and return codes, etc. Stuff that should have been “Programming 201” at the very least.
And then compilers got smarter, and you didn’t *have* to do all that scutwork any more… most of the time. And if something went sideways, hey, you could avoid blame by pointing at the compiler vendor and shrugging.
A lot of that isn’t needed these days – but validating input and proper error handlers is definitely essential.
I’ve seen precisely one compiler bug in the time I’ve been testing, and it was phenomenally nasty. When the executable got big enough, all the metadata compiled into it was corrupted. Played utter havoc with the test automation because the automation would call to click a button, and the metadata corruption would quit the program instead – but exactly what result you got for what scripted action varied apparently randomly.
It is kind of funny. Everyone I know in programming has seen one, and only one, compiler error.
The one I saw wasn’t that bad, the compute just wrote the wrong assembly for that combination of instructions, but it took something like half the software team converging on my coworker’s desk to figure out what was going on.
I don’t remember how they fixed it either. I think they ended up having to have someone wrote the assembly for it and lock the compiler out of that strip of code.
I’ve only found one compiler bug so far; a rnd() that actually performed a trunc(). Turned out that wasn’t even the bug in the software; it turned up when I wrote block tests. The vendor had acknowledged the bug years before, but the compiler was old and desupported, so I just stuck a Post-It in the manual with a note.
I’ve seen a few compiler bugs. The worst one was in a JOVIAL compiler. The interesting thing about JOVIAL is that you declared variable width in bits so you could use every single bit. The compiler couldn’t do division unless the variable was aligned properly. A 3 bit value in the middle of a 12 bit word (yes, octal) would generate insanity if you tried to use it as a dividend or a divisor. The fix: All division was commented out and replaced with a hand-written block of assembly code. The only “bright side” was that the compiler generated code was close, so you had something to start from.
There are many not-interesting things about JOVIAL. The end-of-line character is a dollar sign ($), for example. That’s not interesting; just weird.
Oh my. You don’t spend time on the code golf stack exchange, by any chance? That’s one site where truly insane programming languages get used. Although mindf$ck (I think that’s the correct spelling)? My mind was well and truly f$cked in a very, very short time after encountering that little delight.
I hit one, many years ago, in the very popular PKZip package. Only happened with two specific sequential codes, in a specific place.
Tell young people nowadays that C was not strongly typed so you could cheerfully pass around a string as an integer and even use it as long as you remembered it sometimes had to go back to being a string. . . .
dynamic_cast is for wusses; static_cast for noobs. Force your void* into whatever you want it to be!
And markedup2 is the sort of programmer we all cursed, because WE HAD TO MAINTAIN HIS CODE.
And I’m in the crowd that had to test it.
Although programmers with… interesting code bother me a whole lot less than programmers who get all snotty because a mere tester DARED to criticize their baby. I figure the point is to make the software as good as it can reasonably be, so finding problems is a good thing because you can’t fix problems you don’t know are there.
Some programmers disagree. The last one I had to work with got the worst passive aggressive tester bug reports imaginable. The ones where the reproduction steps are written in exhaustive detail with references to the line in the spec that doesn’t match what their code does. (This… person was one of the sort where if the spec didn’t state that there needed to be 5px padding in the layout, you’d get no padding and the text blending into the lines, but it wasn’t a bug because the spec didn’t _say_ there needed to be spacing. And mere testers are not to provide technical information about the bug. Ever. So the bug he spent 2 weeks fixing because he didn’t want my technical information (which I’d figured out in about an hour’s research into the thing) had a certain amount of schadenfreude attached to it)