AboutMagical processor fairy; part-time misanthropic bane of idiots. 🧚♀️🏹 Ergo sum miseriae
SkillsRuby ❤, js/es6, css, react, sql. VB and PHP can die in a fire; .NET can go, too.
LocationPurgatory / the void
Joined devRant on 2/25/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I forgot what it was like to have a productive day!
I’m rewriting the Apple wallet pass code to make it fully customizable instead of mostly static, and it’s beautiful.
The code was horrible tangled spaghetti before (and soo slow) but now it’s clean and fast and modular and absolute bliss to spec. Yay, dependency injection!
I actually had fun working today! 😊
It’s been the first time in months.8
Ticket: Allow merchants to customize how their Wallet Passes look! It’ll be super easy, just add these nine merchant-modifiable strings (they support vars) and use their contents for text instead of what we use now. Simple!
Reality: There need to be 24 strings, there are some rules I can’t convey to the merchant (because the system literally does not include instructions, only a name and a textbox), the code to generate the wallet pass is inefficient, uncommented, branching spaghetti that I’ll need to rewrite (it seriously generates every possible field, and then only uses the ones it needs), the specs are so much worse, and half the default values they want aren’t even possible. As in, I don’t know if it’s a car loan, let alone the exact make and model of the bloody thing.
And no, sorry, we have no way of knowing what their fucking “vertical” is, either, so we can’t display that. Fucking sales.
WHY MUST EVERYTHING SUCK7
I’m debugging some intermittently failing specs.
The problem is, they only fail when RUNNING THE ENTIRE FUCKING FILE, which, naturally, takes TEN FUCKING YEARS.
And it’s not like they fail when they get run first. No. They only fail when run near the end.
We got a prequalification letter from the bank finally, so: Surprise vacation!
Leaving tomorrow morning to look at houses! 😊 Yaaay! Maybe we can move out of this misery at last!
Working on the road tomorrow, Monday is a holiday, and I’m taking Tuesday off.
Got basically nothing done yesterday because I was absolutely exhausted the entire day. Thanks, doxxing thread. But I couldn’t sleep anyway so whatever.
Told everyone at home that I wanted a really productive day tomorrow (today) because of it.
Guess what happened?
Endless fucking distractions.
Because of course.
• Cooking since apparently it’s my job.
• Extended computer repair and maintenance, since that’s apparently my job even when it’s not my computer.
• Children following me.
• People paraphrasing politics.
• People summarizing stupid fail videos.
• People relating stupid prank videos.
• More conversations.
• Endless random nonsense comments from children.
• Endless noises from children’s toys, tablets, playing, etc.
• Children following me when I leave.
• Taking half an hour to order food instead of five minutes.
• Cleaning since nobody else ever does.
• Picking up toys since nobody else will and I’M FUCKING TIRED OF STEPPING ON AND TRIPPING OVER THEM.
• More fucking food prep.
• Endless random nonsense comments from children.
• More conversations.
Is it any wonder I’m so fucking pissed off every workday?
I can’t wait to move so I can have a fucking office with a fucking door and a fucking lock. And you know what? I’m going to splurge and install some fucking soundproofing, too.
WHY IS IT SO FUCKING HARD TO JUST LEAVE ME THE FUCK ALONE!? I’M PAYING FOR YOUR FUCKING EVERYTHING. FUCK THE FUCK OFF!23
A turret (white) from Portal 2
A silver RWBY logo
Two foam dice as memorabilia from my previous job
A plush 😈
Plus a collection of various things saved and hidden from the scary hands of destructive children monsters.
We used to have a portal gun (both full size and mini) and a gravity gun on the dresser. But with the advent of children, they’re safely back in their boxes.
So the ceiling in our (upstairs) laundry room started leaking. After some troubleshooting, we determined it was the A/C, and not the water pipes. (The house is cheap as hell and fucking stupid.) We did some troubleshooting and research, and tried fixing it ourselves; no luck. Cleaning the pipes from outside: no joy. Cleaning the pipes from inside: no access. The attic is ... small. Maybe half a small closet? and doesn’t give access to fucking anything. The builders must have installed everything before putting up the walls and ceilings, sealing everything off, because there is no access. It’s fucking stupid. Also, the usual maintenance openings aren’t even there either because why the fuck would they be?
But fucking whatever.
We called an a/c repair guy, who never showed. We assumed he was busy (it’s fucking hot), so we called him again the next day; two days later he showed.
Guy didn’t bring a ladder. Whatever, we have one right there in the hallway because we’ve been trying in vain to fix it.
Guy didn’t bring a wrench of any kind. Guy didn’t bring a screwdriver. Guy didn’t bring a bucket. Guy didn’t bring any pipe. Or any pipe sealant. Or fucking anything but his sagging fucking pants, fat belly, and fat stench. We had to supply everything, which fortunately we had on hand as we were already trying to fix it. Hoorah for being proactive.
Guy said he drained both primary and secondary pans. Somehow. Without access. I’m not even convinced it HAS a secondary pan. Guy said he cleaned out the pipes, too. From inside the house. Without access. Somehow. Maybe he did that from outside, without tools, while I was chasing the brats and someone else was watching the fat bastard. Who knows; I wasn’t with him most of the time.
When he was done, the guy said “pay whatever you think it’s worth” (or whatever). Fine, if he actually cleaned the pipes out and it isn’t leaking anymore, that’s great.
We go up to check. AND THE FUCKING A/C IS STILL LEAKING. BUT NOW IT’S FROM BEFORE THE PIPES, TOO. AND HALF AN HOUR LATER, THE LAUDRY ROOM CEILING IS ALSO LEAKING, WHICH MEANS THE PIPES ARE STILL LEAKING.
It turns out the asshole broke the pan.
We call him back, he goes blah blah blah, we send him a video. Drip, drip, drip.
“The pan must be rusted.” IT’S FUCKING PLASTIC.
“Oh, in that case, it’s probably a rusted coil that’s leaking.”
a) HOW DID YOU NOT KNOW IT WAS FUCKING PLASTIC IF YOU DRAINED IT?
b) THE COILS CARRY FREON, NOT WATER, AND THE A/C IS STILL WORKING. IF THERE WAS A LEAK, SHIT WOULD BE HOT. AND RANK. FREON SMELLS NASTY AND DOESN’T CAUSE IT TO RAIN IN THE FUCKING HOUSE.
REPLACING A COIL IS ALSO A $2000 FUCKING REPAIR.
THE FAT BASTARD PROBABLY BROKE THE PAN INTENTIONALLY JUST TO UPSELL. I WANT TO FUCKING MURDER HIS LYING FUCKING FACE OFF.
It’s possible he didn’t break the pan intentionally, so I’ll tentatively remove that from his charges. BUT TO FUCKING LIE?
LIE AND DIE, FUCKER.9
Why are people such idiots?
This guy is so oblivious he reminds me of a client or PM.
Here’s the email conversation (since he refuses to answer his cell):
Me: Hey; I haven’t been able to reach you for several days. You must be busy! Let me know what time works best for you, and I’ll call you then. Alternatively, you can reach me at <number> any day this week (except Wednesday) from 11am PST (2pm EST) onward.
Him: I will call you at 2:30pm your time on Wednesday.
Me: As I stated in my email, Wednesday is the only day that doesn’t work for me.
Him: Are you free on Thursday?
Me (to audience): YOU FOOLISH, ILLITERATE TOAD!
Me: I am free Thursday (and Friday) from 11am PST and onward.10
The worst part about being totally in the zone: looking up after a hour or five and realizing you really really really really need to pee. And knowing that as soon as you get up it’s all over. 😭8
Splash of gin (I used Bombay)
Sugar/replacement to taste
Tastes like traditional lemonade, but this one is a great remedy for burnout/reality.
tl;dr: Bossmang blaming my code for a database connection issue thrown from outside of my code. Bossmang doesn’t listen. Bossmang doesn’t want to believe it’s a connection issue.
Bossmang: The code you wrote is causing insane spec failures in the release branch! It’s hard to follow because it’s so insane, but the cause is your code not properly handling undefined settings! Look at this! <spec>
Me: Specs pass on my machine. I ran it with both a set and nil value. <screenshots>
Bossmang: It works when you set it to nil.
Me: But a setting that doesn’t exist returns nil? <screenshot>
Bossmang: Not seeming to.... So this is the spec failure from the release: “No connection pool with id primary found. <stacktrace that starts outside of my code>”
Me: ... That’s a DB connection error. It’s also being thrown outside of my code, and from a `super` call to Rails.
Bossmang: But <unrelated> and <unrelated> and <other spec> is failing, and if I set the version, it has <other failure> instead! That calls your code first.
Me: It’s a database error. Also: <explains probable, unrelated cause of other failures, like someone didn’t mock a fucking external api call>
Bossmang: But if I restore a DB backup, it fails again.
Me: Restoring uses a dB connection, which could be exhausting the pool depending on the daemons you have running.
Bossmang: I still think it’s related to spec ordering.
This is tiring.12
I just gave a 20 minute presentation in front of fifty people, and apparently did well enough that I got five private compliments afterwards, including one from the vice president. 🥳
And all of that without a single drop of rum!16
From last night:
Decrypting a LUKS volume group from a different install is a major pain in the drinking time. I can’t get this crap working no matter what I try. Ugh.6
Spiced rum, kahlua, grand mariner, chocolate liquor, milk, ice. Tastes like house paint, and not in the good way like protein bars. Do not recommend. Better with more milk, but still meh.
Spiced rum, kahlua, triple sec, milk, ice. Tastes like orange milk with coffee. Pretty nice.
Spiced rum, ice. Tastes like a faint memory of heaven. Amazing grace, hallelujah.13
THIS FUCKING DEBUGGER IS IGNORING MY FUCKING BREAKPOINTS
GO TO HELL YOU PIECE OF SHIT
AND RSPEC: FUCK YOUR LIMITED METHOD HIT-COUNTING BULLSHIT! ONE HIT-COUNT PER METHOD FOR THE ENTIRE SPEC IS NOT GOOD ENOUGH!
I want to light this project on fire and walk away. Nothing is making any bloody sense.
According to specs, It’s updating a google wallet object via api, but isn’t generating the data to send along, despite every possible code path hitting that first. It also apparently isn’t calling any of the methods along the way. Obviously this is false, but that’s what the specs are reporting.
It’s also updating the object when nothing has changed. That might be, but shouldn’t, because I can see it calling the `should_update?` method which returns false, and it nopes out after that. so wth.
I’m so ready to never see this craziness ever again.
wtb kerosene or Greek fire pot, good price, pst. open to trade5
I spent the entire freaking day on one spec — one! — and I still haven’t gotten it to pass. Or fail. It’s still just breaking. Even the simple crap is breaking, so getting the actual complicated things I need it to do working? Bloody pipe dream (whatever that means).
Just. Goddamn this system is complicated and poorly designed.
And no, before you ask, of course there is no documentation.
I want my day back. 😡4
Drinking game: Take a shot whenever you’re staring at work and don’t feel like working.
Bonus game: try not to die or get fired.21
My work computer is so fucking laggy that even simple typing is often infuriating, and sometimes bloody impossible.
My input gets garbled, or it takes so long that I finish typing and have to wait for it to show up. And sometimes. Sometimes it’s just. I don’t have words. I just typed “merchants”, saw a giant spam of “eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee[...]” and then saw it replaced with “etsmhcaern”. What. The. 🦆.17
Day three of trying to get WiFi working. No end in sight. Temperatures are rising, water is scarce; must drink rum for sustenance.27
STOP BREAKING FOR NO FUCKING REASON YOU FRAGILE PIECE OF BUG-INFESTED SHIT
I’M NOT EVEN TOUCHING ANYTHING WTH12
Signet, the google auth library, is somehow throwing a DivideByZero error, despite the only math in the file being linear back-off (`sleep retry++ * 0.3`). Also, the line it’s getting thrown on very specifically throws an entirely different error: a Signet::AuthorizationError.
What is even going on?
Also this worked yesterday.
The Debian 10 live disc and installer say: Heavens me, just look at the time! I’m late for my <segmentation fault
The Debian 10 live cd and its new “calamares” installer are both complete crap. I’ve never had any issues with installing Debian prior to this, save with getting WiFi to work (as expected). But this version? Ugh. Here are the things I’ve run into:
Unknown root password; easy enough to get around as there is no user password; still annoying after the 10th time.
Also, the login screen doesn’t work off-disc because it won’t accept a blank password, so don’t idle or you’ll get locked out.
The lock screen is overzealous and hard-locks the computer after awhile; not even the magic kernel keys work!
The live disc doesn’t have many standard utilities, or a graphical partition editor. Thankfully I’m comfortable with fdisk.
The graphical installer (calamares) randomly segfaults, even from innocuous things like clicking [change partition] when you don’t have a partition selected. Derp.
It also randomly segfaults while writing partitions to disk — usually on the second partition.
It strangely seems less likely to segfault if the partitions are already there, even if it needs to “reformat” (recreate) them.
It also defaults to using MBR instead of GPT for the partition table, despite the tooltip telling you that MBR is deprecated and limited, and that GPT is recommended for new systems. You cannot change this without doing the partitions manually.
If you do the partitions manually and it can’t figure out where to install things, it just crashes. This is great because you can’t tell it where to install things, and specifying mount points like /boot, /, and /home don’t seem to be enough.
It also tries installing 32bit grub instead of 64bit, causing the grub installer to fail.
If you tell it to install grub on /boot, it complains when that partition isn’t encrypted — fair — but if you tell it to encrypt /boot like it wants you to, it then tries installing grub on the encrypted partition it just created, apparently without decrypting it, so that obviously fails — specific error: cannot read file system.
On the rare chance that everything else goes correctly, the install process can still segfault.
The log does include entries for errors, but doesn’t include an error message. Literally: “ERROR: Installation failed:” and the log ends. Helpful!
If the installer doesn’t segfault and the install process manages to complete, the resulting install might not even boot, even when installed without any drive encryption. Why? My guess is it never bothered to install Grub, or put it in the wrong place, or didn’t mark it as bootable, or who knows what.
Even when using the live disc that includes non-free firmware (including Ath9k) it still cannot detect my wlan card (that uses Ath9k).
I’ve attempted to install thirty plus times now, and only managed to get a working install once — where I neglected to include the Ath9k firmware.
I’m now trying the cli-only installer option instead of the live session; it seems to behave at least. I’m just terrified that the resulting install will be just as unstable as the live session.
All of this to copy the contents of my encrypted disks over so I can use them on a different system. =/
I haven’t decided which I’m going with next, but likely Arch, Void, or Gentoo. I’d go with Qubes if I had more time to experiment.
But in all seriousness, the Debian devs need some serious help. I would be embarrassed if I released this quality of hot garbage.
(This same system ran both Debian 8 and 9 flawlessly for years)15
I keep a 20 year old PS/2 keyboard around specifically for that rare event I need to edit my bios settings. My mobo doesn’t enable usb until half a second after it stops listening for input because who uses usb keyboards, anyway?13
We got an HTC Vive from my girlfriend’s brother two weeks ago. We’ve been enjoying it, playing games, looking at places to move, using it as a virtual vacation (since we haven’t left the house in months thanks to covid and sweltering heat), etc. It’s been amazing.
Today, my 1yo decided it would be great fun to wrap its cord in the exercise bike and spin the pedals (and therefore flywheel) as fast as he could. It ripped the headset band off, broke the plastic attachment, and tore the cables out. He also broke the pedal somehow.
So no more Vive.
We can probably get it fixed, but.
My heart hurts.11
Why everyone and their toy cars gotta be jumping on the bed when I’m trying to sleep?
For months now, I get bleary eyed and tired every time I look at work. Focusing and being productive is almost impossible. I’m cheery and alert, then sit down, open my editor, and find I can’t focus. Moments later I feel like I need a nap.
I get interrupted an average of every 3-5 minutes, basically every day, all day long. The more this happens, the more tired and angry I become. I often have to resort to yelling, throwing toys that appear on my desk/keyboard, and blasting loud music I don’t want to hear through noise canceling headphones.
Is it any wonder I can’t focus or think or do anything but feel like I’m falling asleep? Is it any wonder I’m perpetually angry and frustrated?
I can sort of fix the interruptions by locking myself away in my monster’s room. But I’m still so tired and bleary and can’t focus. I don’t know what to do, or even what I can do. Vacation didn’t help. Another would doubtlessly be just as effective, and certainly wouldn’t improve my boss’s view of my performance.
What do you do when your redirect doesn’t go where you tell it?
Clearly I’m missing something.
I stepped through the code, following the failure path of Sheogorath’s Recaptcha. It fails as expected, and hits this redirect before doing anything else:
`return redirect_to new_user_session_path`
I verified that this redirects to the “/users/sign_in” path, and it returns so the server doesn’t even try to authenticate the user. It just nopes out as it should to prevent timing attacks.
But somehow instead of doing that and redirecting as it should, it signs the user in and redirects somewhere else entirely: the role select page, which only happens after authenticating an admin user. It never even hits my breakpoint after the recaptcha check! It never authenticates!
I think what I’m missing is my old reality where things made sense.5