AboutMisanthropic bane of idiots.
SkillsRuby ❤, js/es6, css, react, sql. VB and PHP can die in a fire; .NET can go, too.
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'm not tired, and coding sounds like the best thing ever right now. Figured out a solution to that blocking architecture issue, too. So: headphones on, blare Amon Amarth and Disturbed, bring up editor. It's time to work on that side project!
Best night in months.12
What the crap is it with job applications and requiring freaking videos now?
I'm not some social butterfly that wants to be all friendly with everyone and a part of their goddamn lives. Give me a problem and/or some code and I'll happily make it work; give me an extrovert with a goddamn video call fetish and I'll fucking leave.
I'm an engineer, not your salaried girlfriend.48
Freaking tech support.
Their 'one-way interview' bs only supports flash. Flash. in production. in 2019. Flash died years ago, and its support ends next year. What the crap?
Anyway, I finally decided I should do the interview since they already have all of my information anyway. Thanks, "privacy-conscious" third party. Totally appreciate it.
I spent half an hour and couldn't get flash working on their site (but all other sites were fine), so I contacted their support. I gave them all the relevant specs (inc. ofc browser), the steps to reproduce, and all of my attempts at fixing the issue.
To their credit, I recieved a response within a few minutes. To their discredit: their response was: "What browser are you using?" This question was followed by my report (including, ofc, my browser and all the other overlooked details), immediately followed by a "debugging info" section appended by their support service that also included my browser, os, and other specs.
Learn to fucking read.
Their suggestion? Use google chrome. Barring that: record your 20-30 minute video by holding your phone in front of your face the entire time. I am so not kidding.
They also asked what page i was having difficulty on. You guessed it: the page url was also included within that "debugging info" section.
It wasn't a form letter, either. I'd understand if it was all automated, but it was a real person who was really typing up the emails, and really didn't bother reading a damned thing.
I did end up getting flash working, but their "tech support" (script-reader) was entirely useless.18
What the fuck is this one-way interview bullshit?
"The organization you are interviewing with has come up with a series of interview questions that they have requested you to respond to. This is an on-demand interview which means that you'll be recording your video interview answers at your convenience as long as you submit them before the deadline." -- sparkhire.com
What if I have questions? I have plenty, and I find those questions considerably more important than whatever bullshit gotchas the company wants to annoy me with.
At least have the decency to talk to me.40
Well that's a first.
A Chinese recruiter contacted me speaking entirely in what I suspect was Mandarin.
My resume and posted work experience lacks any mention of Mandarin, Cantonese, etc. Then again it also lacks any mention of Java, and yet recruiters still call me a Java master. 🤔25
Neat. My StackOverflow reputation dropped like 1k points or more since I last checked ~six months ago.
No clue why.
(Also don't care.)17
This post is in memory of all the devRanters fallen in battle against management stress and impossible deadlines.
Let their memories remain, and their loss never be forgotten.8
Banks be like
You don't have much money?
Here, let me keep taking some of that from you until you get more, k?
Oh, that was more than you had?
Now you owe me even more, nerd.
What, you can't pay that either?
Better ask me for a loan so you can pay off your debt to me. Loser.
What? You still can't pay?
I'm gonna take your everything!45
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊3
There's a hole in the world like a great black pit
and the scum of the world inhabit it
and its morals aren't worth what a pig can spit
and it's filled with people who are filled with shit
and it goes by the name of EU...
At the top of the hole sit a privileged few
making mockery of the vermin in the lower zoo
turning beauty to filth and greed...
by passing shit like article 11, 13, and 17.
for the corruption of men is as wondrous as Peru5
HR: "We want to hire you, but we shouldn't until after we finish this migration and set up an onboarding process. That should take about two weeks; is this okay?"
Me: "Yes, of course."
... two and a half weeks later ...
Me: "Hey, it's been awhile since our last chat. How's the migration and onboarding process going?" etc.
This is the same company that had me sitting by the phone waiting for an interview an entire day, and let me know their schedule got booked for the day three minutes before they went home. gg.
I should tell them to get bent.33
A recruiter called me today. I had to barracade myself in the laundry room to hear him, and still needed to ask him to repeat himself 7-8 times. he spoke at what must have been 15% volume with a super thick Indian accent. He also couldn't pronounce a full third of the terms.
Here's how it went.
recruiter: you full-stack dev? what experience?
me: yes, about 8 years, maybe 10.
recruiter: you know C#?
recruiter: you know java? tomcat? spring?
me: no, I don't know Java.
recruiter: you know react? angular? apache? node?xml? json? html?
me: yes. yes, angular 1. yes, yes, ...
recruiter: ok, i email you java job posting
me: I don't know java.
recruiter: ok, i email you.
Recruiter used "email java job posting." It wasn't very effective.
Recruiter moves quickly! Recruiter used "did you get my email? email" immediately after. It was super effective! @Root becomes angered!
@Root becomes enraged!
recruiter: what [???] [?] [???] [??] java [???] [??] [???] okay
recruiter: You know C#?
me: No, I still don't know C#.
recruiter: ok thank you for time. 😡 *click*
What just happened?
I really don't understand their species.43
`npx create-react-app blah`
`cdls blah && npm audit`
good fucking job.
To be fair, they're all minor, but they're all *exactly* the same, caused by the same freaking package. Update your dependencies already!
`npm i --save formik && npm audit`
68 vulnerabilities, three of them critical.
Interview today! (Maybe?)
Sometime between 2pm and 10pm!
No idea if it's Skype or phone or what. Or with who. Or really when.
Sounds like I should turn them down. 😕19
Why are job postings so bad?
Like, really. Why?
Here's four I found today, plus an interview with a trainwreck from last week.
(And these aren't even the worst I've found lately!)
Ridiculous job posting #1:
* 5 years React and React Native experience -- the initial release of React Native was in May 2013, apparently. ~5.7 years ago.
* Masters degree in computer science.
* Write clean, maintainable code with tests.
* Be social and outgoing.
So: you must have either worked at Facebook or adopted and committed to both React and React Native basically immediately after release. You must also be in academia (with a masters!), and write clean and maintainable code, which... basically doesn't happen in academia. And on top of (and really: despite) all of this, you must also be a social butterfly! Good luck ~
Ridiculous job posting #2:
* "We use Ruby on Rails"
* A few sentences later... "we love functional programming and write only functional code!"
Cue Inigo Montoya.
Ridiculous job posting #3:
* 100% remote! Work from anywhere, any time zone!
* and following that: You must have at least 4 work hours overlap with your coworkers per day.
* two company-wide meetups per quarter! In fancy places like Peru and Tibet! ... TWO PER QUARTER!?
Let me paraphrase: "We like the entire team being remote, together."
Ridiculous job posting #4:
* Actual title: "Developer (noun): Superhero poised to change the world (apply within)"
* Actual excerpt: "We know that headhunters are already beating down your door. All we want is the opportunity to earn our right to keep you every single day."
* Actual excerpt: "But alas. A dark and evil power is upon us. And this… ...is where you enter the story. You will be the Superman who is called upon to hammer the villains back into the abyss from whence they came."
I already applied to this company some time before (...surprisingly...) and found that the founder/boss is both an ex cowboy dev and... more than a bit of a loon. If that last part isn't obvious already? Sheesh. He should go write bad fantasy metal lyrics instead.
* Service offered for free to customers
* PHP fanboy angrily asking only PHP questions despite the stack (Node+Vue) not even freaking including PHP! To be fair, he didn't know anything but PHP... so why (and how) is he working there?
* Actual admission: No testing suite, CI, or QA in place
* Actual admission: Testing sometimes happens in production due to tight deadlines
* Actual admission: Company serves ads and sells personally-identifiable customer information (with affiliate royalties!) to cover expenses
* Actual admission: Not looking for other monetization strategies; simply trying to scale their current break-even approach.
I find more of these every time I look. It's insane.
Why can't people be sane and at least semi-intelligent?18
I need something to do on my phone besides devRant and chess and repeatedly checking my email. Suggestions? I'm getting really sick of chess, and there's only so much content on devRant. And email? Nothing interesting for days (and weeks prior) despite waiting on so. many. people. to get back to me.
Random research is a given. And no, mobile games and social media are pointless.24
PineScript is absolute garbage.
It's TradingView's scripting language. It works, but it's worse than any language I have ever seen for shoddy parsing. Its naming conventions are pretty terrible, too:
transparency? no, "transp"
sum? no, cum. seriously. cum(array) is its "cumulative sum."
There are other terrible names, but the parser is what really pisses me off.
1) If you break up a long line for readability (e.g. a chained ternary), each fragment needs to be indented by more than its parent... but never by a multiple of 4 spaces because then it isn't a fragment anymore, but its own statement.
2) line fragments also cannot end in comments because comments are considered to be separate lines.
3) Lambdas can only be global. They're just fancy function declarations. Someone really liked the "blah(x,y,z) =>" syntax
4) blocks to `if`s must be on separate lines, meaning `if (x) y:=z` is illegal. And no, there are no curly braces, only whitespace.
There are plenty more, but the one that really got me furious is:
98) You cannot call `plot()`, `plotshape()`, etc. if they're indented! So if you're using non-trivial logic to optionally plot things like indicators, fuck you.
Whoever wrote this language and/or parser needs to commit seppuku.15
I have a problem.
My phone has "Rant" and [Comment] burned into the screen, along with the Facebook and share buttons. It's faint, but it's absolutely there.19
My 1.5 year old 1tb SSD just died unexpectedly. (Samsung EVO 850). It might be under warranty yet.
Fortunately the only data I lost was my debian install, some steam games, bookmarks, and a few unfinshed projects.
I kept everything important on a backup spinning drive -- which is also dying. Joy. But I might be able to save its data.34
tl;dr I need ideas on how to warn the next dev(s) that the company is a dumpster fire.
For the past week (actual time: three days) I've been writing documentation for work, since there isn't any. It's been okay, I guess. Certainly more interesting than anything else I've done at work in months.
I'm up to 10k words / 67kb of markdown, and I think I'm done. I could easily write another 30k words on everything, but I just can't care enough.
However, what I do care about is warning the next dev(s) about how terrible the place is to work, so I want to add little references or hints or other such things to my writing. To complicate that, there's a contractor dev who said he will edit the document to strip out my commentary and make it "friendly" for the next person. (I can kind of see why: I've been quite honest about the situation of everything, and it's pretty dire. If they read it as-is, they might just walk out the door. I certainly would have.) I'm also going to commit it to the repo, and afaik he doesn't have push rights, so he can't force-push and remove it. (and a force-push by someone else, adding my documentation immediately after I leave... that would be pretty fishy, too.)
Anyway, at someone's suggestion, I added a "three envelopes" reference in the access phrase generator section. I also wrote "Promises made outside of ES6 will not resolve" -- in the warning section of a document almost entirely about Rails. (because the boss has broken every single promise he has ever made me.)
What other hints and subtle warnings could I add?
(And hurry: tomorrow is my last day! ;3)23
I want a case/skin/idk for my lappy after I finally leave this company. I have this awful habit of associating things with memories. If the memory is bad, seeing the object reminds me of it, and e.g. makes me feel burned out again. So, I want to add a really pretty case to my lappy so it feels like my laptop instead of the company's.
I've found a few really beautiful ones on Etsy and Pinterest, but they're so ridiculously expensive! I really don't want to pay $90 🙁
Does anyone know where I can find alternatives?13
Root's shortest and best rant ever:
I tendered my resignation today!
I feel so happy and free ^_^48
Oh dear, another Tuesday!
That means I'll probably get chewed out for something in front of the entire company. What for, you ask? The boss is inventive, so it could be anything.
Instead, I'm calling in sick and taking the day off. 😊15
My day: Eight lines of refactoring around a 10-character fix for a minor production issue. Some tests. Lots of bloody phone calls and conference calls filled with me laughing and getting talked over. Why? Read on.
My boss's day: Trying very very hard to pin random shit on me (and failing because I'm awesome and fuck him). Six hours of drama and freaking out and chewing and yelling that the whole system is broken because of that minor issue. No reading, lots of misunderstanding, lots of panic. Three-way called me specifically to bitch out another coworker in front of me. (Coworker wasn't really in the wrong.) Called a contractor to his house for testing. Finally learned that everything works perfectly in QA (duh, I fixed it hours ago). Desperately waited for me to push to prod. Didn't care enough to do production tests afterwards.
My day afterwards: hey, this Cloudinary transform feature sounds fun! Oh look, I'm done already. Boo. Ask boss for update. Tests still aren't finished. Okay, whatever. Time for bed.
what a joke.
Oh, I talked to the accountant after all of this bullshit happened. Apparently everyone that has quit in the last six years has done so specifically because of the boss. Every. single. person.
I told him it was going to happen again.
I also told him the boss is a druggie with a taste for psychedelics. (It came up in conversation. Absolutely true, too.) It's hilarious because the company lawyer is the accountant's brother.
Summary of the summary: Boss is an asshole. Root gets angry; boss leaves instead of picking a fight for once. This makes Root sad (and really angry).
Summary: Root has another interaction with her boss. The boss is an asshole. Root is a bitch. Root would have been so so so much more of a bitch if the boss actually fucking responded. Root is sad this didn't happen. Root might have gotten fired. That would have made Root happy. :<
Le wild blackout appears!
-- Conference call (the short-short version) --
Boss: *freaks out* Fix it! Why aren't you fixing it? You have to fix it.
Me: I'm already fixing it. 😕
Boss: You have to fix it! This is important!
Me: Then let's get off this call so I can focus on fixing it!
Boss: Okay but fix it! *begrudgingly hangs up*
-- Slack --
Me: (posting a running log of what I'm doing) This is what i discovered. this is the cause. these are the possible fixes. I picked this one because it's quick and has few consequences, though it may break ____ so it'll need followup fixes. I'll do those tomorrow. Blackout resolved!
Boss: (apparently doesn't even noticed I fixed his shitty service)
-- Next day --
Boss: I want you to work on [stupid shit] instead.
Me: But what about the followup fixes?
Boss: Top priority! because customer service!
Me: ... fine.
-- Next week (verbatim because wtf) --
Boss: Did we test that [resolution] on ______? No one thought to test this. It didnt cross anyones mind at all? Either you guys can make good decisions and document concerns or I have to be part of every decision [...]. But this is basic. SHould have been a team heads up and said if we are switching this what can it break and can we test it. [sic]
Me: Did you want me to resolve the blackout quickly and allow people to actually use our service, or spend two days checking everything that might possibly have gone wrong? I weighed the possibilities and picked the solution with the quickest implementation with the fewest consequences. You're welcome.
Me: (Quotes boss's "SHould have been a team heads up" and links my "this is what could go wrong" heads-up in Slack)
Boss: (pretends not to even notice)
Boss: (talks about customer service related crap)
What a fucking loser.
I'm so angry he didn't respond and start in on me over it. I wanted to tear him to shreds in front of everyone.
He tried adding another huge project to my plate earlier today, and I started flipping out on him for all these shitty sales features he keeps dumping on me in place of real work that i still get blamed for not finishing. The contractor stepped in before it got too heated, though, which is probably best because my reaction was pretty unprovoked. The above rant, though? Asshole doesn't read, just blames and yells when he's angry.
I really hate him.23
I bought a new wlan card to fix my infuriating wifi issues. It's a TPLink Archer T6E, supports ac, and ostensibly uses Ath9k drivers. Multiple reviews said "installed, booted, and connected! So easy."
I've spent the past two hours trying to get it to work. No banana.
Some other reviews have them fighting with the drivers for days. Looks like that's going to be me, too. 😡
Why the fuck is wifi so fucking difficult?21