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 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 trade6
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.26
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. 🦆.15
Day three of trying to get WiFi working. No end in sight. Temperatures are rising, water is scarce; must drink rum for sustenance.25
STOP BREAKING FOR NO FUCKING REASON YOU FRAGILE PIECE OF BUG-INFESTED SHIT
I’M NOT EVEN TOUCHING ANYTHING WTH9
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?18
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
Playing Space Pirate Trainer and using two zappy sticks (voltorbs?) is a surprisingly fun workout. It also makes you look like an idiot dancing around waving your arms in the air. 💃🏻
Robot dance party!3
Here’s how my Friday night is going:
return redirect_to :nope
# signin logic
The guard says I shouldn’t sign the user in. It logs the details of why. I read the logs; they’re all correct. It logs the return value, which is false, and the user gets signed in anyway.
There’s a return and a redirect there!
This is only happening on the QA server, too, so something fishy is going on.6
Cool, so it looks like updating my nVidia drivers somehow killed LUKS on my machine? or whatever happens immediately after decrypting the volume group; honestly can’t tell.
To the uninitiated, this means my machine no longer boots. Like, at all.
Looks like I’m spending tomorrow reverting. 😕12
FUCKING LEAVE ME THE FUCK ALONE!
I NEED TO FUCKING WORK!
NO I DON'T CARE ABOUT POLITICS.
NO I DON'T CARE ABOUT YOUR RANDOM FUCKING DREAMS.
NO I DON'T CARE ABOUT COINS OR THE PRICE OF GOLD.
NO I DON'T CARE ABOUT SOME EXPENSIVE PLANE OR BOAT OR CAR YOURE NEVER GOING TO BUY.
NO I DON'T CARE ABOUT CHINA.
NO I DON'T CARE ABOUT YOUR DRAMA.
I DON'T CARE ABOUT ANY OF THE ARBITRARY FUCKING BULLSHIT YOU BLABBER ABOUT.
STOP. WASTING. MY. TIME.
I'M THE ONLY ONE PAYING THE BILLS
SHUT THE FUCK UP AND LET ME DO IT!27
THIS FUCKING RECAPTCHA GEM! WHY THE FUCK MUST I DEBUG YOUR FUCKING PRODUCTION CODE AND WORK AROUND YOUR FUCKING BLUNDERS?
VERY LITTLE PISSES ME OFF MORE THAN SUFFERING FROM SOMEONE ELSE'S FUCKING STUPIDITY5
Adding recaptcha tests, I copy a passing login spec
and because I'm bored, I run it again just to check.
I paste in the passing mock
and run it in my new block
and oh no, why are you failing? What the heck!?1
Is anyone else having issues with TutaNota?
I haven't been able to use it for a week now. 😕
(Yes, I've submitted a bug report or six.)13
Less recruiter and more recruiting company.
Specifially: Robert Half.
Robert Half is scammy as hell, and they 'fired' me for quitting when my girlfriend got raped. Really.
Robert Half took half of my paychecks for the entire duration of my contracts with them. I didn't know right away because, as a policy, they hide how much the hiring company is paying for you, and they also forbid the company from telling you. (The company pays RHI, RHI pays you). Makes sense why they hide it because it certainly pissed me off.
Long story short, I worked for a php dev shop through them (after telling them to lower their fees or i'd walk), worked there for awhile (while remote moonlighting because why not!), and quit. I quit because my girlfriend at the time had just gotten raped, and with the emotionall fallout from that, there was no way I could focus on two jobs and be there for her. My boss understood and let me leave, though it put him in a bind.
The next day, I got a call from the regional manager of Robert Half. He was a total tool. He demanded to know if I quit, didn't care why I quit, proceeded to "educate" me in the finer points of why that was unprofessional and why i'm unemployable, accused me of lying about idr what, and finally switched into legalese to say "I regret to inform you that you can no longer consider Robert Half as a means of employment." (or something along those lines) and hung up on me. Asshole. I hope various large someones rape him so he has an inkling what it's like to be objectified and thrown away like trash.
Guy was an asshole; probably still is.
RHI was awful and scammy; probably still is, too.
Wasn't really a fan of the job either.
So at the end of it, I wasn't out anything but some patience and serenity (a lot of serenity). I kept the first (remote) job, was there for my girlfriend, and helped her through everything.
But yeah, Robert Half?
They can fucking go to hell.25
Regus sent me to collections.
Jist: if you ever think about renting an office from Regus, for the love of your bank account and your credit, just don't. Go into the kitchen and pan-fry your face instead. it'll be better.
Moral: get it in writing. What is "it"? Fucking everything.
I needed someplace quiet away from my children to work, so I rented an office from Regus. They said they had a minimum 6-month contract, which is fine, but at the time I was pretty sure I would be moving within three to five. They said they understood and offered the quivalent of a month-to-month plan: I could cancel my contract whenever I wanted, given a few weeks' notice, and that would be that. It wasn't in writing, but both the accounts person and the regional manager were there offering it to me, and they seemed cool. Awesome! I agreed, signed the contract, and paid a hefty damage deposit.
Long story short, I ended up hating the office, and chose to bear the distractions at home instead. Seeing how much I disliked it, the accounts person I talked to originally called me and offered to cancel my contract. I agreed, and she walked me through the steps to cancel it and request my deposit back. Done. I aske her if that was it; no more payments, no more contract. "No more," she said. "You're done." I liked the sound of that. Done and done.
The next day, I check my bank account; no deposit.
Two weeks later, still no deposit.
A month later, still no deposit.
They did say it could take up to three fucking months or something, so whatever. I waited.
Another month later, and instead of my refunded deposit, I get an overdue invoice notice? Seriously?
Apparently they never cancelled my contract, don't remember offering me the month-to-month agreement, nor does the very chick I talked to remember telling me over the phone that everything was paid up and done. Apparently my contract wasn't even for six months like they originally promised, but indefinite? despite all of this? and despite the two of us fucking cancelling it? together?
But no, the legal agreement is binding and explicitly states that they are fucking assholes and due their pound of cash.
So fuck that and fuck them.
And in response, they sent me to collections.
Huge fucking surprise.
and now collections is calling me saying I owe $1900, which works out to a lot more than the couple months it's been since I cancelled that crap, AND.
AND IT'S LESS THAN THE FUCKING DEPOSIT REGUS NEVER RETURNED!
SO NOT ONLY DID THEY NEVER CANCEL MY CONTRACT, THEY CHANGED ITS TERMS (or lied up-front) AND DECIDED TO POCKET THE DEPOSIT INSTEAD OF APPLY IT TO MY FUCKING IMAGINARY BALANCE!
FUCK YOU SHADY MOTHERFUCKERS!6
Root gets ignored.
I've been working on this monster ticket for a week and a half now (five days plus other tickets). It involves removing all foreign keys from mass assignment (create, update, save, ...), which breaks 1780 specs.
For those of you who don't know, this is part of how rails works. If you create a Page object, you specify the book_id of its parent Book so they're linked. (If you don't, they're orphans.) Example: `Page.create(text: params[:text], book_id: params[:book_id], ...)` or more simply: `Page.create(params)`
Obviously removing the ability to do this is problematic. The "solution" is to create the object without the book_id, save it, then set the book_id and save it again. Two roundtrips. bad.
I came up with a solution early last week that, while it doesn't resolve the security warnings, it does fix the actual security issue: whitelisting what params users are allowed to send, and validating them. (StrongParams + validation). I had a 1:1 with my boss today about this ticket, and I told him about that solution. He sort of hand-waved it away and said it wouldn't work because <lots of unrelated things>. huh.
He worked through a failed spec to see what the ticket was about, and eventually (20 minutes later) ran into the same issues Idid, and said "there's no way around this" (meaning what security wants won't actually help).
I remembered that Ruby has a `taint` state tracking, and realized I could use that to write a super elegant drop-in solution: some Rack middleware or a StrongParams monkeypatch to mark all foreign keys from user-input as tainted (so devs can validate and un-taint them), and also monkeypatch ACtiveRecord's create/save/update/etc. to raise an exception when seeing tainted data. I brought this up, and he searched for it. we discovered someone had already build this (not surprising), but also that Ruby2.7 deprecates the `taint` mechanism literally "because nobody uses it." joy. Boss also somehow thought I came up with it because I saw the other person's implementation, despite us searching for it because I brought it up? 🤨
Foregoing that, we looked up more possibilities, and he saw the whitelist+validation pattern quite a few more times, which he quickly dimissed as bad, and eventually decided that we "need to noodle on it for awhile" and come up with something else.
Shortly (seriously 3-5 minutes) after the call, he said that the StrongParams (whitelist) plus validation makes the most sense and is the approach we should use.
I came up with that last week and he said no.
I brought it up multiple times during our call and he said it was bad or simply talked over me. He saw lots of examples in the wild and said it was bad. I came up with a better, more elegant solution, and he credited someone else. then he decided after the call that the StrongParams idea he came up with (?!) was better.
jfc i'm getting pissy again.9
rum rum rum rum rum rum rum rum rum rum rum rum rum rum rum rum rum rrum rumr rum rmum rumr um rum rumrum rum rum rum rum rum rum rum rum rum rurum rum rumr urm rumr urm rurm rurm furm furm furm rujr ujrm ujr urm rurm rumr urrjmmr17
I spent four hours just getting my dev environment working again today.
Whenever I switch branches on this project, I keep to run a script that does migrations, seed data, test db setup, static test info, etc. etc. etc. It takes 12-15 minutes to run.
Today, that script failed.
Apparently one of its steps requires running some of the project's code to produce valid objects. Makes sense. However, my ticket involves breaking a crapton of models (removing accessors) which I've already done, and then patching the behavior, which I haven't. Which means a lot of things are currently broken. Makes sense why the script fails.
However, I can't run the script on a different branch and then switch back because that simply doesn't work (for reasons), so I needed to find some workaround. I eventually did, but every attempt cost me 12 minutes.
Today was not fun, and certainly not productive.
I wonder when they're going to fire me 😅7
Stacktraces with zero useful information.
Two full days of breakpoint stepping and framework spelunking.
"bifurcated" object creation.
Inheritence hell fucking everywhere.
Models with both `has_one :x` AND `has_many :x`!?
Automatically-created objects when reading from magic virtual columns!?
What the fuck is this fucking four-dimensional spaghetti monstrosity and just how many angel puppies did I torture and maim in a previous life to deserve this nightmare?
And all of this to fix 12 fucking specs, out of the 1,780 this fucking ticket requires me to break and fix. FML6
I was on a 1:1 with my boss talking about my performance, recent tickets, HR stuff, anything I need, plans for the next quarter, etc.
My 4yo ran up, pointed to my boss on the screen, and asked "who is mommy on a call with?" I told him it was my boss, T, and that he needed to be quiet. "I want talk to T!" He demanded. "Hi T!" He wouldn't take no for an answer. We were pressed for time, so. As cute as it was, it wasn't very welcome.
It took like five minutes to finally make him leave. Now whenever I'm on a call, he runs up and yells "Hi T!!!!" at the screen. 😅 even when its standup or the engineering meeting with like 50 people.... thankfully there is a mute button! His face still pops up on camera, but most people understand and just laugh.
He's cute but he can be soo embarrassing!7
Which phones do you recommend?
Which have given you the fewest problems?
I want something with custom rom support so i can add my own problems (duh) and to make it prettier. Apart from that, the only other deal breakers are a lack of wireless charging (I have children who break everything) and an awful screen. I'm not really picky about anything else, but I do want it pretty.
Anyone have a phone like this that they actually like?21
More adventures in fixing specs.
This particular failing spec is in an included spec helper; I cannot run the spec itself because rubymine is stupid and doesn't know how. Not kidding. I also don't know the codepath it's actually testing because it's fucking convoluted, so I need (rather: want) a debugger to progress. I put breakpoints everywhere I thought it could be, and... nothing.
The stacktrace shows the calling spec in the helper module, a generic `process` method that just calls `super` (from where? who knows!), and a `wrap_every_action` in the ApplicationController. in other words: absolutely nothing helpful. I stepped through the code for most of an hour and didn't get anywhere; just saw lots of rails internals.
I'm going to keep bashing my head against this, but what the fuck, why can't you give me something goddamn useful!?5