Details
-
AboutStay hungry, stay lazy.
-
SkillsC/C++, Java, Android, Matlab, Python
-
LocationTaiwan
Joined devRant on 3/9/2017
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
- Cookie warnings
- Autoplay videos
- "It's better on the app!"
- Surprise paywall
- Newsletter popups
- "Sorry, this content is not available in your region!"
- Lazily paraphrasing another website without disclosing the source in an obvious way
- Anti-adblock popups
- "Become a pro-member today: starting at $4.99/month!"
- "Sign up here to get my free e-book! :)"
- "keep reading" button to load the rest of the damn article
- "We have a podcast!"
- ...
I hate the current state of the web.13 -
Why the Fuck would someone disable pasting on a password field!!!! How the fuck am I supposed to enter my shit from my password manager now?16
-
Today I discovered that we have a CSV export button for an order transaction system, on a page which is completely disconnected from the rest of the website.
It is only being called by an internal server, used by our Data department.
They run selenium to click the button.
Then they import the CSV into a database.
That database is accessed by an admin panel.
That admin panel has an excel export button.
Which is clicked by our CFO. But he got bored of clicking, so he uses IFTTT to schedule a download of the XLS and import it in Google Sheets.
That sheet uses a Salesforce data connector.
Marketing then sends email campaigns based on that Salesforce data...
😒11 -
Me: "Hmmmm, why is my firefox acting erratically? What's wrong with scrolling?"
Also me: "Oh fuck, I've been pressing control with my hand resting on the keyboard"1 -
A little headpat for those who have suffered so much in making wrapper code for managed languages for native libraries
Because I know how painful it is to make one16 -
!dev
My mental health has been down the drain b'cuz of circumstances. And unfunnily, it did end up taking the better of me. yet folks around me still do not believe it's a thing that people don't want to live anymore; rather it's a "childish" thing and "are you so weak" thing.
And I'm just gonna tell you, if you ever said that to someone who feels like the world is coming to an end for them, you're an unbearable ass, and you're probably one reason that person wants to off themself.
Living around some people is just torture on its own.7 -
There is a russian cartoon called Fixiks (“Фиксики”, tiny fixers) which is about tiny creatures that live inside tech and fix it when it breaks without the owner knowing. This is a fun, family-friendly cartoon rated 3+ filled with approachable explanations of how does common tech stuff around us work: TVs, washing machines, etc.
However, there is one weird, super grim episode about one such creature who forgot to leave a TV he was living inside that is being thrown away and ending up on the scrapyard.
Having no choice but to follow his purpose, he becomes obsessive trying to fix an endless amount of broken tech there, with new broken stuff being delivered to that scrapyard every moment. After a while, he completely loses his sanity.
That episode displays what seems like a weird mix of schizophrenia and OCD. Having a psychological trauma he fails to recognize the rescue team of his own kind, attacking them. He loses his ability to talk, resorting to random screams of aggression.
This episode doesn’t really feature even a single explanation of how something works. It just is there somehow among the episodes of a casual, happy cartoon for children.
Needless to say, this is my favorite episode.12 -
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
So I told my wife one week ago: "Yeah, you should totally learn to code as well!"
Yesterday a package arrived, containing a really beautiful hardcover book bound in leather, with a gold foil image of a snake debossed into the cover, with the text "In the face of ambiguity -- Refuse the temptation to guess" on it.
Well, OK, that's weird.
My wife snatches it and says: "I had that custom made by a book binder". I flip through it. It contains the Python 3.9 language reference, and the PEP 8 styleguide.
While I usually dislike paper dev books because they become outdated over time, I'm perplexed by this one, because of how much effort and craftsmanship went in to it. I'm even a little jealous.
So, this morning I was putting dishes into the dishwasher, and she says: "Please let me do that". I ask: "Am I doing anything wrong?"
Wife responds: "Well, it's not necessarily wrong, I mean, it works, doesn't it? But your methods aren't very pythonic. Your conventions aren't elegant at all". I don't think I've heard anyone say the word "pythonic" to me in over a decade.
And just now my wife was looking over my shoulder as I was debugging some lower level Rust code filled with network buffers and hex literals, and she says: "Pffffff unbelievable, I thought you were a senior developer. That code is really bad, there are way too many abbreviated things. Readability counts! I bet if you used Python, your code would actually work!"
I think I might have released something really evil upon the world.29 -
My local ISP was saving their database backups in an unprotected folder which was literally domain.com/backups
When I downloaded it contained thousands of their clients data.
Reported it to them and got 2 years of internet/tv services for free.
They wanted to hire me but I was still studying in my first year of uni in another city.7 -
There was a time in Windows 95, where during login, you could just press cancel and you were logged in without the need of a password.8
-
You know what?
Young cocky React devs can suck my old fuckin LAMP and Objective-C balls.
Got a new freelance job and got brought in to triage a React Native iOS/Android app. Lead dev's first comment to me is: "Bro, have you ever used React Native".
To which I had to reply to save my honor publicly, "No, but I have like 8 years with Objective-C and 3 years with Swift, and 3 years with Node, so I maybe I'll still be able help. Sometimes it just helps to have a fresh set of eyes."
"Well, nobody but me can work on this code."
And that, as it turned out was almost true.
After going back and forth with our PM and this dev I finally get his code base.
"Just run "npm install" he says".
Like no fuckin shit junior... lets see if that will actually work.
Node 14... nope whole project dies.
Node 12 LTS... nope whole project dies.
Install all of react native globally because fuck it, try again... still dies.
Node 10 LTS... project installs but still won't run or build complaining about some conflict with React Native libraries and Cocoa pods.
Go back to my PM... "Um, this project won't work on any version of Node newer than about 5 years old... and even if it did it still won't build, and even if it would build it still runs like shit. And even if we fix all of that Apple might still tell us to fuck off because it's React Native.
Spend like a week in npm and node hell just trying to fucking hand install enough dependencies to unfuck this turds project.
All the while the original dev is still trying TO FIX HIS OWN FUCKING CODE while also being a cocky ass the entire time. Now, I can appreciate a cocky dev... I was horrendously cocky in my younger days and have only gotten marginally better with age. But if you're gonna be cocky, you also have to be good at it. And this guy was not.
Lo, we're not done. OG Dev comes down with "Corona Virus"... I put this in quotes because the dude ends up drawing out his "virus" for over 4 months before finally putting us in touch with "another dev team he sometimes uses".
Next, me and my PM get on a MS Teams call with this Indian house. No problems there, I've worked with the Indians before... but... these are guys are not good. They're talking about how they've already built the iOS build... but then I ask them what they did to sort out the ReactNative/Cocoa Pods conflict and they have no idea what I'm talking about.
Why?
Well, one of these suckers sends a link to some repo and I find out why. When he sends the link it exposes his email...
This Indian dude's emails was our-devs-name@gmail.com...
We'd been played.
Company sued the shit out of the OG dev and the Indian company he was selling off his work to.
I rewrote the app in Swift.
So, lets review... the React dev fucked up his own project so bad even he couldn't fix it... had to get a team of Indians to help who also couldn't fix it... was still a dickhead to me when I couldn't fix it... and in the end it was all so broken we had to just do a rewrite.
None of you get npm. None of you get React. None of you get that doing the web the way Mark Zucherberg does it just makes you a choad locked into that ecosystem. None of you can fix your own damn projects when one of the 6,000 dependency developers pushes breaking changes. None of you ever even bother with "npm audit fix" because if security was a concern you'd be using a server side language for fucking server side programming like a grown up.
So, next time a senior dev with 20 years exp. gets brought in to help triage a project that you yourself fucked up... Remember that the new thing you know and think makes you cool? It's not new and it's not cool. It's just JavaScript on the server so you script kiddies never have to learn anything but JavaScript... which makes you inarguably worse programmers.
And, MF, I was literally writing javascript while you were sucking your mommas titties so just chill... this shit ain't new and I've got a dozen of my own Node daemons running right now... difference is?
Mine are still working.34 -
I lost my sanity and googled ”FUCK YOU XCODE YOU FUCKING PIECE OF SHIT”...
That's how I found devRant.9 -
All the stupid date functions where the days range from 1 to 31 but the months range from 0 to 1120
-
Dear mobile apps devs,
No one's gonna hate you if you do not provide a multilingual support. Just, please, stop using Google Translate and force the app's language to the phone system's. It's just dumb
Sincerely,
A non native english speaker11 -
Searched stackoverflow and found the exact issue I was having. The question is from 2014.
The accepted answer is a messy hack. Fuck.
The second answer is clean, clear, concise. It was posted 38 minutes ago.
Is this real life?9 -
Less recruiter and more recruiting company.
Specifially: Robert Half.
t;ldr version:
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.17 -
Code review titles by year:
1990 - your code is using to much memory
1995 - your code is not running on window 95
2000 - your code is slow
2003 - your code don't have tests
2005 - your code is not 64 bit
2009 - your code is not using mvc patters
2010 - your code is not horizontal scalable
2011 - your code should be written in js
2015 - your code is not mobile ready
2020 - your code is racist24 -
Last day on the contract from hell. I'd written a project with one other person in our spare time that performed a critical business function. The following conversation was had between myself, the job thief who was handed my job and their manager, with the 10 other IBM GS "dev domain experts" assigned to that team sitting silently on zoom:
Moi: hey all, what seems to be the problem?
JT: how to update the java for requirement?
Moi: I would assume a text editor, have you tried intellij
JTM: she's talking about ticket BS-101, the data is wrong
Moi: ah, well, you might want to fix that
JT: how to fix?
Moi: update the database and update the logic that depends on it
JTM: what changes are those?
Moi: the ones described in the ticket, I would assume, I'm no longer on that project
JTM: didn't you write this application?
Moi: yes.
JTM: ok, so do you know how to fix the issue?
Moi: definitely
JTM: ok... ... Can you tell us how to fix it?
Moi: yes.
*The sound of silence*
JTM: *will* you tell us?
Moi: I would, but I'm already off the clock, and as of an hour ago I no longer have a contract. And even if I did, I don't have a contract or authorization to work on that system. I'm not actually being paid for this call.
JTM: ... What are we going to do about this?
Moi: I have no idea
JTM: ok, so we can look at getting a 1 month contract to support this
Moi: I'm sure our firm has someone who can definitely help you out
JTM: *heavy raging* ... Can you do the work?
Moi: Unfortunatley, I'm already committed to a new contract at another customer. I also don't do one month contracts. I'm an engineer, not a car wash employee
JTM: well, I don't understand how you can just leave us in the lurch like this?!
Moi: well, respectfully, it was your decision to cut me from the budget because you thought you were close enough to end of the project to get it across the line with junior resources.
Interjecting-JT: I am senior!
Moi: Right. So, basically, you took ownership of the product before go live. We advised against it, in writing, numerous times. We also notified you that we would not carry a bench, so the project resources are now working on other things. We can provide you with new resources for a minimum 6 month duration who can help you out. Also, since we've cycled out, our rate has increased per the terms of our MSA.
JTM: we don't have budget for that! How are we supposed to do this?!
Moi: *zoom glare at JT* that question is more appropriate for your finance officer and the IT director. I can send a few emails and schedule a call with your account representative and the aforementioned individuals so you can hash this out.
-_---------------
I'm free! 🥳 That said, still plenty of residual fodder I need to get out of my system on these guys. Might need to start my own Dilbert.12 -
Don't send me a confirmation email that I successfully unsubscribed from your list you shit nugget.15
-
Shout-out the women who share their work without plastering it in hashtags relating to #womenwhocode
You the real ones.20 -
My 4yo monster just randomly told me:
"Mommy! One plus two plus three plus four plus five equals fifteen!"
I'm so proud.
And really surprised 🤔
I've been teaching him basic math (adding and subtracting numbers 0-20), but haven't gone beyond two operations / three numbers.10 -
I have coronavirus. Went to ER because I couldn't breathe Sunday night. Thought I was fucked. I decide to try to work a couple hours today because I'm getting restless. I'm an associate and have been on a project about a month. No prior software job.
Anyway. They ask me to clone a repo and run some tests. Cool, I can do that. They give me another example to look at to make sure I'm running the test right. Except the test files aren't attached to the email nor is the path to them provided.
I ping the other associate developer on Skype and ask for the test files and get a passive aggressive response that they're in the email. No, they're not you fuck stick, hence why I'm fucking asking you, and given that I almost fucking died a couple days ago, you should be fucking grateful I even logged on. Motherfucker.
Ok I feel better now.19 -
FML. An overreaching supergenius "architect" and a database team:
A: "We have decided that apps should use mysql. Install a MySQL so we match cloud"
DBA: "we don't have an image or experience with MySQL. We have mssql and Oracle "
A: "ok, use mssql in data center and mysql in production cloud"
DBA: "that's... not going to work well"
A: "just do it!"
...
Me, reading this shit, sends email: "ignoring the fact that we have more than 500 queries in this application which will need to be checked and most likely rewritten, how are we supposed to test the mysql queries without production access?"
A: "just use mssql local and MySQL in cloud"
M: "... Just to make sure I understand, you want us to write queries for mssql, test them locally, and then write separate queries, with a separate SQL connection abstraction that deploys to production? Again, how are we going to test this?"
A: "no, use same queries, should be fine"
M: "they really won't, they're different dialects"
A: "do the needful, make work!"
If karma were a thing, this person would have long since exploded into a cloud of atomized blood.18