Details
-
AboutData scientist, statistician, programmer, interested in astrophysics applications of data science.
-
SkillsLanguages: Python, R, bash Domain: ML in finance Env: tmux+(n)vim
-
LocationHong Kong
Joined devRant on 7/13/2019
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
-
Fucking fuck you fucking fucked up fuckery.
I got fired and signed mortgage at the same day. Well looks like next two months going to be fun.
Time to get drunk.20 -
Our PM just send a mail to our team, that after testing the latest extension we made to the project, he could not find a single issue or bug (usually there are some minor UI problems or some edge case bugs we did not think about or know existed)
and what a incredibly great job we did, and he also forwarded the mail to all our managers up the hierarchy right under the CEO.
The appreciation is a nice change to the self-hatred I feel while coding3 -
Me: "Omg, I'm so not sorry you didn't get a response to your 2:00am text sent to my private phone number about that super duper not important thing that a four year old could solve... but my girlfriend gave me a wrist band thingy that puts my phone on silent whenever it thinks I'm sleeping."
Product Owner: "And you can't set it up properly!? Your title says `señor software engineer` for god's sake!"
Me: "Yeah, it does. This is a hardware issue, though."
...is what I told her and she bought it. 🤷♂️2 -
Refactored an authentication library a while back and teams are now getting around to updating their nuget packages.
It is a breaking change, but a simple one. The constructor takes a connection string, application name, and user name.
A dev messages me yesterday saying ...
Tom: "I made the required changes, but I'm getting a null reference exception when I try to use the authorization manager"
Odd because the changes have been in production for months in other apps, so I asked him to send me a screen shot of how he was using the class (see attached image below).
Me: "Send me a screenshot of how you are using the class"
<I look at what he sent>
Me: "Do you really not see the problem why it is not working?"
<about 10 minutes later>
Tom: "Do I need to pass a real connection string? The parameter hint didn't say exactly what I should pass."
<not true, but I wasn't going to embarrass him any more>
<5 minutes later>
Tom: "The authorization still isn't working"
Me: "Do you still have 'UserName' instead of the actual user name?"
<few minutes later>
Tom: "Authorization is working perfect, thanks!"
A little while later my manager messages me..
B:"I'm getting reports from managers that developers are having a lot of problems with the changes to the authorization nuget package. Were these changes tested? Can you work with the teams to get these issues resolved as soon as possible? I want this to be your top priority today."
Me: "It was Tom"
B: "Never mind."11 -
TFW when one of your side projects that you couldn't get approval for 1 additional resource magically creates work for 11 IBM GS assholes. Isn't application maintenance supposed to reduce headcount?
Fuck em.
🦄🔫 -
When your specs simply won't run new code no matter what you do, non-conditioned (and unmodified) calls don't get called, and 2+2 somehow equals Q, you know it's time to give up and restart the simulation by going to bed.
Except it's early afternoon and the project deadline is tonight. 😔
Back to debugging reality.11 -
Greatest thing just happened.
Get a ticket about orders not being processed in our webshop. Angry customer. Critical!!!!
Starts troubleshooting. Nothing has changed in the code recently, was working just fine yesterday. Works locally and on test server. Hmmm...
Take a chance. Writes back to customer: “there! Try to place an order again” without changing anything.
5 minutes I get back “awesome! Everything works again and all previous orders have appeared. Good work!”.
Happy customer. Happy dev :)
Fin7 -
Not a rant about anything in particular. Just a summary of some feelings stored in the hateful part of my heart.
Developing for Android: Add this third-party library to your Gradle build. Use (this) built-in Android class to make the thing work.
*Clicks link
Deprecated since API version SUCKMYDICK-7. Use (this) instead
*Clicks link
Deprecated since API version LICKMYBALLS-32. Use...
Developing for Windows: Please use (this) API call. It was literally already available before Bill Gates was born. Carbon dating has placed this item to older than the universe itself and it is likely the entry point for the big bang. It is also still the best way to accomplish (task).
Developing for Linux: "Hmm, I wonder how to use this"
> > > Some shitty mailing list in small blue monospace font tells you to reference a man page that is three versions behind but the only version available.
What? Those three sentences didn't explain it enough? Well, maybe you aren't cut out for this type of thing.
JavaScript: you know how it is.
SQL: You expect a decent-quality answer from stack overflow but you always get an outdated and hacky response and it's using syntax from Microsoft SQL. You need MySQL.
C#: A surprising number of Microsoft forum results ranking high on Google. You click on one in hopes that it will be of any sort of quality. You quickly close the tab and wonder why you ever even had hope.
Literally any REST API: Is it "query" or "q"? "UserID" or "user_id"? Oh, fuck, where's the docs again?
You thought you escaped JavaScript, but it was a trick!: Some bullshit library you downloaded to make your other library work redefined one of the global variables in the project you inherited. Now you get 347 "<x> is not a function" errors in your console. Good luck, asshole.
FontAwesome/ Material fonts/ Any icon font pack: You search "Close" for a close button icon. No results. You search "Simplified railroad crossing sign without the railroad". You get a close icon.
I think that's all of my pent up rage. Each of them were too small for an individual rant so I had to do this essay.2 -
Apparently, working from home means "you are available 24/7 right?" at my current workplace. I am grateful that I have a job, but I do not dig getting emails or my guys getting harassed after hours for things that would normally have to wait until the next day.
I also dislike getting woken up by the Head of Department 1 hour to 2 hours before normal time because of something super-duper-zomg urgent that would normally wait. Which is why my phone is now on silence for phone calls and my notifications for emails is out after hours.11 -
Slowbro: Do you have time tonight?
Me: No sorry, I can't stay late tonight, I have a thing with my wife.
S: Oh yeah, I'm not staying late either.
M: Oh, so what do you want?
S: Can you help me install linux?
M: Uh no, I can't stay late -
S: No, no you don't have to stay, you can do it from home.
M: What? No I don't have time tonight. Wait you want me to take your computer home?
S: No, no I need to use my computer tonight.
M: So... What do you want me to do?
S: You can do it on your computer.
M: You want me to install an OS on your computer, but on my computer??
S: No, no *sigh* just try it on your computer so we know it will work on my computer. It is a proof of principle.
M: Reinstall my OS?
S: As a proof of principle. So tomorrow when we do it on my computer, we need not waste any time.
M: ... No I'm not going to reinstall my OS just as a test for you.
S: Not a test, a proof of principle.
M: What are you.. I'm sorry, I don't have time for this tonight.
S: Just a proof of principle!!
M: Ok see you.11 -
Today we were all called into a meeting and the CEO was livid. He went on a rage about how the CTO was wasting money on useless shit (GitHub Enterprise). He said I bought laptops for a reason if there’s a fire someone better protect our assets and code. He wouldn’t reason with us and went into github and deleted everything. The CTO was fired and no one is leading our team. Wondering if I should quit 😶29
-
Thanks to @C0D4 I rediscovered Folding@Home!
I've been running this on a very powerful server at home at full-speed for a few days now (quite some cores being used to the max right now, it's like I have a vacuum cleaner running full-time in my place 😄)
Then, last night it hit me that I have quite a few servers running close to idle (rented ones).....
I'm now running a total of 4 servers at full capacity with Folding@Home.
Can recommend!11 -
I don't think I could give the best advice on this since I don't follow all the best practices (lack of knowledge, mostly) but fuck it;
- learn how to use search engines. And no, not specifically Google because I don't want to drag kids into the use of mass surveillance networks and I neither want to promote them (even if they already use it).
- try not to give up too easily. This is one I'm still profiting from (I'm a stubborn motherfucker)
- start with open source technologies. Not just "because open source" but because open source, in general, gives one the ability to hack around and explore and learn more!
- Try to program securely and with privacy in mind (the less data you save, the less can be abused, compromised, leaked, etc)
- don't be afraid to ask questions
-enjoy it!7 -
Watching the Dutch government trying to get through the public procurement process for a "corona app" is equal parts hilarious and terrifying.
7 large IT firms screaming that they're going to make the perfect app.
Presentations with happy guitar strumming advertisement videos about how everyone will feel healthy, picnicking on green sunny meadows with laughing families, if only their app is installed on every citizen's phone.
Luckily, also plenty of security and privacy experts completely body-bagging these firms.
"It will connect people to fight this disease together" -- "BUT HOW" -- "The magic of Bluetooth. And maybe... machine learning. Oh! And blockchain!" -- "BUT HOW" -- "Shut up give us money, we promise, our app is going to cure the planet"
You got salesmen, promising their app will be ready in 2 weeks, although they can't even show any screenshots yet.
You got politicians mispronouncing technical terminology, trying hard to look as informed as possible.
You got TV presenters polling population support for "The App" by interviewing the most digitally oblivious people.
One of the app development firms (using some blockchain-based crap) promised transparency about their source code for auditing.... so they committed their source, including a backup file from one of their other apps, containing 200 emails/passwords to Github.
It's kind of entertaining... in the same way as a surgery documentary about the removal of glass shards from a sexually adventurous guy's butthole.
Imma keep watching out of morbid fascination.... from a very safe distance, far away from the blood and shit that's splattering against the walls.
And my phone -- keep your filthy infected bytes away from my sweet baby.
I'll stick with social distancing, regular hand washing, working from home and limited supermarket trips, thank you very much.26 -
This is a true story
I am a freelance developer, i recently had this conversation with my client:
Client: Add multi language option to my website
Me: Ok, I need for it 3-5 days
Client: Why?
Me: I need to create multi language system, this
website is built from scratch without using any
framework
Client: No need to built it, Just enabled it i need it fast
Me: Sir there is no such thing to enable features that
does not exit
Client: Listen me, I need this feature today, enable it
and we are done.
Me: Thats not how it works..
Client: I know how it works, i have hacking certificate15 -
People keep asking me the reason why I am still using my 9 years old laptop which has Pentium b940 and 4 GB of ram. I should say Its enough for me!
All hard work is on the server side. I just need an SSH client, VS Code, Chromium, and Spotify, all running on a light weight Ubuntu. why should I buy one of those brand new laptops which has lights more than a UFO.6 -
Manager: I'm so sorry to say but your collegue A has passed away yesterday afternoon. There will obviously be flowers etc and we'll try to support her family as much as we can..
Me: Oh, no. My deepest condolences. (I'm always bad at saying much in situations like this, but)
B: My gosh! So does this mean A's family also caught it??!? (Corona)
Manager: She died in a car accident.
...
Also how unfortunate. Due to the lockdown, a ton of the people use the roads as a racing track around here...7 -
I work in a consulting firm.
I started right after graduation. I entered with candy glasses. Thinking is all well and ready to climb the ladder.
I entered as a junior developer.
On my first project, i am constantly belittled by my team lead. To the extent i suffer from ptsd.
On my second project, i am the only dev. I am amaze i manage to handle all the development job by myself for a year. Still i get nasty comments from my boss. Despite i am able to deliver on time.
On my third project. i left due to office politics.
Currently i am in my fourth project. The code is complete mess. The development environment is crappy. It doesn't reflect change right away.
My passion has dried up.
I'm seriously giving thoughts, should i switch career path.12 -
Needed to convert a collection of .avi videos to .mp4. Online converters only allow 1-2 videos at a time, with slow uploads, so no option.
Can't find a program that quickly fulfills my needs. Interesting ... 🤔
Look for python and a quick and dirty solution, ffmpeg and subprocess it shall be then.
Install ffmpeg, run subprocess with ffmpeg, put it inside a for loop, iterate over all videos with their respective number. Done.
3 lines of code, saved some time.
It's great to be a developer (sometimes).😏16 -
Java script is like an angry girlfriend who won't tell you what is wrong.
This shit happened today.
Me: somearray.includes[stuff];
JS: I'm alright everything is fine.
Me: no it's not, Clearly the feature is not working.
JS:* silence*
Me: Fine be that way.. * spends lot of time debugging finally finds the issue*...oh shit.
Me: somearray.includes(stuff);
JS: I SAID NO TRAILING SPACE IN END OF THE LINE YOU STUPID PIECE OF SHIT NO TRAILING FUCKING SPACES AAAAHHHH!!!7 -
I'm the only developer in my company. I am a "junior dev" who started working like 6 months ago. Safe to say I am not well experienced and have a lot to learn in this journey. Due to this pandemic, my bosses who have been flaunting their wealth have started making losses and now needs to find another way to get money. Mind you, the company I work with is a marketing firm.
So what the bosses thought of doing was creating a delivery service due to the current situation. It is not their field but since they still need to show people they are the rich people, they need money either way. Since I'm the only developer in the company I've to make this application. I've to make an Android and iOS app with a back-end and an admin portal all in 1 month. My pay is shit and by shit I mean less than even 700 USD. I've not done a project like this before so there would be a learning curve as well. And there is no one to guide me either.
They think just because they have hired one developer anything development related is settled and I will do everything no matter how big or complicated or how shitty my salary is.
The feature list is a whole system, like it is so complicated that someone could really make their own company just to work on that application. It's HUGE.
I'm thinking of saying no I can't do this shit. But just wanted to see what some more experienced devs say about this. I've attached the features list in the rant.39 -
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6 -
I’m on video calls very often, but never really bothered if I’m wearing a shirt or tee. Even when the call is with people like CEOs or bosses.
This time though, the friend specifically asked to be in a good shirt, be professional and shit. Till this point all I knew was the friend started a very amazing business of sort and would like me to join too. And the person I’ll be meeting is very busy and impossible to get an appointment.
The buildup is so much for this call that I’m wondering it’s either going to be CIA or scam. Spoiler alert: it wasn’t CIA.
A few minutes into the call, I get a feeling it’s a scam. A few more minutes and I was sure it’s a pyramid scheme.
Now, I can’t call it out because the friend is really into it, almost blindly believes this scheme, and isn’t ready to hear any counter-arguments. So I thought, let’s just get over with this call.
The call went on for 3 hours. 3 WHOLE HOURS. I had to be attentive, professional, and not laugh on their face for 3 hours. On top of that, I was feeling hungry AF.
Mr. impossible-to-get-appointment was explaining Robert Kiyosaki’s financial theories - in a completely incorrect manner and interpretation. I tried correcting a couple of times, because I’ve read his books and theories in detail - but this person just went on and on and on for 3 fucking hours.6 -
In my uni course "Algorithms and Data structures" we use Java. Fine. Definitely not my preferred language but it's not like I have a choice.
Anyway, our teacher uploads code files for us to use as reference/examples. The problem is, they look like this. Not only does she not indent the code, she also uses a charset that is not utf-8.
In the rare cases where she does indent the code, she uses THREE, yes THREE spaces...24 -
Why focus is important.
Mr Miyagi:
"wax on"
"wax off"
Enterprise IT manager:
"wax on"
"have a meeting"
"wax dried during meeting"
"wash off"
"wax on"
"have another meeting"
"have a meeting bookending that meeting"
"wax baked on by sun"
"get out sander to remove dried wax"
"ruin paint"
"try to spot fix"
"have another meeting"
"paint is the wrong color, won't come off"
"throw it wax, start a new project"
"pay vendor to repaint car"1 -
Finished my project early today. I assumed it would take another day or two since it's primarily research and I had no idea how to progress, but I caught a break and finished it early. I also finished another surprise ticket! yay! I had the rest of the day to myself!
... had!
But then I noticed I had been working on the wrong branch. Fuck. Moving my work over was tedious, as was the cleanup. I kicked myself for good measure. Also, every time I switch branches, I need to run a bloody slow script that runs all the migrations, data tasks, backfills, etc. for the branch. It takes 12-18 minutes. There's a faster version, but it usually breaks things.
Turns out the branch I was supposed to be working on wasn't up to date with master. So I merged that in, leading to....
merge conflicts. Because of course there are conflicts. To make matters worse, I had (and have) no idea which changes were correct because idfk what those 248 new commits are doing. So I guessed at them, ran the script, and (after more waiting) ran a few related specs. Yet more waiting. Sense a pattern here? Eventually they finished, and all the specs passed. H'ray. So I committed the changes, and told Jenkins to kick off a full spec suite, which takes 45+ minutes.
La de da, I go back to cleaning up the previous ticket, pushing reversion commits, etc. Later, I notice the ticket number, look at the branch number I've been working on.... and. Fuuuck. I realize I had put everything on the wrong freaking branch AGAIN. I'm such an idiot. Cue more cleanup, more reversions, running the bloody script again and again. More wasted time, more kicking. ugh.
All of this took well over three hours. So instead of finishing at a leisurely 5:00 like a normal person, I finally stopped around 9pm. and I won't know the Jenkins spec results until morning.
A nice early day?
I should know better.2