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
Search - "bad practice"
-
I worked with a good dev at one of my previous jobs, but one of his faults was that he was a bit scattered and would sometimes forget things.
The story goes that one day we had this massive bug on our web app and we had a large portion of our dev team trying to figure it out. We thought we narrowed down the issue to a very specific part of the code, but something weird happened. No matter how often we looked at the piece of code where we all knew the problem had to be, no one could see any problem with it. And there want anything close to explaining how we could be seeing the issue we were in production.
We spent hours going through this. It was driving everyone crazy. All of a sudden, my co-worker (one referenced above) gasps “oh shit.” And we’re all like, what’s up? He proceeds to tell us that he thinks he might have been testing a line of code on one of our prod servers and left it in there by accident and never committed it into the actual codebase. Just to explain this - we had a great deploy process at this company but every so often a dev would need to test something quickly on a prod machine so we’d allow it as long as they did it and removed it quickly. It was meant for being for a select few tasks that required a prod server and was just going to be a single line to test something. Bad practice, but was fine because everyone had been extremely careful with it.
Until this guy came along. After he said he thought he might have left a line change in the code on a prod server, we had to manually go in to 12 web servers and check. Eventually, we found the one that had the change and finally, the issue at hand made sense. We never thought for a second that the committed code in the git repo that we were looking at would be inaccurate.
Needless to say, he was never allowed to touch code on a prod server ever again.8 -
I tutor people who want to program, I don't ask anything for it, money wise, if they use my house as a learning space I may ask them to bring cookies or a pizza or something but on the whole I do it to help others learn who want to.
Now this in of itself is perfectly fine, I don't get financially screwed over or anything, but...
Fuck me if some students are horrendous!
To the best of my knowledge I've agreed to work with and help seven individuals, four female three male.
One male student never once began the study work and just repeatedly offered excuses and wanted to talk to me about how he'd screwed his life up. I mean that's unfortunate, but I'm not a people person, I don't really feel emotionally engaged with a relative stranger who quite openly admits they got addicted to porn and wasted two years furiously masturbating. Which is WAY more than I needed to know and made me more than a little uncomfortable. Ultimately lack of actually even starting the basic exercises I blocked him and stopped wasting my time.
The second dude I spoke to for exactly 48 hours before he wanted to smash my face in. Now, he was Indian (the geographical India not native American) and this is important, because he was a friend of a friend and I agreed to tutor however he was more interested in telling me how the Brits owed India reparations, which, being Scottish, I felt if anyone was owed reparations first, it's us, which he didn't take kindly too (something about the phrase "we've been fucked, longer and harder than you ever were and we don't demand reparations" didn't endear me any).
But again likewise, he wanted to talk about politics and proving he was a someone "I've been threatened in very real world ways, by some really bad people" didn't impress me, and I demonstrated my disinterest with "and I was set on fire once cos the college kids didn't like me".
He wouldn't practice, was constantly interested in bigging himself up, he was aggressive, confrontational and condescending, so I told him he was a dick, I wasn't interested in helping him and he can help himself. Last I heard he wasn't in the country anymore.
The third guy... Absolute waste of time... We were in the same computer science college class, I went to university and did more, he dossed around and a few years later went into design and found he wanted to program and got in touch. He completes the code schools courses and understandably doesn't quite know what to do next, so he asks a few questions and declares he wants to learn full stack web development. Quickly. I say it isn't easy especially if it's your first real project but if one is determined, it isn't impossible.
This guy was 30 and wanted to retire at 35 and so time was of the essence. I'm up for the challenge, and so because he only knows JavaScript (including prototypes, callbacks and events) I tell him about nodejs and explain that it's a little more tricky but it does mean he can learn all the basis without learning another language.
About six months of sporadic development where I send him exercises and quizzes to try, more often than not he'd answer with "I don't know" after me repeatedly saying "if you don't know, type the program out and study what it does then try to see why!".
The excuses became predicable, couldn't study, playing soccer, couldn't study watching bake off, couldn't study, couldn't study.
Eventually he buys a book on the mean stack and I agree to go through it chapter by chapter with him, and on one particular chapter where I'm trying to help him, he keeps interrupting with "so could I apply for this job?" "What about this job?" And it's getting frustrating cos I'm trying to hold my code and his in my head and come up with a real world analogy to explain a concept and he finally interrupts with "would your company take me on?"
I'm done.
"Do you want the honest unabridged truth?"
"Yes, I'd really like to know what I need to do!"
"You are learning JavaScript, and trying to also learn computer science techniques and terms all at the same time. Frankly, to the industry, you know nothing. A C developer with a PHD was interviewed and upon leaving the office was made a laughing stock of because he seemed to not know the difference between pass by value and pass by reference. You'd be laughed right out the building because as of right now, you know nothing. You don't. Now how you respond to this critique is your choice, you can either admit what I'm saying is true and put some fucking effort into studying cos I'm putting more effort into teaching than you are studying, or you can take what I'm saying as a full on attack, give up and think of me as the bad guy. Your choice, if you are ready to really study, you can text me in the morning for now I'm going to bed."
The next day I got a text "I was thinking about what you said and... I think I'm not going to bother with this full stack stuff it's just too hard, thought you should know."23 -
The worst bad practice I do is I keep going to work.
Many years down the road I will probably look back and say I should have spent more time with my wife (who are you?) and children (wow, you are tall).4 -
Senior: Why did you refactor those ten files?
Junior: There was a method copy-pasted in every one of them, so I moved it to a utils class.
Senior: Don't you know we will have to test all of those changed classes again? Please, rollback!
Junior: ok.
... two days later ...
Senior: Why did you just copy-paste that method? Don't you know it's bad practice?10 -
This rant is a confession I had to make, for all of you out there having a bad time (or year), this story is for you.
Last year, I joined devRant and after a month, I was hired at a local company as an IT god (just joking but not far from what they expected from me), developer, web admin, printer configurator (of course) and all that in my country it's just called "the tech guy", as some of you may know.
I wasn't in immediate need for a full-time job, I had already started to work as a freelancer then and I was doing pretty good. But, you know how it goes, you can always aim for more and that's what I did.
The workspace was the usual, two rooms, one for us employees and one for the bosses (there were two bosses).
Let me tell you right now. I don't hate people, even if I get mad or irritated, I never feel hatred inside me or the need to think bad of someone. But, one of the two bosses made me discover that feeling of hate.
He had a snake-shaped face (I don't think that was random), and he always laughed at his jokes. He was always shouting at me because he was a nervous person, more than normal. He had a tone in his voice like he knew everything. Early on, after being yelled for no reason a dozen of times, I decided that this was not a place for me.
After just two months of doing everything, from tech support to Photoshop and to building websites with WordPress, I gave my one month's notice, or so I thought. I was confronted by the bosses, one of which was a cousin of mine and he was really ok with me leaving and said that I just had to find a person to replace me which was an easy task. Now, the other boss, the evil one, looked me on the eye and said "you're not going anywhere".
I was frozen like, "I can't stay here". He smiled like a snake he was and said "come on, you got this we are counting on you and we are really satisfied with how you are performing till now". I couldn't shake him, I was already sweating. He was rolling his eyes constantly like saying "ok, you are wasting my time now" and left to go to some basketball practice or something.
So, I was stuck there, I could have caused a scene but as I told you, one of the bosses was a cousin of mine, I couldn't do anything crazy. So, I went along with it. Until the next downfall.
I decided to focus on the job and not mind for the bad boss situation but things went really wrong. After a month, I realised that the previous "tech guy" had left me with around 20 ancient Joomla - version 1.0 websites, bursting with security holes and infested with malware like a swamp. I had never seen anything like it. Everyday the websites would become defaced or the server (VPN) would start sending tons of spam cause of the malware, and going offline at the end. I was feeling hopeless.
And then the personal destruction began. I couldn't sleep, I couldn't eat. I was having panick attacks at the office's bathroom. My girlfriend almost broke up with me because I was acting like an asshole due to my anxiety issues (but in the end she was the one to "bring me back"(man, she is a keeper)) and I hadn't put a smile on my face for months. I was on the brink of depression, if not already there. Everyday I would anxiously check if the server is running because I would be the one to blame, even though I was trying to talk to the boss (the bad one was in charge of the IT department) and tell him about the problem.
And then I snapped. I finally realised that I had hit rock bottom. I said "I can't let this happen to me" and I took a deep breath. I still remember that morning, it was a life-changing moment for me. I decided to bite the bullet and stay for one more month, dealing with the stupid old server and the low intelligence business environment. So, I woke up, kissed my girlfriend (now wife), took the bus and went straight to work, and I went into the boss's office. I lied that I had found another job on another city and I had one month in order to be there on time. He was like, "so you are leaving? Is it that good a job the one you found? And when are you going? And are you sure?", and with no hesitation I just said "yup". He didn't expect it and just said "ok then", just find your replacement and you're good to go. I found the guy that would replace me, informing him of every little detail of what's going on (and I recently found out, that he is currently working for some big company nowadays, I'm really glad for him!).
I was surprised that it went so smoothly, one month later I felt the taste of freedom again, away from all the bullshit. Totally one of the best feelings out there.
I don't want to be cliche, but do believe in yourself people! Things are not what the seem.
With all that said, I want to give my special thanks to devRant for making this platform. I was inactive for some time but I was reading rants and jokes. It helped me to get through all that. I'm back now! Bless you devRant!
I'm glad that I shared this story with all of you, have an awesome day!15 -
!rant
!!git
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?30 -
Today Facebook reveled that they stored millions of people’s passwords in plaintext in a database accessible to thousands of employees... shocking. And what’s more? Today their stock went up. Seriously guys!?!? Hold companies accountable! Make them pay!17
-
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
Whenever I feel bad, I go and help random people with their code.
I also randomly offer to help teach people Java so that they can learn best practice and perhaps not make the same small mistakes.
Such is life. My method of coping with sadness.9 -
--- Linux wants some hugs, and everyone gives a hug about it! ---
After the CoC controversy revolving around the Linux Kernel project, a change introduced by the CoC is being put into practice:
Jarkko Sakkinen, from Intel, started replacing words comments containing "fuck" with their "hug" variant. This means comments such as
/* master list of VME vectors -- don't fuck with this */
might look a bit different in the future:
/* master list of VME vectors -- don't hug with this */
People that oppose this change criticize that the comments will make much less sense to people that aren't fluent in English yet. They also do not like the redundant censoring - the actual meaning is still implied, just no longer included as clear text. It might also cause misunderstandings to people working with the code.
Those supporting this change, aside from jokingly mentioning that this change will save one character per f-word comment, note that this can give the Linux Kernel project a more positive feeling with anyone who works with the code, with "fuck" mostly associated with bad feelings, while "hug" is indeed mostly going to call positive feelings in our subconscious minds.
Who doesn't like a good hug? :)
What is your opinion on this rather controversial topic? Feel free to let us know in the comments, as we are very interested in your stances and arguments on this!
Sources:
https://lkml.org/lkml/2018/12/1/105
Several comment sections, IRC chats, and other places for people to express their opinions. Too many to list them all.51 -
Worst bad practice..
Manager: I need code today
Developer (thinking) : let me give it without unit test. Anyways tester will test it.
Manager to tester: complete testing fast.
Tester(thinking): developer must have unit tested it. Let me skip it.
Enjoy testing completed.
God help clients.. 😊5 -
Fucking crunchyroll hardcodes their access tokens in a Constants Class in their APK, technically that is a security issue.
What the actual fuck Crunchyroll!? No fucking wonder you got DNS Hijacked so quick, security is literally your second priority you dumbed down twats, get some real devs and some real QAs for fucking god sakes, you're tearing down your own system by inviting exploits.8 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
Agile in practice.
I finished my story with 3 days left in our 2 week sprint.
Me: What story should I pull in next?
PM: Story <number> to add <new feature>
Me: ok, sounds good
PM: Will you finish it before our sprint ends?
Me: No, probably will take me 5-7 days.
PM: But it can't spill over, it will make our metrics look bad.
Me: I can't finish it in 3 days.
PM: ....
Me: Can't you just explain the spillover as us working ahead?
PM: It will look bad on our <automated-report>
Me: ....
Me: So don't want me to get started on <new feature>?
PM: ....
Me: <internally sighing> What do you want me to do?
PM: Maybe you can pair program with <Overpaid-Idiot-Programmer> to help finish their story
Me: ....
Me: feelsbadman.jpg14 -
First of all, I hate crammers so much. These people kill the industry without even understanding it. They turned interviews into exams, missed the point of hiring, and saw no distinction between knowledge and information all the time. They don't understand that if you can google an answer in five seconds, it's not knowledge. It's information.
They don't understand that questions like 'what will Python do if you delete an item from a dict while iterating over it' are complete nonsense. They don't understand that it's not 'dig deep'; it's just a bad practice that leads to errors, thus must be avoided. The fact of remembering 'RuntimeError: dictionary changed size during iteration' means that you haven't been avoiding it enough.
One more example. Which signature is correct?
- ApplicationListener<ContextRefreshedEvent>
- ApplicationListener<ContextRefreshEvent>
- ApplicationListener<RefreshedEvent>
- ApplicationListener<RefreshEvent>
Second. What's the point of forcing you to write compilable code in google docs? Do they really expect that one could possibly remember 'import org.springframework.beans.factory.annotation.Autowired;'? Seriously?
Third. Why do they expect me to know Spark, Java, J2EE, Spring Boot, Python, Kafka, Postgres, React/Redux, TypeScript, and work for miserable 70K EUR?
What's wrong with the European IT job market? Are they fucking nuts?9 -
!dev at all
Was chilling with my t mobile rep trying to get some issues resolved regarding what Verizon's bitchass was trying to do after i left their shitty company.
While i was there and my dude was working his magic i noticed this smoking chick walking around the store waiting for someone to help her out. So being that everyone was busy and sorta scared of talking to her( i can sense that shit) i told my boy to go and pick her as his customer, to be flirty and cool and shit.
My poor dude was all like "nah man I dunno how to talk to girls...."
I was telling him "bro, you ain't bad looking, just go, introduce yo ass and tell her that you'll take care of her in a min!"
"But i get all anxious and shit"
"Nah man, just talk to her like you did to me when we first met, she is just a customer, i aint telling you to ask her out on a date, just i dunno practice talking to girls! No harm with that! Specially this one b look at them leeeeeeegs!"
Now, why did I care? The reason is that he mentioned to me after seeing my wife (total babe) that he pictures me as a player. Which I was but that is beyond the point. And he said that he had always had trouble talking to girls.
So i told him what to do, said to be calm and confident. Ninja is an alpha salesman, and great with t mobile services, so he has that confidence, told him to exude that shit as if he was talking to a guy.
Homeboy got ballsy, drank 5 gallons of man the fuck up and went and did what I did. Then she went ahead and stand next to us, and i put on the good words for my dude "ah you got the best rep right here! G boy is bomb with everything!!" She was laughing saying that she hopes that he can help her with her phone.
"Don't worry, i got you, its just a small thing and if you want i'll show you what to do for future occasions"
"Oh so you don't want me to come back if it happens?"
"Haha you can come back any time as long as I am the one helping you out"
DAAAAAAAAAAAMN son!!
"Ok, but only if its you"
Daaaaaaaaaamn
Went better than expected. The dude needs more confidence, he aint bad looking at all and don't want him missing out on some of the babes we got walking around town.
Lord knows I had my fun with them.10 -
Conferences do a great job reminding me of bad I am at socializing. I'm not antisocial, just legitimately bad at socializing. I need to practice more, I wonder if there's an app for that 🤔12
-
Tesco.com, you deep pool of creamy baby shit. I've tried to reset my password three times already. My new password has way more entropy than your mathematically impaired rules command, but apparently using password managers is bad practice. It should be about having at least one special character, not EXACTLY one. I've got lots of uppercase characters, not PRECISELY one.4
-
So I watched this video that tries to convince people, that the jQuery library isn't really best practice anymore and showed how you can achieve basic tasks with vanilla JS, aswell as some frameworks (Vue, React, Angualar) and how they handle interactions with the DOM.
It also talked about how nearly every JS question on SO has top answers using jQuery, and how that's a bad thing.
But what I found in the comment section of this video was pure horror: So-called "Developers" defending jQuery to the death. Of course there were some people who made some viable arguments (legacy code, quick & dirty projects), but the overwhelming majority were people making absurd claims and they seemed quit self-confident.
GOSH!
Want an example?
Look:22 -
It's nice wanting to follow the best practice but many Java programmer have the bad habit to overdo it making lasagna code which causes painful headaches to who needs to maintain it afterwards. This is just a little sample of the "paranoia driven development" many does in my company.15
-
Do you guys know any Github repos with really Bad C++ code?
Just wanna see if I can understand it, as a test... 🤔9 -
I recently ranted so much about languages but here it goes
JS we need to talk. BECAUSE YOU GOT FAT AND UGLY STUPID BITCH! Dumb piece of bloatware. What even is your problem? Depending on a library for strpad and then blow up like Steve jobs ego. Bastardized fuckfest. I used to like you bro and then you screw me over!
It's like you fuck my wife while I try to fix your car. Why can't you even be usefully on your own anymore? I'd be richer than bill gates if I get a dollar for every damn framework people pull from their asses. Are you writing this fuck while shitting so you can compare colors of your outcome?
Normalize the fucking base, don't add to the bukkakke! bitch is drowning already. Why is everyone jerking of to react and angular? When have YOU written something in vanilla the last time? Why even bother? Remove the core and hardcore every damn framework into the browsers. Guess that saves you 200kb. Oh wait I forgot that's about unminified jQuery.
Now I need to load about 2GB of dependencies, some creating code that puts code in my code to load code out of my code which was generated out of something that remotely resembles JS so every browser is able to execute my fancy shit. But hey, it's fast. And of course there are the fanboys. You are worse than apple fags. You sample your own jizz with your friends in a wine glass. there was a Time it was bad practice to mix logic and view. Now you made it mandatory. "Browser does the rendering" ofc you imbecile pile of fuck don't show me a damn preloader for 1 picture and 20 lines of text. Who fucked your brain so hard?
So react seems to be the cool kid now, then I tell someone I know angular it's like showing up in a pikachu onsie to a formal dinner with the queen.
I used to love you girl. I loved how we could dirty things together. Now you are like a pig. Please loose weight bby the sight of you disgusts me nowadays2 -
What is considered best practice for code indentation? When I'm working with HTML and Javascript my rule of thumb is 2 spaces for indentation, and with Java and Python it's 4 spaces.
Also I'm trying to break my bad habit of mixing tabs and spaces. It's messing with the laws of physics.12 -
Not adding spaces in for statements.
ex) bad practice
for (i=0;i<10:i++)
{
//some code
}
ex) good practice
for (i = 0; i < 10; i++)
{
//some code
}9 -
I've promised to do the Mozilla rant about the whole meritocracy thing a few days ago.. well, this is that. Along with some other stuff along the way. Haven't ranted for a couple of days man, shit happened! But losing 6 days that could've been spent on finishing my power supply project.. to a stupid cold, it got a little bit on my nerves, so that's what I've been working on for the time being. Hopefully I'll be able to finish it up in a couple of days.
1. COCKtail party thingy
Turns out that there's this conference in Brussels in a couple of days about the whole Article 13 copyright stuff. I've been letting a mail to the MEP's about it mature on my systems for a while now.. well, maturing or procrastinating, you be the judge 😛
Now I'm glad that I waited with that though. It's mostly a developer-centric insight into how the directive would be a horrible idea.. think AI, issues with context recognition, Tom Scott's video on Penistone and Scunthorpe etc etc. But maybe I can include some stuff from the event afterwards.
Also, if you're coming to the conference too, do let me know! Little devRant meet while we're at it, it'd be fucking great! I'll try to remember to bring my Christmas ducks, they've got these cute little Santa hats 😋
(P.S.: about the whole COCKtail, I saw the email while drunk and during registration I had to choose an email address.. I figured, feminazis are doing such a great job at going out of their way to find offense in everything, I figured that I'd make their job a little bit easier by sending a COCK bomb in my registration mail address, in the hopes that it finds its way to one of them.. evil, I know XD)
2. The whole feminazi stuff at Mozilla
So Mozilla hates meritocracy now? I've been wanting to rant about the big bad meritocracy for a while now. Thank you Mozilla for giving me an incentive to actually do it!
Meritocracy, feminazis think it's bad because it's about power relationships and discrimination, right? But what if I told you that that is exactly what makes great software great. Good code, good merit, is what's welcomed in software development.. or at least it should be. Because it's a job of fucking knowledge, experience, and quality! Also, meritocracy is a great thing because nobody cares if you're a professional developer in a suit, getting paid to work on a piece of OSS, or a homegamer neonazi who's coding shit in their underwear while wanking to child porn.. nobody fucking cares. If your code, your merit, is good, contribute ahead! Super inclusive, yet apparently bad because bad code is excluded to ensure the health of the project.
So what is the alternative to the big bad meritocracy? Inclusion (or as it's looked like in practice, more like exclusion) based on gender/sex, political orientation, things like that. But not actual fucking merit, the ability to write good code. How the fuck is politics and gender going to be any good at all to an inherently meritocratic craft?! Oh but yeah, it's great for inclusion. It's like females in tech. Artificial growth is just a matter of growth numbers and the only folks who like it are fucking HR and wanketeering cunts, and feminazis. Merit, that's what matters!! And have you ever considered that females are generally not interested in technology? Or for that matter, where's our inclusion movement for men in healthcare?! Gender equality my ass.
That's just my two cents on it of course. Meritocracy shouldn't be abandoned in tech. And even if it's just a matter of calling it something else. How the fuck is it a good idea to not call a pot a fucking pot just because someone might take offense at it?! It's meritocracy, call it fucking meritocracy!!! And while we're at it, call a master a fucking master and a slave a fucking slave!15 -
Sometimes I don't want my co-workers to see the notes I write on a meeting, for several reasons: Maybe they might have bad intentions (yes, I'm a little bit paranoid), or sometimes I wrote stupid stuff just to concentrate or remember things faster, or I want to practice my cyrillic alphabet.
What do you think? how do you take "secret" notes on a meeting? Any slav in here that could tell me if he/she understands my calligraphy? XD24 -
This happened with one of our senior profs during the first year of my college. I wouldn't call him a dev if my life depended on calling him a dev but regardless, I narrate the story here.
We were "taught" C++ by some really dumb professors during our first year of college and it was mandatory that everyone cleared the subject regardless of what field of engineering the students chose. Having already done 2 years of C++, it was quite a breeze for me. But during the final lab exam, one of my friends requested my help in solving the quite tough question (for those beginners). Thinking the exam and teaching was unfair, I stupidly wrote the answer on a piece of paper and passed it to him. One of our teachers, who had seen him ask me, was lying low waiting to catch me in the act and she swooped in and busted our asses kicking us out of the exam hall and sending us to the HoDs office like some prize from her war against academic corruption.
In the end, I failed the exam for cheating and had to redo (not only the exam but the entire lab course).
When I returned to college during the summer vacations to redo the course, I first met the antagonist of our story. Having a huge head that looked like a deformed watermelon and an ego the size of a building, he assaulted us first with a verbal diarrhoea of his achievements as a CS professor. I quickly realised that I was in a class of people who had failed to grasp how to make a program that printed "Hello World". To make things shorter, every question the prof gave us, I managed to solve in a mere matter of minutes, several better than his own solutions. Not having expected a student who knew his shit, he was determined to play me down. He hurled tougher question at me and I knocked them over his enormous head piercing his ego. He asked me such questions as how to reverse 1000 and get 0001 and wasn't satisfied with the several ways I gave because none of it were what he had in mind (which turned out to be storing them in a fucking array and printing them in reverse. That's printing not reversing you dung beetle). I kept my calm throughout but on the day of the final exam, he set quite a tough paper for a class of people who had already failed once. To his utter shock and dismay, I aced that too and I produced flawless code. This man who has an MTech from one of the most reputed colleges of my country then proceeded to tell me that he had to cut my marks because I had used more than one function when the question had asked for one function ( it never said only one). I lost my shit and pointed out that since I was the programmer, it was my wish how I coded. I also explained to him how repeating code is a bad practice and one should use functions to reduce redundancy and keep the code clean. Nevertheless, he lost his shit and he threatened me with consequences as apparently "I didn't know who I was messing with". I handed over the paper and stormed out of the class (though he called me back and tried to argue more with me. I apologized for losing my shit and left when he was done talking). I ended up getting a 'C'. Totally worth it.4 -
Got my first Webdev job at a small marketing company, felt very lucky as I didn't have much experience. Turns out I'm the only one that could program. The other guys just use Wordpress. It felt wrong at first, using plugins instead of developing, but we got results and clients were happy. I felt like there was a lot less to this development thing than I'd previously thought! And so we continued.
But I noticed that some of our more plugin heavy sites (not made by me - these were made in some drag/drop Wordpress interface) were running slow. I mean 15 seconds load time slow. I joined devRant around the same time and discovered that no - this is not what normal development actually is. Wordpress seems universally hated. Thank god, because something seemed very wrong!
So with us getting complaints all over the place over page speed from relatively high-profile clients, I've gone and set up a script on a server that downloads the whole front end of these Wordpress sites and serves them up instead of the 'real' thing. Did I mention that there's basically no dynamic content on most of these sites? It works like a charm! I'm now trying to figure out how to get forms and route them into the real, hidden version of the site, as well as automatically updating the html views whenever the client changes anything in the Wordpress backend. Not sure if this has fixed the problem or just enabled bad practice, but I don't think I'm going to be able to stop the others from doing things this way...
For the record, yes there are plugins that do similar stuff but I thought it'd be nice to never use plugins again! And hey, I got to learn all about bash scripting so I can't complain.
For real though, I didn't quite realise how bad the Wordpress thing really was until I came here. Thanks for making me aware, all!7 -
That feeling when a coworker screws up totally. doesn't accept it as their fault.
You look at the code and see so much of redundancy and bad practice galore.
You look at it for a while and think you can rewrite it from scratch. But you finally end up saying "fuck this" and feel hopeless because there is not enough time.
Hate that feeling. Hate it. Depresses.2 -
After designing the new server architecture for our software and the security to go with it, the boss decides we should ask our provider’s solutions architects to see if it is okay, they came back and said it all looks good apart from one part which my manager did and I always said was bad practice.
-
I practice what I call "Aggressive Oriented Programming" or AOP.
Whenever I'm investigating a bad bug, working on a project that I really hate, or dealing with messy code written by a messy developer, I often find myself resorting to an [internal] state of violence.
It's not like I scream and smash my screen (although sometimes I want to). It usually consists of a few git blames and some curse words in print statements for debugging. This is just my way to vent.5 -
My worst bad practice:
Saving my Linux Root SSH Keys on a Cloud Storage company.
Have them there, so I wont loose them ever. I password protected them, but you never know what the NSA/FBI/CIA can do 😉1 -
2018 dev goal #1: ✔️
This week I learned Python 3, as in most of the syntax. Not yet any development, but that will come tomorrow onwards.
Oh, and I hate the funky type system, which is almost non existent and so flexible that I don't know if it's just bad or I simply don't see why I should want it this way.
Please enlighten me why you think Python is great or just plain snake crap.
Did I mention snake case being common practice? And that Python doesn't know real private properties, methods, etc.? How does that work?17 -
"Graphics don't matter."
I ranted a while back about gamedev being hard to get into for me, and, today, user @DOSnotCompute posted a similar experience.
I had a couple more thoughts, so thought should post them here (FUCK! It ended up being too fucking long! sorry!)
So I was watching the making of mortal kombat 3 on yt, which was pretty amazing btw because I got to see the actors of the sprites in game which were engraved in my and thousands of others kids minds.
Anyhow, the creators of the series, John Tobias and Ed Boon, were interviewed and what not. And it hit me that while both were the designers, John was the main artist and Ed was the programmer (at least for MK1). Another game that comes to mind Super Meat Boy, and I bet hundreds of others did the same.
And it got me thinking, maybe that's my problem, I just need an artist.
And I think the reason why I never thought of that is because of this idea that graphics don't matter.
"you don't need an artist. You don't need graphics. The most important thing is the gameplay."
What a load of shit.
A lot of people believe that because they got tired of polished AAA games with automatic and predictible gameplay.
People started parrotting this knee jerk of a conclusion since then.
It's dumb. Imagine if Infiminer, one of the games Minecraft was based on, which btw looks terrible, had all the same features Minecraft had.
I would still not touch that shit with a pole.
Graphics ARE important. Games are on the VISUAL medium.
That doesn't mean you're sucking Sony's dick on every AAA release or that every game should be made with UnreUnityCocksReloadedEngine.
Some level of visual craft is required for a game ro be considered such.
(btw, I think most of you guys here get this, not trying to pander, just that I want to make it clear that I'm not accusing this community of being guilty of this)
If a game looks bad (given, bad can be subjective), if it gives the impression that it wasn't seriously made, then you kinda lower your expectations.
People get hyped on games that look good, because it means that the game could be good. Games that look unoriginal or terrible won't get played, wether they're good or not. And I think it's a reasonable reaction.
How many times did I hear things like "Look at x video game from the 90s, the graphics are terrible but it's fun as hell".
That is an absurd statement. The level of production some NES games went through is insane. We're talking millions of dollars for games that today might look primitive.
The graphics weren't shit back then, and even today you could say that they are simpler but also of excellent craftsmanship.
I'm not into creating art, I hate it in fact because you can't quantify the success of produced art.
So, duh, find an artist. Ok, how? This is the part where I have no fucking idea how.
You start spamming shit like "I need an artist" online? I dunno, something for another post I guess.
I guess the most healthy thing I could do is making demos that might look like shit just to get experience so that when I get to find an artist, I have practice already.7 -
This is how Pokémon Go shows errors to its users. It says a generic „Error“ in German with different numbers for different errors.
I am not an UX expert, but isn’t this a really bad practice? The error number has no meaning to the user, so why displaying it? I think it is just confusing and looks ugly 😐8 -
One of the companies that rejected me sent me feedback which I took gracefully coz u sexy cunts told me it wasn't the end of the world when I ranted about it here. Well now they are offering me another interview and I am hella nervous coz I don't want to fuck it. Good thing is the feedback they gave me were actually all shit I know and use daily in my work, I am just bad at explaining plsu was nervous at the last interview. Now I am worried coz it's on monday and I have not had time to practice explaining the lang well coz work has been crazy (literally on a 10 min break now since 9am..almost 10hrs working) which is weird right coz last year I actually used to teach.9
-
Security lifehacks 101
Why pay for password managers? Just use one secure password for every service you use! Password managers are really designed for fools who don’t know that you can just use one password for every service and who are ready to pay for that shit.
The best practice is to use your name starting with a capital letter + your main credit card number + CVC code from the back of that card as your go-to password. It’s long and hard to bruteforce and you can remember everything that way! You just need to remember that one password and you’ll always remember your payment info! No need for apple’s bad Apple Pay which is not so secure after all like everything else that Apple offers.19 -
It's my end of probation and I just got demoted, from originally "Senior dev" to "dev".
My manager found it a bit difficult to tell me but funny enough, I am completely fine with it apart from the little dent on my pay check. Let me talk about the bad first: money. I believe I have been on the lower end of the market pay range anyways so this step-back gives me about 5% cut, which is acceptable and fair enough.
And the good? Quite a bit. When I got this job offer 6 months ago, it was when everything literally went to shit. I was upset with a somehow not so smart but stubborn tech lead and I desperately wanted to quit. Then I got the offer, which even after 2 interviews I still didn't recall it was a job ads for "technical lead". The manager thought I was not there yet but wanted to keep me as a senior dev. Then, this pandemic almost took away this job. My manager brought my case to the CEO and convinced him to keep me, by saying a lot of good things about me (which I think might not be true for the tech side...)
Throughout the whole 6 months I have been working remotely from home. WFH is not new to me, just this time it's very challenging as I was starting a new job. I have been struggling to keep my pace. All people in the team are nice. However if I don't reach out, no one would notice I need help. And with zero knowledge for this job, I got stuck with "I don't know what I don't know". This ranges from company culture, practice, new tech.. everything. So, that's how this 6 months feels long, but also short.
In our review meeting I think my manager finally realise this. Otherwise he would have gone for the "terminate employment" option. Taking away the "senior" title also takes away the expectation of "I should know XYZ", which I don't. I told him I am kinda happy with it because this sets me up for a more comfortable position to catch my breathe. He told me he noticed my improvement along the way. I told him yes I have been putting in efforts but just given the situation it's not as quick as anyone would expect. We're on the same page now.
So compared to my previous job, I got paid less. But in return, I get many more opportunities to expose myself to new tech. I get a good team who are respectful and open-minded. This is exactly what I was looking for and the drive for me to quit my previous job.
Not to mention I got a reality check. This is also an indicator for me starting to become an imposter, which is the thing I despise most in the industry. I don't want people to value me for how many years I have got in my career. I want to prove myself by what I am capable of. If I'm not there, I should and will get there.
And the last thing which I'm not very keen but it's 100% worth mentioning, is that my manager said I should aim for taking the "senior" role back. He said the salary raise is waiting when I get there. But... Let me just take my time.4 -
It's maybe a cultural or language thing (or perhaps a generation thing!), but I've read some rants today where there has been a suggestion to shoot/kill yourself if you're guilty of some inefficient process or bad practice.
At the risk of over-reacting or coming across as humourless or stiff, it's not something I would ever say to anyone - light-hearted or otherwise.3 -
When looking something up, I generally try to avoid StackOverflow answers and find actual documentation, since SO answers are usually outdated.2
-
I was checking out this wk139 rants & thinking to myself how does one have a dev enemy.. o.O Well TIL that maaaaybe I have one too..
Not sure if ex coworker was a bit 'weird & unskillful' or wanted to intentionally harm us and thank god failed miserably..
I decided to finally cleanup his workspace today: he had a bad habit of having almost all files in solution checked out to himself, most of them containing no changes whatsoever... I reminded him on many occasions that this is bad practice & to only have checked out files he was currently working on. And never checkin files without changes.. Ofc didn't listen.. managed to checkin over 100 files one time, most of which had no changes & some even had alerts for debugging in them.. which ofc made it to the client server.. :/
On one or two occasions I already logged in and wanted to check if files have any real changes that I'd actually want to keep, but gave up after 40 or so files in a batch that were either same or full of sh..
Anyhow today I decided I will discard everything, as the codebase changed a lot since he left an I know I already fixed a lot of his tasks.. I logged in, did the undo pending changes and then proceed to open source control explorer.
While I was cleaning up his workspace, I figured I could test what will happen if I request changeset xy and shelveset yy, will it be ok, or do I have to modify something else & merge code.. Figured using his workspace that was already set up for testing would be easier, faster & less 'stressful' than creating another one on my computer, change IIS settings and all just, to test this merge..
Boy was I wrong.. upon opening source control explorer, I was greeted by a lot of little red Xes staring back at me... more than half the folders on TFS were marked for deletion.. o.O
Now I'm not sure if he wanted to fuck me up when he left or was just 'stupid' when it comes to TFS. O.O
So...maybe I do have a dev enemy after all.. or I don't.. Can't decide.. all I know for sure is tomorrow I'm creating another workspace to test this and I'm not touching his computer ever again.. O.O -
If this isn't the worst thing.
I was asked to develop a WordPress plugin as an intern developer and I've been on it since last week. I got stuck when i finally had the loops running but couldn't find a way to format the output without overwriting the existing values on each iteration.
For the last one week I've been showing the progress on my code to the CTO and this is how it has been.
Me: Hello. Everything is coming along fine, I have most of the functions running properly, do you mind looking into the algorithm?
CTO: Oh not at all, let's see what you got. Omg great code for an intern. I think you should add a new variable there and maybe clean up that function over there because it's deprecated now and yeah HaHa, Great work.
Me: Thanks xD I'll have it finished latest next week.
CTO: Oh great. I can't wait to see what you'd have by next week so we can install it on our WordPress.
*Next finally week comes and I'm done with the code.
Me: Hello, I'm done with the entire code! Want to take a look? The plugin works just exactly as described.
*CTO takes a look
CTO: Omg?
Me: Omg?
CTO: This is completely bad programming practice, so you are running 4 nested loops that all send queries to our data base and make changes to data. This would have a very drastic effect on the server considering the traffic we get.
Me: But you saw this exact code last week and said it was okay, I only changed some CSS since the last time.
CTO: Omg, we can't accept this, you have to develop it again from the scratch without using those loops and queries.
Me: What? Okay, fine. Any hints?
CTO: Yes.
Me: What?
CTO: Just start. That's the greatest hint I could ever give. And also, always have a plan before you begin.
Me: Yeah, thanks for those. It's the first time I'm hearing them and they would totally be applicable to building this thing.2 -
I opened an issue on a repo telling the owner that placing a "test passing" badge on the readme but not having other tests than an "ExampleTest" and no tests of the actual functionality is bad practice and what he thinks about updating the readme.
The result was a deletion (not close) of the issue and a ban from contributing (issues, PRs) on any of his projects.
And it was not some small "ten persons use this" project but a large boilerplate project with 2.4k github stars and over 800 forks. You would expect a little bit more professionalism of someone with that popularity.4 -
Most succesful project was around this time last year.
A scary club of privacy haters made a 'webapp' to advise people what to vote for in the national elections.
The tool was really bad in multiple ways. For instance, if two parties would score the same amount of points, one would, at random take second place without conveying this to the user.
Oh and it also collected all the data people entered "for scientific purposes". A very sketchy practice, a non profit, funded by the government and George Soros (I kid you not, illuminatie confirmed ;) ).
The tool had this disclaimer on the bottom, saying this webapp needs cookies to function. So that triggered me to make a copy of the tool that works better and ... offline, and without cookies. You could download a html file and turn of your wifi (for the paranoid ppl among us), use the tool, delete the file. No trace.
It was a little bit of tung and cheek project, a gimick, the original was called stemwijzer, mine was called offline stemwijzer.
It was a one day build and a day after launching I got a call of the original stemwijzer project leader. Demanding to take the thing offline for infringing copyright (yeah sort of was). I tried to explain him why I made this and why privacy for such things should be held in high regard. He basicly told me I was talking shit and did not want to discuss, I told him I don't take stuff offline because of phone calls. I told him to email me a seist and desist.
So that guy prolly had a stressful day (because of the launch of his tool), had a few glasses of wine, and wrote an email. He wrote me I was a pathtic kid and I should do more useful stuff. He wrote that anyone could program a tool like that. And he wrote me I should do him a favour not share this email with my measly amount of twitter followers. Super professional email.
So I did him that favour, I did not share it with my twitter followers, I shared it with one of the largest political blogs in the country.
My tool sort of took of after that. To stop infringing copy right I changed the name and I removed their content from the script and wrote instructions on how to copy and paste in the json content yourself and "make your own tool".
The response was great, people actually emailed me job offers and I think that the current job I have is due to the succes of said project. So be balsy, challenge giants, start riots, it will get you places.2 -
When your colleague comments out some of your codes just to reverse engineer how it works. And checked it in!!!1
-
TL/DR;
Worked as outsource where Scrum was misused. Please use it as a guide rather than law.
RANT;
Just remembered working as an outsourced programmer...
The Scrum master got us all... all of us... everyday... most people on Skype too... to update with our plans, issues etc.
So including the time trying to get everyone to sync up on Skype at around 9am, introductions, updates from EVERYONE... back and forth suggestions... I'd be starting near midday.
The task was related to making a tile based menu system that was populated with items from a backend... On paper, I only really needed to talk to the 1 artist and the 1 backend guy to understand the request / responses.
But even the art assets were arbitrary sizes... untileable... at the time they even had to be power of two too... My god, getting them changed was a nightmare...
In the end I was too slow for them.
Gladly.4 -
Apparently I'm surrounded by morons...
For the past 7 days since I was ordered to learn react wich originated this rant https://devrant.io/rants/805055/...
I somehow know more of it then my team that is on it for the past month or more.
Looks like the "standard" is to pass refs everywhere instead of proper props/state utilization.
At first I was confused by the usefulness and credibility of it but after a literal 1 fucking minute google search I found it to be a bad practice discouraged even by official docs.
Wtf? No one read the docs?2 -
I wanna be a millionaire, so fuckin bad.
So, throughout this week there have been massive trials and tribulations regarding my lack of coding practice however through many nights and days coding I have almost completed the task I was set last week.
I didn't realise how out of practice I was so this posed as a big challenge for me. However I pulled through and tomorrow it will be ready to send for the interview!
I also have another test to do in vanilla php - Typical blog which would be such a doddle now I'm back in the zone. I just have to remember I'm not using Laravel!
The sense of accomplishment is real and I'm so relieved I've come this far. Maybe I will have this career of my dreams which I rightfully deserve.
Below is Stripe, doing random tests :) -
Inspired by @NoMad. My philosophy is that technology is a means to and ends. We’re a tool oriented species. As it relates to software and hardware, they should be your means to achieve your ends without you needing to think. Think of riding a bicycle or driving a car. You aren’t particularly conscious of them - you just adjust input based on heuristics and reflex - while your doing the activity.
For a long time Software has been horrendously bad at this. There is almost always some setup involved; you need to front-load a plan to get to your ends. Funny enough we’re in the good days now. In the early days of GUI you did have to switch modes to achieve different things until input peripherals got better.
I’ve been using windows from 95 and to this day, though it’s gotten better it’s not trivial to setup an all in one printer and scan a document - just yesterday I had to walk my mother through it and she’s somewhat proficient. Also when things break it’s usually nightmare to fix, which is why fresh installing it periodically is s meme to this day. MS still goes to great lengths with their UI so that most people can still get most of their daily stuff done without a manual.
I started Linux in University when I was offered an intro course on the shell. I’ve been using it professionally ever since. While it’s good at making you feel powerful, it requires intricate knowledge to achieve most things. Things almost never go smoothly no matter how much practice you have, especially if you need to compile tools from source. It also has very little in the ways of safe guards to prevent you from hurting yourself. Sure you might be able to fix it if you press harder but it’s less stress to just fresh install. There is also nothing, NOTHING more frustrating than following documentation to the T and it just doesn’t work! It is my day job to help companies with exactly this. Can’t really give an honest impression of the GUI ux as the distros have varying schools of thoughts with their desktop environments. Even The popular one Ubuntu did weird things for a while. In my humble opinion, *nix is better at powering the internet than being a home computer your grandma can use.
Now after being in the thick of things, priorities change and you really just want to get things done. In 2015 I made the choice to go Mac. It has been one of my more interesting experiences. Honestly, I wish more distros would adopt its philosophy. Elementary only adopted the dock. It’s just so intuitive. How do you install an application? You tap the installer, a box will pop up then you drag the icon to the application folder (in the same box) boom you are done. No setup wizards. How to uninstall? Drag icon from app folder to trash can. Boom done. How to open your app? Tap launch pad and you see all your apps alphabetically just click the one you want. You can keep your frequent ones on the dock. Settings is just another app in launchpad and everything is well labeled. You can even use your printers scanner without digging through menus. You might have issues with finder if your used to windows though and the approach to maximizing and minimizing windows will also get you for a while.
When my Galaxy 4 died I gave iPhone a chance with the SE. I can tell you that for most use cases, there is no discernible difference between iOS and modern android outside of a few fringe features. What struck me though was the power of an ecosystem. My Mac and iPhone just work well together. If they are on the same network they just sync in the background - you need to opt in. My internet went down, my iMac saw that my iPhone had 4g and gave me the option to connect. One click your up. Similar process with s droid would be multi step. You have airdrop which just allows you to send files to another Apple device near you with a tap without you even caring what mechanism it’s using. After google bricked my onHub router I opted to get Apples airport series. They are mostly interchangeable and your Mac and iOS device have a native way to configure it without you needing to mess with connecting to it yourself and blah. Setup WiFi on one device, all your other Apple devices have it. Lots of other cool stuff happen as you add more Apple devices. My wife now as a MacBook, an IPad s d the IPhone 8. She’s been windows android her life but the transition has been sublime. With family sharing any software purchase works for all of us, and not just apples stuff like iCloud and music, everything.
Hate Apple all you want but they get the core tenet that technology should just work without you thinking. That’s why they are the most valued company in the world14 -
// My First Rant
We have a developer that almost everyone adjust to what he want to avoid talking or working with him.
I have office mates that doesn't want to give tasks to him just to avoid working with him.
Even our devOps guy just did what he want so he would stop talking.
One bad experience of our devOps guy with him is that his infrastructure or other AWS stuff was blame why his APIs is not working. It turns our that his url for the database has FUCKING SPACES.
Not sure if a good practice but he wants the base url of our Endpoint to be set in environment variables instead of having DEV/PROD/TESTING and base the endpoint from there.
He said that he was given permission to study a language but he doesn't even ask for permission.3 -
When you have high pattern recognition but get rudely ignored until the problem you warned about becomes a very serious issue days later 😪🙄
Fuck I'm so tired of feeling like the only one trying to stave off bad practice sometimes 🫠
🙃4 -
(first post/rant on here)
So I recently started at a new company. I was kinda aware that the project I'm working on would be rather old school (to put it in a nice way :-)).
Part of my job is to 'industrialize' and update/clean up the existing code so there is less time spent on fixing bugs due to bad design.
One of the first things I had to do was to write a new interface to integrate with external software.
I already noticed some rather nasty habits, like prefixing every variable with m (don't know why), private fields for every property (all simple properties) and a whole lot of other stuff that either is obsolete or just bad practice.
Started writing clean code (simple classes with properties only, no m prefixing, making sure everything is single responsibility, unit tests, ...).
So I check in the code, don't hear much from it again besides the original dev/architect that started the project using my code to further work on that integration.
Now recently I started converting everything from TFVC to Git (which is the company standard but wasn't used by our team yet). And I quickly skimmed through my code to check if everything was there before pushing it to the remote repo.
To my surprise, all the code I had written was replaced by m prefixed private variables used in simple properties. BL classes were thrown in together, creating giant monstrosities that did everything. And last but not least, all unit tests were commented out.
Not sure what I got myself into ... but the facepalming has commenced.14 -
We have this one professor in a mathematics course.
He sits there having no plan of what he's doing. He literally opens his python Jupiterbook with latex enabled, writes a complex equation and tries to solve it in 10 minutes. Makes mistakes every few steps and deletes his formatted equation that isn't even interpreted yet (we see the cdot etc. instead of * which makes it even harder to read). Every few minutes some student corrects him and he deletes it again.
Why can't you just think first and then write and try to teach us?
Use as much time as you want as long as you don't have to keep reverting back the humanly unreadable latex equation.
Hell, you are also allowed to use a basic pen and paper. Trust me, that shit is more readable, even if you have a bad handwriting, than your squeezed in complex untranslated latex equation in Jupiterbook.
Btw. he also streams with no zooming in I might add.
Am I supposed to trying to read your small as shit, focus on what you're teaching while you keep making mistakes or write it down on paper and practice the given tasks?
On top of that, he records the zoom conference but he doesn't share it anywhere on the college forum so that people who have missed it can download it and rewatch it.
Everything he does makes no sense. How did he become a mathematics professor with a PhD?5 -
Just finished a large write up on a security flaw I found and disclosed in an exam spyware vendor's "zero knowledge encryption" - derived keys that were generated from incrementing integers, discussion on obfuscation and more.
It was a hell of a time writing this up; not sure if linking my personal blog here would be bad practice, but here it is: https://proctor.ninja/wave-rake-pro...
It's been something else, but hopefully I can keep fighting against tech like this on school campuses.4 -
When you're debugging a method called
GetPatronByPatronId(id) and see these lines of codes at the end3 -
Reading another rant about scrolling and decimal values I felt an urge to write about a bad practice I often see.
Load on demand when scrolling has been popular for quite some years but when implementing it, take some time to consider the pages overall layout.
I have several times encountered sites with this “helpful” feature that at the same time follows another staple feature of pages, especially news sites, of putting contact and address information in the footer ...
Genius right :)
I scroll down to find contact info and just as it comes in view new content gets loaded and pushes it out of view.
If you plan to use load on demand, make sure there is nothing below anyone will try to reach, no text or links or even pictures, you will frustrate the visitor ;)
The rant I was inspired by probably did not do this but its what got me thinking.
https://devrant.com/rants/1356907/...1 -
The moment you find an ex-colleague used code comments to take someones mobile number, then accidentally committed it. It's been there over a year!2
-
Note to self: if you have a tight deadline and need to rush a website / web app, use SASS because you're going to end up with 800+ lines of CSS because you suck at your job and you keep telling yourself you'll refactor everything but never get around it.
-
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
Reddits /r/webdev is such a shithole. It is filled with bad practice and buzzword sharks most of them have 0 knowledge and trending topics are nearly always wrong or the most generic bullshit someone found on medium.
Fuck reddit, im happy i deleted my account there.6 -
// first rant
So this isn't really a "dev" rant but I'm a developer taking my first ever design class. It's a senior level, group based class where we design a mobile OS from the ground up, using any inspiration we like. I love it because I'm the developer and designer for all of the Android apps I've worked on so far. I get to practice my design skills and have a portfolio addition. Neat! It's a pretty easy class too.
But my group. Oh God my group.
I spent a week and a half designing the style guide and it was jam packed with anything we'd need. Typography, icons, rationales, you name it!
But noooo, they can't use it because it's not in sketch. As a Windows user, this is infuriating. So three weeks go by and all this work is done that's SUPER INCONSISTENT. Bad colors, elements off by 3px... I mean even the font sizes are just 1 or 2 off. Seriously, I wish I could just be frank with them and tell them to put in the 1% effort to make it right. It's really not that hard. I just don't want to screw up the peace in my group..2 -
Actual production code:
while(1):
//A few lines of code here with a conditional break.
while(1):
//More code.
Have you ever just had nested infinite loops...4 -
Have you ever encountered a situation like this before?
You worked in a team, made many adjustments in the codebase, and all the changes you've made are the best practice (after some research or asking the community).
But the team leader decided to go with the "messy" version of the code and the team leader does adjust the principle of "bad code" in favour of your coworker, just because he/she is a friend of the team leader.
So, whatever you adjust or contribute is simply nullified but any adjustments made by your coworker are considered "new updates".5 -
HEYYY!!
Glad to see ya all, how have ya been?
Gosh, it has been forever since the last time! I feel like I forgot about this platform too much, it feels good to have a place full of wonderful people to speak to, and you don't see those everywhere. I'm sorry I haven't been here much, it was mostly due to me not being able to practice programming much and thus falling back on tech stuff.
BUT - that period is now over. Maybe.
I'm gonna be more active on here, in the past recent years I've seen how bad most social medias turned out to be, with a few very special exceptions. I think devRant deserves more activity, so for better or for worse (hopefully better), I'm back!
I think my biggest problem right now is the need for a better PC, one Italians would call "a PC with the controcazzi", lol. A good one, is what I'm sayin. But would ya look at that, thr moment I start searching up for one, a friggin pandemic takes place and prices skyrocket! Ain't that fun. XD
I would probably have found an awesome PC build by now if I knew jack shit about hardware, but unfortunately I was always more into software than hardware. ^^"
So if anybody has any idea, I mean, I'm open to suggestions~ they'd be very appreciated, and thanks in advance. <3
But enough about that - how are you holding up? I hope you're doing good.
Misadventures and bad stuff happen, but I promise you we're all gonna get out of it soon. In the meantime, always remember to drink water, eat properly, keep yourself sanitized, exercise, and do things you love doing. That's what life is about. I'm looking forward to hearing from y'all, once again. 💙
Keep fighting the good fight, and kick ass! And chew gum, too.rant tag you're it still dunno in what order tags are in lol i'm back baby! you're lookin cute today~2 -
I want to beat someone so bad right now. Guess I'll just do a heavy bench press later to release stress and anger 😤 well society. You can't just beat someone in a city because of laws. If we are alone in the desert then goodluck to him. So there's a reason on why I want to beat him so bad. 👊😡 sigh ok gotta practice more "mastering your emotions"
-
I really really hope that no one post this,a friend texted it to me and I wanted to share it because made my day.
Idk where it comes, so feel free if know where this came from to post it:
//FUN PART HERE
# Do not refactor, it is a bad practice. YOLO
# Not understanding why or how something works is always good. YOLO
# Do not ever test your code yourself, just ask. YOLO
# No one is going to read your code, at any point don’t comment. YOLO
# Why do it the easy way when you can reinvent the wheel? Future-proofing is for pussies. YOLO
# Do not read the documentation. YOLO
# Do not waste time with gists. YOLO
# Do not write specs. YOLO also matches to YDD (YOLO DRIVEN DEVELOPMENT)
# Do not use naming conventions. YOLO
# Paying for online tutorials is always better than just searching and reading. YOLO
# You always use production as an environment. YOLO
# Don’t describe what you’re trying to do, just ask random questions on how to do it. YOLO
# Don’t indent. YOLO
# Version control systems are for wussies. YOLO
# Developing on a system similar to the deployment system is for wussies! YOLO
# I don’t always test my code, but when I do, I do it in production. YOLO
# Real men deploy with ftp. YOLO
So YOLO Driven Development isn’t your style? Okay, here are a few more hilarious IT methodologies to get on board with.
*The Pigeon Methodology*
Boss flies in, shits all over everything, then flies away.
*ADD (Asshole Driven Development)*
An old favourite, which outlines any team where the biggest jerk makes all the big decisions. Wisdom, process and logic are not the factory default.
*NDAD (No Developers Allowed in Decisions)*
Methodology Developers of all kinds are strictly forbidden when it comes to decisions regarding entire projects, from back end design to deadlines, because middle and top management know exactly what they want, how it should be done, and how long it will take.
*FDD (Fear Driven Development)*
The analysis paralysis that can slow an entire project down, with developments afraid to make mistakes, break the build, or cause bugs. The source of a developer’s anxiety could be attributed to a failure in sharing information, or by implicating that team members are replaceable.
*CYAE (Cover Your Ass Engineering)*
As Scott Berkun so eloquently put it, the driving force behind most individual efforts is making sure that when the shit hits the fan, you are not to blame.2 -
Hey Bad-practice, i see you’re looking for a new job? Are you interested in working in the main capital only 60km away?
Yeah sure, here are my contact details.
Ok great! Expect an invitation for somewhere next week.
Two days later i receive an email from their HR manager, who wasn’t even able to spell their own company name correctly... Asking again my phone number that i already gave to the first contact.
Impression so far? Very mediocore.1 -
Ex-colleague asked for help in regards to an old project we were working at my old job
Him:"We're experiencing an internal server error. What do we do?"
Me:"Restart tomcat, dude"
Him:"How?"
Then I explained how by finding tomcat in ps -ef in a Redhat server, because he's a Linux noob and needed a lesson in how services works. Proceeded to explain how to restart tomcat with an online guide available.
Him:"Couldn't find tomcat in any of the servers"
Me:"Are you sure? Send me screenshots"
Him: sent screenshots
Me:"it's there. Look carefully."
Him: finds it and proceeded to restart tomcat.
Him: "Can't restart. Some catalina.sh is stopping it."
Me:"Figure it out. You can do it".
Half a day passed...
Him:"I give up. If I restart the server, will tomcat also restart?"
Me:"Up to you man. It will work but it's bad practice."
He restarted the server vand now everything is honky dory. I feel sorry for him though.2 -
So, this has happened to me quite a few times
I write about 100 untested lines of code (I know, bad practice) and then go ahead to test it
As expected, the program crashes
Spend hours debugging, to no avail
And then I add a print statement to check where the code stopped, and hey presto! The code completes execution
I remove the print statement, the code gets stuck
Also, the codes don't use any low level functions that might be interfered by print statements anyhow
Till today, never understood how a print statement helps codes execute properly6 -
wtf boss!!!! Is it so hard to understand that having one column per year is a horrible bad practice?9
-
(Surprisingly) unpopular opinion: Multiple inheritance is a bad design practice and should not be used.16
-
“Let’s spend two pages and 100 lines of code on bad practice before you learn good practice in 5 lines.”
Django (& REST) tutorials in a nutshell 🙄1 -
So, I was fixing some code today, and stumbled upon this. Is it just me, or is this really an example of bad bad practice...? And, no, there was nothing to be executed after this function was called.6
-
I remember my colleague who was DevOps guy (15+ years exp) in our one very good project about kids' edutainment.
He always breaks things & blames others when only he had admin access of the tool.
When client was very much interested in Android app, our that DevOps focusing totally on REST API & ignored Android app related DevOps tasks.
Our Android CI/CD was not complete till project ended. Due to his stubborn nature we couldn't take benifit of automation testing.
You can't tell him how to do any task, if you tell then it will be taken by him as an insult to his intelligence.
He would waste his 2 business weeks to find a way to do that task, then he would do some frugal trick half heartedly then he will leave it. Still he wouldn't accept your help due to his ego & he would work on tasks which he likes even though they are of low priority.
He was hellbent on cost cutting so he reduced caching availability to save extra billing, now we couldn't had enough speed for even 10 users to show recommendation feed by API.
Due to this our client couldn't show demo to angel investors properly & didn't get funding.
I don't how with such a bad attitude, he could survive so long.
He had plenty of training certificates (Salesforce etc.) with very little practical knowledge.
God save people of his current & future projects.2 -
I've been feeling very bad because I don't think I've been making good use of my free time. So I decided to change.
Looked at my goals, first in line, getting a driver license.
For that, I need to arrange times for practice with my dad.
For that, I need a clean timetable. I had one but teachers are lame and don't respect the times of course.
So, I need to print the new one I already had done.
So I went to the printer.
And it prints awful, everything is pink because it doesn't print yellow.
Fine, let's change the cartridge.
Printer refuses to work, it throws a stuck paper error.
My dad tries to fix it putting fingers inside. Nothing.
We suspect it's the new cartridge, change the new cartridge chip with the one the old one had. Printer fooled.
It still doesn't work. Stuck paper.
My dad admits he felt he broke something when he reached inside the printer..
We had to disassemble it and fix the broken part.
Now it works again.
It still doesn't print yellow.
We'll have get it fixed or get a new one.
I guess I have to draw my timetable by hand...
Sucks, I made it using html and flex. Every 1fr was 5'.
I'll make a gist if anyone is curious about it.1 -
"Reflective" programming...
In almost every other language:
1. obj.GetType().GetProperties()
or
for k, v in pairs(obj) do something end
or
fieldnames(typeof(obj))
or
Object.entries(obj)
2. Enjoy.
In C++: 💀
1. Use the extern keyword to trick compilers into believing some fake objects of your chosen type actually exist.
2. Use the famous C++ type loophole or structured binding to extract fields from your fake objects.
3. Figure out a way to suppress those annoying compiler warnings that were generated because of your how much of a bad practice your code is.
4. Extract type and field names from strings generated by compiler magic (__PRETTY_FUNCTION__, __FUNCSIG__) or from the extremely new feature std::source_location (people hate you because their Windows XP compilers can't handle your code)
5. Realize your code still does not work for classes that have private or protected fields.
6. Decide it's time to become a language lawyer and make OOPers angry by breaking encapsulation and stealing private fields from their classes using explicit template instantiation
7. Realize your code will never work outside of MSVC, GCC or CLANG and will always be reliant on undefined behaviors.
8. Live forever in doubt and fear that new changes to the compiler magic you abused will one day break your code.
9. SUFFER IN HELL as you start getting 5000 lines worth of template errors after switching to a new compiler.13 -
I recently went to an office to open up a demat account
Manager: so your login and password will be sent to you and then once you login you'll be prompted to change the password
Me: *that's a good idea except that you're sending me the password which could be intercepted* ok
Manager: you'll also be asked to set a security question...
Me: *good step*
Manager: ...which you'll need to answer every time you want to login
Me: *lol what? Maybe that's good but kinda seems unnecessary. Instead you guys could have added two factor authentication* cool
Manager: after every month you'll have to change your password
Me : *nice* that's good
Manager: so what you can do change the password to something and then change it back to what it was. Also to remember it keep it something on your number or some date
Me: what? But why? If you suggest users to change it back to what it was then what is the point of making them change the password in the first place?
Manager: it's so that you don't have to remember so many different passwords
Me: but you don't even need to remember passwords, you can just use softwares like Kaspersky key manager where you can generate a password and use it. Also it's a bad practice if you suggest people who come here to open an account with such methods.
Manager: nothing happens, I'm myself doing that since past several years.
Me: *what a fucking buffoon* no, sir. Trust me that way it gets much easier to get access to your system/account. Also you shouldn't keep your passwords written down like that (there were some password written down on their whiteboard)
Manager: ....ok...so yeah you need sign on these papers and you'll be done
Me:(looking at his face...) Umm..ok4 -
Fucking unreal bro!!! I’m working on an issue and I pushed, then there was a bug, i fixed it again, another issue for the UI change, another fixed for sorting column. All that fixed I created separate branch. My boss called me and told me im stupid for creating a separate branch everytime on a simple fix, he told me that Git isnt used that way. He told me that his been doing this 30years already. So I asked isnt it the best practice to create a separate branch on every issue or if the branch has been merged? His answer is no. Fuck this guy and his 30years experience
I should’ve responded:
First of all, if we have a test suite then I would have notice that error but we dont. You dont even want to upgrade ruby and rails. We’re stuck at version 4 on rails. Second why are you merging my MR and reviewing it on IST? Why didnt you do that locally so you can address the issue before you merged? Third fuck you and your 30years
My actual response is:
Ahh yes sir, im sorry wont happen again, my bad, sorry for that mistake.
Fuck bro im mad!!!!4 -
Code review moment that I hate
Me: This is a bad practice. You shouldn't do this
Developer: But it works
*Showed articles and examples why it's bad*
Developer: I see. But it works. Why should I change it?2 -
Am I the only one who heavily comments their code when learning a new language to the point of you essentially describing what everything is and how everything works6
-
so on android you're supposed to do network stuff like sockets and http requests on a separate thread right. lazy me released an app with a line of code (i forget what it is) that allows me to make http requests in the main thread. rip3
-
StackOverflow veterans: "this is an elitist meritocracy, so play by the rules to earn reputation and practice the same gatekeeping behavior that we have established for years." Then they wonder why mostly white male US academic guys keep engaging in their community.
Yes, it's "stackoverflow again".
Another one of those sites you can't really avoid as a dev, too good to ignore, to bad not to get upset about. Maybe also a mirror of antisocial patterns still prevalent in society and especially in the developer industry.11 -
Why why why the fuck would you assign the same variable name at the start of a function to completely different data? These aren't params, but variables being assigned different things, no comments, no documentation, crucial in the operation, but assigned wildly different values with different behaviors through the code.
-
I saw one of my coworkers do a multi step bus ticket purchase in one file (we use angular 4) instead of using components he just hide and show the sections, resulting in a class that have about 2000 lines of code, unused variables, unused functions o just functions that console.log something, and many many lines of declaring variables. I tried to fix that, but this crazy deadlines were fucking with me3
-
I've been doing interview prep for almost two months now (off and on). Doing this course online to better understand algorithms and doing Leetcode problems here and there. Definitely not putting in 6 or even 8 hours a day into studying since I'm working, but fuck I feel so discouraged when I'm not even able to get an "easy" problem.
I really want to get better, and I know it takes a lot of patient and practice when it comes to problems. I try my best to tell myself "you haven't learned this yet" or "you'll get it soon", but in the end I just feel so discouraged that I want to quit practicing for interviews.
I hate that this profession requires people to spend X months or even years studying for an interview. That the 3-5 years of relative and good work experience means nothing more than passing a resume screening to get to a coding interview where they ask you a problem you'll never face in your career at X company.
Do I hate the process because I'm just bad at algorithms I don't use often? Or would I feel like it's just and fair if I understood things easier and were able to land jobs easily because I get all the algorithms?
I just want to be better.8 -
> some other team leader reviewing some code I wrote
> "NOOOO NOOOO YOU CAN'T USE ALL UPPERCASE IDENTIFIERS, IT'S BAD PRACTICE, NOBODY DOES THIS"
Today on: people rejecting PRs because they dislike a perfectly valid style for writing enums8 -
Are sql joins a bad practice? :o
I recently did some work on a page for a site ive never worked on cause my boss told me to. So they recently added product detail video urls to a table that has a relationship to the products table. The existing code was querying for the products on that said page and then during the loop that was outputting the products ,there was another query for getting the url for the current iteration/product. Told my coworker that this imo was pretty inefficient way to do it and switched it to a join and did 1 query then output that but his words were "The way it is now maybe ineffecient in your opinion but it works. Also combining inner joins with left or right is not a good practice. If the data is changed upstream the entire query would need to be redone to accommodate the change". Mind you that they query views a lot which are all made from queries that use joins and I'm also pretty sure these views were written by someone who used to be here because these guys are not good at sql or at least that's what there queries show. I'm at the point now where I'm realizing that my boss and this other guy don't give a fuck about efficiency or doing things the right way they just want it "to work". So this coworker changed my query back to the way it was because he said it broke the shopping cart even though that was already broken when I started... What is life? Maybe I'm the stupid one?7 -
is using auto incremented id as primary key bad practice in mysql??
My teacher said it is wrong to use autoincrement because it will skip number when row is deleted. But it does to make it unique .
Or should i use uuid ? But doesn't it impact performance?57 -
So recruiters seem to cause a lot of trouble for the members here so I thought maybe we as a community can write an open letter and publish it somewhere. If a large enough group of us signs it, it might get some traction and start a discussion.
It would be nice if recruiters were made aware of the problems people are facing in the recruitment process, and we too can hear about the realities they are facing with candidates and clients.
We can send this letter to any recruiter as a reply to bad recruitment practice, so it can have practical and educational value too.
Yay or nay?1 -
I am a programming teacher in Colombia and the week's topic is very useful for me, thanks to all for writing your ideas, but in the other hand I think that some points have not been understood, for example in my college we use in the beginning of the course notepad so that the students learn the sintaxis and good practices and they no dependent of a especific tool or Ide (an advantage of this practice is that the student learn to use command tools easily). We want that que student learn programming and not a language or software . This because in our experience the students learn to use a tool but not to resolve a problem and this is bad in a long term.2
-
did on my last project:
1 .Using QA env as dev env
2. Deploy in production not completely tested stuff (90% tested)
3. Run with errors in prod
4. Manual fix in prod
5. Git versioning1 -
I am currently trying to figure out how to deal with this frustration of putting everything that i'm learning in practice. I've been studying for a long time and I don't know yet how to start my own project, and I have so many ideas. This feeling is very bad. Am I doing something wrong?3
-
Name two production service, metrics and logging included, after a famous woman and an armored vehicle.
Dude, no. When those services go down in the middle of the night some poor soul on call duty will have to handle it without the faintest idea wtf is going on.1 -
Hi I am a mobile developer and it really sucks when I have to consume a non RESTful API and uses custom HTTP codes. I really want this to change but I need to present a compelling reason why this is bad practice and the possible real world implications of such practice. Perhaps more experience devs can help me out?1
-
Hi bad-practice, thank you for your application but unfortunately we had to conclude there is no opportunity for the role you are looking for.
They had a vacancy for frontend developer. I am frontend developer. What you mean no role?
Smells like the 33th BULLSHIT EXCUSE!2 -
Context:
I recently joined a team and we are working on a fairly large mobile app using RN, they started a month ago. And I noticed, they don't have any fucking tests and static typings like Typescript.
I have this pretentious team leader that acts like he's the BeSt dEveLopEr in ThE woRld, and act like he always know what he's doing. But in reality, he code like crap, the formatting is shit because the ESLint config is not working, he's not even aware of it until I've fixed it. He's using every BAD Practice available, unused variables and imports are scattered everywhere, etc. And the directory structure is crap and no consistency.
How can I convince this ignorant mofo to use tests and typescript? He believes that adding those will take us longer and cost more money to the client, based on my experience, this is not the case, it's only slow on the first 2 weeks and it is worth it in the long run.13 -
contrarian dev guru types are just losers who couldn't make it in industry or business with their (lack) of skills, but are so sour and embittered they continue to shovel their own garbage on everyone else
god its just so annoying "oh i do it only this way, and its the RIGHT way, you must do it this way"
this UI feature that literally exists everywhere else? "oh no those are bad, no one uses it and its not a best practice"
get the fuck out of my way, you're just slowing me down2 -
Today is thursday. Oh no.
At thursdays I have a 8h30-19 schedule (I have 1h30' of free time to go home and cry after I finish a class at 15h30 though) and there's this one class I DREAD. It's a 2h class at 17h and it's an exercise class. This wouldn't be so bad it I actually understood the code behind the exercises, because they don't teach us code in the theory classes (btw it's C. I hate that language because of all this). The teacher pretty much tells us "do this exercise", waits like 10' and then starts to (try to) explain what we're supposed to do. Oh my god.
The other day he was like "write "exec ( ... "text" ... )", compile and execute". It didn't work. Of course it didn't why would it? I was switching around between terminal, manual and text editor, to no avail. In the end he explained but I don't think I got it.
Every time I think about this class I die a little inside and start to become somewhat anxious to be honest. The theory is not that that hard, the practice part is what is killing me (I have test in 2w but I'm just gonna start studying earlier so I can go watch this match LoL).
Does someone know a good book (preferably online, if possible) or a good website on C? I really need to read that, that language is killing me.
Bonus: the other day I had to do a homework that was to be delivered. We had to write a program that read the program and its arguments like this:
./program_name
numArgs
arg1
arg2
etc
I wrote the code, had some bumps in the way, asked a colleague for help because we needed to have a custom function made that was to be done in the class but that I couldn't make because of the reasons above. Then it came the time to test. My VM broke (I think I'm gonna format my PC to try to fix that. Have installed some other versions of the VM but the installations fails or the machine doesn't start) so I sent it to said colleague to test. She said it did OK and so I sent the work to this website we have to send our works to.
"2 errors".
What? What happened? She said it worked just fine.
Looked at my code, couldn't see anything wrong.
Asked the same colleague for help.
Turns out I missed a space. A SPACE. I don't think I've ever felt so frustrated in my life. A presentation error in Java is a good thing, at least we know the program works fine, it's just the output that's wrongly formatted. But C? Nope, errors all around, oh my god. I'm still mad about it.
And I owe her a chocolate.1 -
I miss one day because of doctors visits and now every multi-word filename in the project and all their references contain spaces. Fml
-
1. getSomeData(params, ((err, data) => {
2. if(!err && data) {
3. try {
4. data = JSON.parse(data);
5. } catch(e) {
6. return null;
7. }
8. return data.someParam;
9. }
10.}
Nothing like bad practice in above code but I always feel that the line 4 should be replaced by below.
4. var result = JSON.parse(data);
and then use result variable to get data one is looking for, like below
8. return result ? result.someParam : null;
Your thoughts?3 -
I've had my site up and working for a few months now (still need to finish building it properly the template project is still half default lol) but because I setup the Nginx server on a digital ocean droplet myself using both for the first time ever I obviously made some mistakes. It was up and running though just always spouting 'nginx[1755018]: nginx: [warn] conflicting server name "jessiejfoley.dev" on 0.0.0.0:443, ignored' whenever I 'nginx -t' or 'java.security.cert.CertificateException' on this server monitor app I have on my phone
But it was up and ssl seemed to be working so I ignored it
today I learned about https://sslshopper.com/ssl-checker...., which told me my intermediate certificates were not functioning properly, I was bored today and didn't wanna be too productive (else boss expects the progress I've made this week every week) and decided to finally go through and see about getting everything fixed properly starting by reinstalling the certs and double checking my commands.
2 hours later I still can't fix the cert errors so I decide to focus on the conflicting name error. Go through the nginx directory cleaning anything non essential or things I put there while trying to figure out how to get it up originally (learned as I was going lol bad practice I know, but it's just a practice site that'll eventually be a portfolio when I feel like making it properly and investing an adequate amount of time)
as soon as I get rid of jessiejfoley_dev.save.3 inside /etc/nginx/conf.d (my actual site is in sites-enabled) my server monitor app stops reporting the cert error and when I check the ssl checker everything is properly working now.
so the easiest problem to fix was actually the cause of all my problems. I'm and idiot and this shows I still have a LONG way to go to actually knowing what I'm doing at all.1 -
Has ANYONE ever seen an example of a clean, usable LCARS-style user interface for anything practical or everyday use? It was always so cool to look at on ST:TNG but every time I see it put into practice, it falls apart. I don’t know why I want it so bad, but I do.4
-
It's now a few months that I'm doing my first internship.
And I feel pretty bad.
The company is great, but the software I'm working on is horrible, bad coded and a nightmare to maintain. I think it's a common situation: fixing a bug opens other twenty bugs.
Also, the boss doesn't want to spend time to rewrite any part of it (it's not a huge thing, it would require at most three weeks).
I feel like I'm not learning almost anything and I'm not practicing anything about what I studied.
Also, when I go back home I don't have any will to code, even just to practice.
How should I feel about this? Is this a normal situation and I'm just somehow spoiled?8 -
I guess it's my third or the fourth company that am currently changing.
I have the will to improve and write better code quality level up. But sometimes i guess i have the lack to find the how to do these stuff and how to practice and who is going to tell me that i have to change these lines of code so you can improve am just in a big mess and i feel so bad about it.
Now i had just received a new warning at my current company that i either improve or i get fired. So i have been searching over google and internet how to improve as well i had just created a new project for the will to practice and become better.
Can someone tell me what i should do?
How to fix everything and let my colleagues gain my trust in my code commits ?
Because literally i feel so bad about everything and you can't imagine how miserable i feel.3 -
Dumb question time!
I'm writing a bash script that outputs some progress info to stdout (stuff like "Doing this... ok", "Doing that... ok") before outputing a list of names (to stdout too).
I'd like to be able to pipe this list of names to a second script for processing, by doing a simple :
~$ script1 | script2
Unfortunately, as you may have guessed, the progress info is piped as well, and is not displayed on the screen.
Is it considered a bad practice to redirect that progress info to stderr so it is not sent into the pipe ?
Is there any "design pattern" for this kind of usecase, where you want to be able to choose what to display and what to pipe to a program that accepts input from stdin ?16 -
In 2019, we still find a contact form with a required checkbox to register at the newsletter and sales solicitation.1
-
I'm in need of advice. I reckon this is no stack overflow but that's probably for the best as I wouldn't feel as comfortable posting there as I am doing it here. So, back to the question: I'm currently working with legacy code, written in .NET 2.0. This code is responsible for calling upon PEC services in order to finally create personal smart cards. I was tasked with the job of creating a repository system that would allow the program to call on the old legacy services or the new ones without any distinction. We are talking about SOAP services in both cases. The issues is: the new service definition is comprised of soap policies. This wouldn't be a problem per se, with more modern version of the framework, but with .NET 2.0? Yes, it is. It doesn't support policies and signing the body with a certificate right out of the box. How can I manage this? I feel like the only way would be letting the proxy class do its thing up until the very last moment: intercept the SOAP request before its sent and modify it according to the specifications. But I reckon this is very bad practice. Is there any other way out of this?
Thanks for anyone that would like to help. 🙂6 -
My most hated term BY FAR is "In theory". It's a lousy-ass, weak excuse for not doing shit properly while distancing yourself from the problem. Short guide: "in theory" may be used prior to or following a statement in which you have little or no confidence in.
The web server shouldn't reach the database server "in theory", it fucking does or doesn't. The SQL cluster shouldn't "in theory" fail over to a working server in case of a hardware fault. Fuck off with your irresponsibility, man up and do things properly. This is the real world, not a sandbox for your shitty dorm room code1 -
I don't describe what I did in my CV for any of my current or past job(s). Any tips to end that bad practice?
I'm looking to switch jobs for a larger pay (around 35% to 81% more)5 -
CS students: Everyone knows that filling slides with flowing text is bad practice. BUT. Does anyone else just HATE this when lecturers just copy the entire Slide from an article that is the first google search result OR WIKIPEDIA, not even trying to rephrase it, or quote professionally, but just copying, not trying to adapt to the audience at all. AND, what's worse - We have to learn this stuff for an exam tomorrow - AND - I can't find other peoples explanations on the web for each topic in time, if everything is just copied from the web's first results, i have to scan twice as many pages to find one different from the slides, that helps me understand the topics >.<2
-
I decided to use Docker Compose on a tiny project that essentially consists of an API and a Caddy server that serves static files and proxies to the API, all of this running on an EC2 t1-nano. I made this admittedly odd choice because I wanted to learn Compose and simultaneously forego figuring out why the node-gyp bindings for sqlite3 refuse to build on EC2 even though it builds just fine on my machine.
I am storing secrets in .env which is committed into the private GH repo. Just now I came across a rant that described the same security practice and it sounded pretty bad from an outside perspective so I decided to research alternatives.
Apparently professional methods for storing secrets generally have higher system requirements than a t1-nano. I'm not looking for a complex service orchestration system, I'm not trying to run an enterprise on this poor little cloud-based raspberry pi. I just want to move my secrets out of the Git repo,
Any tips?9 -
(Warning, wall of text)
Settle an argument for me. Say you have a system that deals with proprietary .foo files. And there are multiple versions of foo files. And your system has to identify which version of foo you are using and validate the data accordingly.
Now the project I was on had a FooValidator class that would take a foo file, validate the data and either throw an error or send the data on its merry way through the rest of the system. A coworker of mine argued that this was terrible practice because all of the foo container classes should just contain a validate method. I argued that it was a design choice and not bad practice just different practice. But I have also read that rather than a design choice that having a FooValidator is the right way to do OOP. Opinions?1 -
I think promoting 'a quick lookup on Google' every single time you need to add something useful into your codebase is a bad mentality. It's the same problem with populating your code with Stackoverflow snippets.
I think this is not a good approach because your code will eventually rot and you won't have full control over your codebase in that you didn't write those parts and you don't fully know what's going on underneath. Then, you will forget about that code. A new feature request will come up and oh no, you will be wrestling with your old code because you just quickly inserted it in there, not fully knowing it under the hood. Hours will be lost on debugging.
I advocate much more the approach of really knowing the language and the solutions you're using, instead of just constantly hacking it with the excuse of "Oh, there's no time to learn everything", "You don't need to know the details" and "This is the real world".
No, this is not a good attitude. With the former approach, you will be much more able to safeguard your code and improve on it, rather than wrestling for hours with it. I think it's important to have as much ownership of your code as possible and depend as little on outside libraries as possible.
Fundamentals first, practicality second.2 -
today has been one of the worst day of my life
- the parking situation went out of hand : i bought a new car 2 days ago, nd since last 2 days i have been just taking it out to practice for 1 hr in morning with the trainer. today one of our pesky neighbour took this opportunity and parked in our spot. i had to call my friend in the early morning to get it parked in a place far away from home . my new car is parked in an unsafe place , just because the neighbour wants to make me mad 😭
- office announced that since cto is coming, you must do wfo fod next 2 days. our office is tuesday nd Thursday, now i will have to go on friday too. plus our team lead is coming, so next weekend is going to be 4days wfo. they are giving random surprises, why not just tell us that its full wfo?
- one of our neighbour's bike got stolen in plain sight. our road is usually having a lot of people going around whole day, as its opposite to park. nd those neighbours have a hon ground floor, so they are almost always outside. we have installed a camera just 2 days ago, nd that caught the incident live. i am 100% sure that if my car had been parked here today, then it would have been my car 😭😭😭
- we friends went for a night stroll in my car. the car was mine, but my friend was driving it as he's experienced. we stopped at a food joint. i took the key from him for sometime because i was having fun playing with it . then when we were heading out, our key was gone!
i almost had a mini heart attack. my friends were not messing up with me. fortunately the restaurant had cameras , so we requested for cctv footage. in the footage we found that i accidentally put the key in the restaurant menu. and that fucking guy had taken away the menu!!!
imagine if he had given that menu to someone else 😭😭😭. our car would have been gone in a moment, as we were not even seeing the car from the window. imagine if the restaurant didn't had the fucking cameras 😭😭😭😭😭😭😭
life fucks super bad in a moment of truth10 -
Rust noob Q:
Given x a variable on the heap, e.g.
let x = String::from("Hello, devRant!");
Then, given some function that I didn't write (from a library) that takes ownership of its argument:
fn some_function(y: String) -> bool { ... }
How would you handle this situation:
if some_function(x) {
another_function(x); // not ok, because x has gone out of scope in the line before
}
Is it idiomatic to just clone() x in the first call? That seems bad practice, because it's the second (or some other additional) call that needs x. What should I be doing instead?8 -
Something I should've ranted a while ago, it just came to my mind
We had to learn html and css (I knew a lot about it already, heck, I'm building a website for someone)
So, we had to use object tags to embed parts of the page like you'd do with php
The thing that fucking annoyed me was the stuff that's in the files we had to refer to in the tags
You had
doctype
Html
Body
The whole fucking header with its title and fucking meta tags and shit
Why the fuck would you teach it like that?!
I would've posted a picture but I was too annoyed by the code and deleted everything I had from that course
Ah yeah, they told us to use bluefish
I used notepad++ since I'm not a noon and I know my html tags and css stuff
OK I just tried to unlock my laptop with my fingerprint a thousand times and the smiley just fucking winks at me.
don't wink at me, fucking LET ME IN
It's dual booted with Linux, to try Linux, I'm actually liking it so far.
couldn't find any drivers for the fingerprint sensor yet, but we'll seeundefined dual story not even the teachers fault dual boot irrelevant tags teaching toomanytags multiple html tags bad practice redundancy wrong tags -
Trying to craft a capturing subtraction group without having a good grasp of regex... That's a bad practice, right?1
-
Calling C++ programmers, or probably any other language, is it bad practice for me to name a string "open_first_file" or should I camelCase it instead?11
-
!dev
I've finally been so agitated at G+ I need somewhere to just vent.
So for context. What I'm talking about is Google+, or more specifically, the Android app. The website is bad in its own way, but that's not here nor there. No opinions on the iOS version, as I simply REFUSE to touch iOS.
So anyways. The platform itself honestly is not bad. With competent developers behind it, and them actually listening to their dwindling fucking userbase, they could easily turn it into something successful, but the issue is that they just aren't
You see, it's almost like they change dev staff every 6 or so months. Why do I believe this? Because the GUI changes about that fucking often. They also have a history of forcing updates, but allowing you to use an older version, just horrifically slapping on a new and unwelcome skin. This isn't an isolated practice by any means, but it's by far the most prevalent here.
So, now a list of some of the issues the current version has:
-After about a week, the app becomes unstably slow, to the point of it taking about a minute to refresh your home feed, or an individual page.
-Searching is never good, always being slow and rarely giving you who you asked for.
-Transparency is non fucking existent. There isn't a development roadmap to speak of, and when something happens we get it second hand from staff in a "G+ help" community.
There is a solution for the first one, going and clearing the data/cache, but really, the end user shouldn't have to regularly do that. Not to mention the storage space Google apps IN GENERAL fucking take up. Why does Google Play Services regularly use 250MB? (For most people, this really isn't much. But when you only get to fucking use 4 GB of internal storage it's a giant fuck you.)
Bah, back to the topic at hand.
There isn't a good solution to searching, or for transparency at the moment.
The spam filter is awful as well. REGULARLY letting obvious spam pass, regularly blocking and filtering genuine users. It's real annoying that the Android app itself doesn't have support for seeing these flags outside of rooting through the settings a bit, but still. The web and iOS versions have this already.
Oh, it also completely lacks a dark mode like most Google apps for some fuckin reason.
That concludes my random 1:30 AM rant about something I have no ability to change, except hope in vain that someone who has the ability to change this forwards this to the developers of G+.
I need a better sleep schedule.3 -
Is relying on probability bad practice? I have a container that needs to know about all other instances of the same container and assign a unique ID to itself on initialization. I thought that if I selected a big random number as its id on startup, the chances of it having the same id as another instance is very low.
To prevent two instances from having the same id I could check for all running instances on the network, but what if two instances start at the same time? They won't find each other since none of them will be fully initialized when their id checks run.
Probability says I'll be fine, Murphy's law says I won't. What do?5 -
https://youtu.be/5OhJ00an0mI?t=148
As per this ad Samsung use HTML & bootstrap to change voice of bixby.
can someone tell me how can i do this?
(If anyone from Samsung. Inline CSS is bad practice)3 -
Hey guys! In Laravel, what is the difference between the methods "url()" and "route()"?? I use "url()" for css and JS routes and "route()" for my own routes. Is it good what i'm doing? Or it's a bad practice? Thanks!3
-
PrestaShop irony:
* Theirs modules have >3500 lines per class (eg. blocklayered.php)
* Theirs controllers have > 5000 lines and contains a LOT of html code inside
AND when I tried to add own module to theirs addons store they declined it because:
* I had unused $key var in foreach and this is "bad practice" as I was told
* In one hook I was returning 1 line of html code (i had to add global Js var) and they told me that I should put it into separate template file
-.-'2 -
Wrote some awesome methods in my application which writes products and their variations directly to SQL for a WooCommerce shop, avoiding uploading any images and constant handshakes for thousands of API calls for each product.
Been heavily criticised for it though as bad practice and to just use the API. I say fuck you, it's lightning fast and works well. Sure the API spec could change in a year but these methods will scale well.
Who agrees? -
People who generalize any technology as 'bad' or "worthless" (or worse, proclaim it is not secure, doesn't work correctly, or has specific problems it doesn't have) when the technology is widely and obviously appropriately used in practice just make themselves look bad. It's like getting mad at a hammer. It's just a tool. If you don't like it, don't use it. If you think it needs improvement, contribute to improving it. Non-constructive criticism is a waste of your time as a software developer.6
-
I'm not experienced in VB Forms. So can someone who is, tell me if I'm just too inexperienced or if Im right about this?
Im tasked with fixing some bugs in a VB Forms project that a privious employee wrote some years ago. When I opened the project and checked it out, there was over 5600 lines of code in the codebehind for the form.
I feel like this is somewhat bad practice, no comments, no documentation... Nothing. And to top it off, among the worst naming of Subs and variables ever. Stuff like: "Run", "Stop", "Feeder", "When Load".
Oh, and the best part? The guy forgot some test code in the software, so when he left, the software stoped functioning. For real, he coded in a dependency to his own account in The AD.1 -
Not a dev yet (pretty fucking far from it actually) but I really enjoy coding and learning but I feel like I chose the wrong motive
I started leaning Java because it was easy to find a job since it's very popular and I got the basics pretty well integrated but I feel like I can't really do anything I wanted to do with it, I wanted to build small pieces of software that would run on windows and Linux but the fact that Java needs the jvm to work on a system makes me feel uncomfortable, I don't know why, and that makes me wanna switch to c++ even tho i think it's harder to learn.
I know it's bad practice not sticking to what I learn and pursue it but I don't know what to do with Java...
Any advice?
Sry not really a rant but you guys are the best dev community out there so I figured...
Tldr: feel like I can't do what I want with Java, want to switch to learning c++ and drop Java for now whatcha think?3 -
I think that one day I'm going to regret leaving the uni's programming assignments till the last few days before the deadline.
On the other hand, the professor told us that using // in C for comments is bad practice, so I don't really care...1 -
Recently created a simple nodeJS-mongodb backend for my android app. Is it bad practice to send a potentially big object with arrays to my front end ? I've been struggling implementing this alongside with an ORM because I can't store arrays in my sql ORM.4
-
Is it bad practice to write a line of code longer than the screen, meaning you need to scroll on the X? I've had one lecturer who hates it and one who doesn't give a shit and I'm not sure of the standard8
-
this afternoon, we got email from our pentester. He said that he got some security vulnerability in our project. He found .git/ folder in project directory in production server. He considered it as security vulnerability because user can see all git branch on remote repo. He recommend us to remove that folder but the problem is, we using CI/CD so we need that .git/ folder. My question is it bad practice to use git on production server?10