Details
-
LocationIndia
Joined devRant on 5/13/2016
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
-
Interview:
Candidate claims being seasoned "senior".
Him: i don't know how the solve this
Me: you have to use binary search
Him: ahhaaa
Me: do you know binary search?
Him: yes
Me: can you please explain binary search?
Him: eghm, hmm, sorry I can't20 -
3 SQL Databases went into a NoSQL Bar.
After a while, they walked out because
.
.
They couldn't find tables there.5 -
Someone, I have no idea who, commented on my personal project that he wanted to pick up one of the issues.
Then, he followed through and fixed it and sent a PR.
Feels good man.4 -
DO NOT let employers demoralize you into staying with the company.
I've been with this one company for about 2 years. Everything was great, despite being underpaid, and having a lot of responsibility (I was the only front-end developer maintaining 4 big eCommerce sites).
One day about 2 months ago, I got a better offer. Better pay, more freedom, and way less stress (Customers screaming in your ear vs. no customers at all).
I talked to my team lead since I wanted my company to have a fair chance to counteroffer - I was fairly comfortable after all, and I felt like it would be a nice gesture.
If my team lead had just said "No, sorry, we can't counter that offer", there's a big chance that I would have stayed with them anyway. Instead, I got a fairly uncomfortable and personal rant thrown back at me.
He basically said that I should be happy with my salary, that he didn't feel like I had much responsibility, and that "I wasn't the type of person companies would hire for that salary".
He ended by saying I might as well stay, as there was no going back if the new place didn't work out - basically trying to tempt me with job security.
I told him that I would think about it. The worst part is that I actually did, since his rant really made me feel somewhat worthless as a developer. Luckily I came to my senses, and sent my resignation the next day.
I talked to an old coworker today, and they are still unable to find a developer who wants to take the job. I see that as justice :)
tl;dr: If a company tries to make you stay by demoralizing you - Run.17 -
Hey Citrix:
FUCK YOU.
Learn to make an accessible log in page you fucks.
Maybe instead of vague fucking "you're user name and password is wrong" say things like "your account is locked because we somehow decided we don't like your password anymore. . . . without telling you"
Fucking 2 hours of my day wasted trying to log into my company's VM because first it wouldn't take my password (that I've had for over a month and doesn't expire for another month) over and over again. I changed it, logged in. Got up to do something that'd take less than 5 minutes. And OF COURSE the people who set up the VM made them log you out if you're gone for more than 3 minutes (fuck that guy too). Come back to a log in screen and it won't accept my new password.
Change it again. Except this time it won't accept my new password because it's "like my old password." It is in that it uses the alphabet and numbers, but it's also different in that those alphanumeric characters are LITERALLY DIFFERENT IN EVERY PLACE. I finally get it to accept a new password.
I'm also loving the whole "answer these security questions that literally anyone who does minimal research on you can answer" before I get to change my password. Yeah. Because finding my mother's maiden name or the city I was born in is so fucking hard. Literally impossible to find out what my Dad's dad's name is. Shit like that isn't publically available. Nope. Why the fuck are we still using "security" questions?
I log into Citrix again. And it takes me to . . . the log in for Citrix.
There is no word in elvish, entish or the tongues of men for this stupidity.
Fuck Citrix. Fuck the people behind the password manager (Aviator or something like that), and fuck whatever administrator setting turns my computer off due to inactivity in such a stupid short amount of time. 10 minutes, 15 minutes, that'd be fine. But it's more like 3 or 5, like wtf.3 -
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 -
In 2018, while working in Tokyo for a Fukuoka-based startup, one of my co-workers insisted that he wanted an SSL certificate installed on his local dev machine, but he didn't know how to do that. So I created and self-signed one for him. When our CEO came to visit our Tokyo office from Fukuoka, the coworker proudly showed him how his browser would display that green lock icon when visiting localhost:3000. This apparently impressed my CEO, because a few days later the coworker was invited to work at the HQ in Fukuoka while everybody else at the Tokyo office (incl. me) was let go.
This coworker would also only copy whole open source repositories, foo/bar/g all occurrences of the project name with our company name, and tell our CEO that he wrote that code.
I don't know how to deal with this bullshit.9 -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
- Go to sleep early
- Get up at 5-6
- Drink quality coffee
- Work at your desk not from the bed or couch
- Don't start new projects until the last one is done
- Have a good and healthy diet
- Excercise frequently
Essentially don't be like me... Be like anyone else but me and you'll do fine...15 -
I was actually successful in one that I literally got from the American version of The Office.
I conditioned one of my employees to want chewing gum after I did a clap motion with my hands: snap the fingers on both hands really quick and do a fist to palm tap and say "hey bud, want gum?" and because I specifically bought his favorite he would always say yes.
Eventually, and after months of doing it, I was walking around the office when I did the motion, but this time without gum. Now, he was on the fifth levek of the virtual world doing his shit fully concentrated and he STILL looked up at me looking anxious. I said "what's up?" and he just said nothing, that he felt that he was missing something but couldn't put the finger on it.
Just like in the show, he then complained that his mouth felt funny. Eventually he waddled his way to my office to ask for gum 🤣🤣🤣🤣
tl;dr I successfully Pavlov'ed one of my employees to have a need of chewing gum every time I do a finger snap clap motion.
I am the best manager in the world.7 -
Don't do like my work supervisor:
Step 1:
*gives task*
Me, starts working on task early in the morning
*task requires his interfering, and is stalled without it*
Me, messages supervisor
Step 2:
*supervisor takes the whole work day to reply, saying that he didn't have time to look into it*
Step 3:
Me, does almost nothing at work the whole day; closes laptop upon seeing the message of the supervisor
Step 4:
Profit: go home early3 -
The moment when you begin to understand just about any programming language because you mastered one. And you solve problems much more effectively.12
-
Infinite loop...
Got a story assigned with no requirements listed this sprint. Since I finished the rest already I was like, lets be pro-active and see what it's about during the stand-up.
Me: Hi, I only have story X remaining, what's it about, there are no requirements listed in Jira?
SM: Yeah person Y is going to reach out to you with the reqs.
Me: Ok, when is Y going to reach out?
SM: Y doesn't have time now, will probably be in 2 weeks.
Me: Ok, so why is the story included in this sprint then?
SM: Because they want X implemented this sprint.
(Me wondering if the Scrum Master is familiar with infinite loops, thinking let's try this out)
Me: Ok, if X should be completed, can Y reach out to me with the requirements?
SM: Y doesn't have time now, will probably be in 2 weeks.
Me: Ok, why is the story included in this sprint then?
Stand-up lasted a lil' longer today... Hope the SM got the message not to assign stories without reqs or clear communication anymore.5 -
My company decided to reinvent the wheel by writing its own queue system instead of using the existing message queue service.
And it uses plain PHP with exec() to run the workers.
Where do we store the job? We use mongoDB which is already used in our existing projects. We can query the collection/table each time the queue service start, execute the jobs, and let it exit if there's no job anymore. Don't worry, systemd will start the queue service again once it exits.
How to monitor the workers? Yep, we use ps and grep to check if the worker's PID still exists in the OS.
What about error stack traces? Nice question, we redirect the stdout and stderr when exec()-ing into a file.
What about timeout? We don't need it, let's just assume no one is going to write while(true).
It works flawlessly! /s8 -
I wrote a piece of code. A logic. My senior changed it. And.. I am glad she did.
My descriptive variables and her conditional breakup of logic made up for a very beautiful piece of code. Simple and elegant. So much so that it makes total sense without any need of a comment.
Never thought I would be loving a 5-lines code piece this much.
This is one of those days when collaboration happens for the betterment.
Simply. Beautiful.4 -
I saw a colleague of mine cry when I was undertaking my first internship.
Asked them why they were crying and i found out they were very frustrated at a task she had to do periodically, which required repetitive work.
I wrote a script to automate the task without being requested to, since I had some spare time and when I told them they hugged me and thanked me a lot.13 -
Hi everyone,
Over the last couple of days we experienced an issue posting images on devRant posts and comments. This issue should now be fixed.
Apologies for the delay, it to address, it took some digging and we had some alerting that failed that would have helped quickly identify the source of the issue, but unfortunately that part of the alerting wasn't working as expected.
Despite the issue being fixed, there is a bit of additional maintenance that will take place to prevent it from occurring in the future. There could be a couple of minutes of downtime today, March 13 at around 10pm EST, but I'm hoping that can be avoided. I will update in the comments on this rant.
Lastly, and unrelated to this issue, an academic research team has been working on a project involving devRant/types of content posted, and would appreciate feedback and help with a short survey they put together for anyone who is interested: https://devrant.com/rants/3923796/...
Thank you again for the patience and feel free to let me know if you have any questions.
p.s. attached is a relevant meme, according to some people, who thought/hoped this was a feature :)16 -
The balls some managers must have to think that this is going to be an acceptable price.
I also find it hilarious that a $2 adblocker can fuck this in the ass.18 -
Kubernetes is a breeze they said. Now I‘m sitting here for several hours trying to find out why my pods randomly fail to resolve domain names.
Coming along my adventure: broken systemd configs, systemd-resolved stub causing loops, broken k3s modules and finding out that busybox‘s nslookup is broken for versions greater than v1.28.4.
50 issues later, I figured out that the dude who setup the corporate network (where the machine in question is located) uses two nameservers: one to resolve the internal routes and one for all the external domains. Luckily, coredns randomly picks a nameserver for each request. Therefore, sometimes queries for external domains reach the nameserver dedicated to the internal network which then answers with NXDOMAIN.
I hate networking so so much...4 -
Well, this’ll get me a downrant and probably a pile of abusive and hateful comments, but I chose WordPress as my dev specialty. It’s in that sweet spot between my own uselessness as a full stack and front-end coder and my clients’ inability to comprehend how to click an “Update plugin” button. So they pay me to do that, plus the occasional “design”, and are seemingly happy to do so.
I think I won something. Not sure what. But my stress levels in my career are consistently at an all-time low. I have lots of flexible time in my day to do work, go outside, get exercise, work on hobbies, network with other people, and be with family. I guess being a WordPress “expert” isn’t all that bad.7 -
Manager A : "You've done a great job, you'll get a X raise"
Manager A: "I was not able to negotiate it, but you'll get a X bonus to compensate for it"
*Manager A leave the society*
Manager B: "A bonus? Never heard of it"
Me : Resign.5 -
Not Dev
My passport appointment date was 26/03/2021 and i saw only 26.
Travelled 100 kms for this mistake yesterday. 😭😭3 -
Finding a memory leak is the very definition of the journey where you start with "I hate everything" and end up with "I am GOD"3