AboutFull stack web developer and much more
Joined devRant on 5/12/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I opened a post starting with a "NO TOFU" logo and I was wondering what relationship existed between the SSH protocol and anti-vegan people.
After some paragraphs it explained that TOFU stands for Trust On First Use (a security anti-pattern).8
We had a video conference with some external collaborators. The boss treated them as clients but I didn't realize that, so I thought I could be honest with them and I said that the efficiency of the system could still be improved.
The boss suddenly stop the audio (but not the video) of the call and yelled at me: «You mustn't say that our system is not efficient!»
The team on the other side clearly understood what happened.
I spent the rest of the meeting staring at the wall.2
Yesterday Mr Senior told us that "it's not possible to do that".
I (30 years younger) replied I read about that possibility in the manual.
So he challenged me to do it, laughing at me.
Today I went to the office really angry, I put the headphones on, with the song "Suicide Silence - O.C.D." in loop, and after 5 hours I solved the "big problem".
So, go fuck yourself Mr Senior, and RTFM.
Damn, I'm still listening that song.19
I'm working on the project with the weirdest combination of technologies ever:
Vue.js on the frontend, FORTRAN 77 on the backend. :D
(Plus a thin Spring MVC layer that converts the f77 routines into REST API)6
This morning I was looking in our database in order to solve a problem with a user registration and I accidentally noticed some users registered with unusual email addresses (temporary mail services, Russian providers and so on...).
I immediately thought about malicious users so I dug into the logs and I found that the registration requests started from an IP address belonging to our company (we have static IP addresses). My first reaction was: «OMG! Russian hackers infiltrated into our systems and started registering new users!»
So, I found the coworker owning the laptop from which the requests were sent and I went to him in order to warn him that someone violated his computer.
And he said: «Ah! Those 7 users? Yeah, I was doing some tests, I registered them. My email address was already registered so I created some new ones».
Really, man? Really? WTF6
Recently I left my partner and, as a result, his house with my workspace. So, I rented a small house and now I have a temporary setup on the kitchen table. Of course I brought the cats with me.6
My Android phone is 5 years old. Everybody tell me I should buy a new one but I'm a stingy environmentalist and I refuse buying new stuff if it is not strictly necessary.
So, for 9€ I replaced the phone battery and then I installed a custom ROM, so it looks a bit newer.
Unfortunately, it seems that something in the network configuration has been fucked up.
The phone is able to browse the Internet, but:
- WiFi hotspot is not working
- USB tethering is not working
- Bluetooth tethering is not working
- PPP over USB is not working
But, hey, I never give up, so this is my current setup:
- I installed a proxy server on the phone
- I'm using "adb forward" to forward the proxy port from the phone to my laptop
- I configured Firefox to use that proxy
And, yes, I'm using that connection to write this post. :D11
The mother of my partner sent to us an email complaining that our home is too dirty...
We solved the problem adding a new spam filter.5
rant & question
Last year I had to collaborate to a project written by an old man; let's call him Bob. Bob started working in the punch cards era, he worked as a sysadmin for ages and now he is being "recycled" as a web developer. He will retire in 2 years.
The boss (that is not a programmer) loves Bob and trusts him on everything he says.
Here my problems with Bob and his code:
- he refuses learning git (or any other kind of version control system);
- he knows only procedural PHP (not OO);
- he mixes the presentation layer with business logic;
- he writes layout using tables;
- he uses deprecated HTML tags;
- he uses a random indentation;
- most of the code is vulnerable to SQL injection;
- and, of course, there are no tests.
- Ah, yes, he develops directly on the server, through a SSH connection, using vi without syntax highlighting.
In the beginning I tried to be nice, pointing out just the vulnerabilities and insisting on using git, but he ignored all my suggestions.
So, since I would have managed the production server, I decided to cheat: I completely rewrote the whole application, keeping the same UI, and I said the boss that I created a little fork in order to adapt the code to our infrastructure. He doesn't imagine that the 95% of the code is completely different from the original.
Now it's time to do some changes and another colleague is helping. She noticed what I did and said that I've been disrespectful in throwing away the old man clusterfuck, because in any case the code was working. Moreover he will retire in 2 years and I shouldn't force him to learn new things [tbh, he missed at least last 15 years of web development].
What would you have done in my place?14
So... an Italian government website published sensitive data of thousand of citizens, because they thought that it was enough to turn white the text color in order to anonymize the sensitive content of the files. Italy, 2019.
Source (in Italian):
TL;DR: I resigned from my full-remote job and I came back to the old office.
Some months ago I celebrated the achievement of a full-remote position.
I was tired of driving every day to reach the office (especially in summer, because I had an old car without air conditioner). Moreover I did many different things (full-stack development, system administration, DBA, helpdesk) without a well-defined task list, and I thought that was bad. Everybody on the Internet seems happy to work remotely, and being an introvert I thought I would have no problem.
However I ignored 2 things when I left:
1. I was doing something that was important to me (my software helped scientists);
2. everybody loved me.
So, I started my new remote job as a back-end developer, for a company following the Scrum methodology.
My days became very monotonous: wake up, write some code, move a ticket on the Jira board, clean the house, go to bed. All in pajamas. Repeat.
I had very few interactions with my colleagues, mostly on Slack or audio-only calls. I never seen most of them. I didn't feel engaged in what I was working on. I did it just for the money.
After some months I started feeling very depressed and I realized that I left a job suited for me for a random job, just because it was a remote position.
So, one day I called my old boss: «Hey, would you like to have me back?»
I asked for a loan to buy a new car, then I send my resignation letter.
When I started again my first day I felt really touched, because basically everybody said to me: «Hey, welcome back! I'm happy you are here again.»
The guy that did some changes to my code also said: «It has been a pleasure to maintain your code. I learned a lot.»
😲 I didn't expect that.
Please, don't follow the myth that working remotely is all we need.10
I've just received a LinkedIn message from a recruiter:
[the remaining part of the message is written in Italian]»
What's wrong with you, HR people?7
I had just started learning the MERN stack and they deprecated it yesterday. Perfect timing, as usual.13
I've just had an embarrassing moment: discussing in chat with some colleagues I wrote Openshit instead of Openshift.3
We have a huge codebase, built during the last 10 years, with a lot of problems caused by legacy dependencies. We are trying to modernize this gradually but it is very challenging because we have a lot of features to maintain and test coverage is low.
Today, a guy hired three days ago just proposed to rebuilt everything from scratch stating that he did the same thing in his personal project, so it wouldn't take too much to develop what we need.
Manager gently invited him having a quick call. I would pay to listen that conversation.8
Requirement: "Build teleport using a teapot and some tape"
Yesterday I spent most of my working day staring at the screen thinking about it, without being able to write a proposed implementation document. I felt the most useless person in the universe.
Me, today at daily stand-up meeting: «Honestly I have no idea on how to proceed, please assign me a different task.»
Manager: «Well, just think about it a bit more»
I woke up and discovered that one of my cats vomited over my keyboard during the night. «Meow, good Sunday human!». FML.
Yes, I cleaned it before typing this.7
When you are searching a solution for your problem so desperately that Google sends you to the Russian version of Stackoverflow.com (and you don't speak Russian).13
I've just opened LinkedIn (I don't know why) and I found an hilarious job offered in the home page: they are searching a JUNIOR programmer (for an internship) having experience in RPG IV programming language and OS/400. I never heard of that so I googled it and... LMAO.5
Amateur astronomy, even if I'm no longer doing astrophotography. This is an old photo, I made this in 2010 (it's the Andromeda galaxy, an easy subject).12
Every time some assholes decide to mix part of the business logic inside the presentation layer.
// Let's query the db here...
/* Hey, I'm a JSP! Why not defining some custom logic here, so nobody will able to debug it? */
Expectation: Today is the last day before holidays and yesterday I completed a complex task, so today I'll have a very relaxing day involving implementing only some simple changes.
Reality: I've just solved a dependency conflict between the project I modified yesterday and another project depending on it that caused the failure of some tests inside the latter panicking my coworkers who quickly asked me "WTF you merged in the core project!?!?"
Yeah, I really need these holidays.1
Trying to login...
"Sorry your password is expired. You have to change the password every 60 days".
«Oooh, c'mon...» Inserting a new password...
"The password must contain at least 1 lowercase letter, 1 uppercase letter, 2 numbers and 1 non-alphanumeric character.
«Please, fuck off and die...» Typing again and eventually entering to private area...
My phone vibrate, there is a new SMS: "Your new password is H0lySh1t!"
WTF. Are you serious?14
An application based on a single MySQL stored procedure that contained all the application business logic inside of it (plus a poor webapp that simply called it). The stored procedure had 97 (yes, NINETY SEVEN) parameters... and about half of them were boolean flag used for enabling/disabling another parameter. I think that Uncle Bob could follow you holding an AK-47 if he saw that. The saddest part is that the shit was written by a guy having a PhD in computer science, and he knew that was bad, but the boss asked him to do it in that way. The guy left the company before I joined it and I had to maintain that crap. Guys, the first time I saw it I thought that should be a joke. Code generated by decompilers was easier to read, maybe even Brainfuck. I tried complaining with the boss but she said that the system was wonderful and very efficient. This was one of the reasons I moved to another company after some months.3
For people like me, always committing on the wrong branch, this is fucking awesome: