Details
-
Abouta cs student and a geek
-
SkillsLinux, python,js, vim, c,c++
-
Github
Joined devRant on 11/11/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
-
To anyone that isn't sanitizing the input on their websites: I know where you live. You told me, remember?2
-
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
They apparently think that I should answer every telegram/email/WhatsApp message immediately.
"You're looking at the screen the whole time anyways!"
.
.
.
(╯°□°) ╯︵ ┻━┻)3 -
Probably posted before, still funny!
alias yolo='git commit -am "DEAL WITH IT" && git push -f origin master'1 -
Dear dfox,
Thank you for not making your app completely change layouts and screw up scrolling whenever we turn on our sides when reading rants in bed, unlike nearly every mobile web browser out there. We all really appreciate it.
--Random devRanter12 -
this happened in the first project of a small software company.
the contract said: project will be finished only until customer satisfaction
the customer was never satisfied. So, the company had to close and open with a different brand name1 -
Just had an interview on a CS graduate from a top university with several years industrial experience who cannot even write pseudocode to rotate a binary tree. What is wrong with this world?4
-
Feedback from a client
-"It doesn't work! I want this solved immediately! "
- What? Which of the 20 views? Can you be more specific?
... 5 hors later (and lot of wasted time debugging) ...
-"I mean, this button is not aligned."2 -
What the fuck student. Why in fuck would you submit a python assignment in word. So that all the formatting you know the stuff that tells python how to run the code all fucks up. How the fuck can I mark this.28
-
One of our customer thought it would be too unsecure to send us his AWS credentials by email. So he printed it and sent it as registered mail to us. The password we received was "hallo123".6
-
When one of those "Your windows has been infected, click here to remove virus now" ads slips through the adblocker while I'm on my Linux3
-
I was explaining to my mom how my company is in need of developers and how we'll need more of them in the future - to which she replied:
"oh... what are you going to do? You can't live without a job!"
- erm? What?
"Well - you're not smart like those guys. You'll probably get fired now."
- Wtf mom!? I'm a friggin lead dev and i've been a developer for like 10 years now!? 😳
*silence* "is that what you've been doing? I thought you just kept clicking on stuff"11 -
So my mom says her printer isn't working anymore. I sit and battle with drivers and mysteriously missing virtual usb ports for two hours, give up, we decide to buy a new printer.
Next day she says her scanner isn't working either.
It's only then that I notice her USB hub cable is unplugged.. aargh. -
Creating an API is not too difficult. However, OAuth2.0 is a bitch. Who the hell thought this was reasonable?4
-
I Just created My first code in brainfuck.
My First reaction was why was this made, but as I continued it seemed to make some sense, even though All I was using was some random ascii symbols6 -
Me: Hi, how can i help you today?
User: Hi IT, I can't enter to my computer, i put my password and it says it's incorrect.
Me: Ok, hold me a few.
(10 seconds without do anything)
Me: Try again.
User: It worked! Thanks!!2 -
If you're wondering why your Mac is slow as sh*t, be advised that it's playing Chess during it's free time.5