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 - "i made a mess"
-
I’m a senior dev at a small company that does some consulting. This past October, some really heavy personal situation came up and my job suffered for it. I raised the flag and was very open with my boss about it and both him and my team of 3 understood and were pretty cool with me taking on a smaller load of work while I moved on with some stuff in my life. For a week.
Right after that, I got sent to a client. “One month only, we just want some presence there since it’s such a big client” alright, I guess I can do that. “You’ll be in charge of a team of a few people and help them technically.” Sounds good, I like leading!
So I get here. Let’s talk technical first: from being in a small but interesting project using Xamarin, I’m now looking at Visual Basic code, using Visual Studio 2010. Windows fucking Forms.
The project was made by a single dev for this huge company. She did what she could but as the requirements grew this thing became a behemoth of spaghetti code and User Controls. The other two guys working on the project have been here for a few months and they have very basic experience at the job anyways. The woman that worked on the project for 5 years is now leaving because she can’t take it anymore.
And that’s not the worse of it. It took from October to December for me to get a machine. I literally spent two months reading on my cellphone and just going over my shitty personal situation for 8 hours a day. I complained to everyone I could and nothing really worked.
Then I got a PC! But wait… no domain user. Queue an extra month in which I could see the Windows 7 (yep) log in screen and nothing else. Then, finally! A domain user! I can log in! Just wait 2 extra weeks for us to give your user access to the subversion rep and you’re good to go!
While all of this went on, I didn’t get an access card until a week ago. Every day I had to walk to the reception desk, show my ID and request they call my boss so he could grant me access. 5 months of this, both at the start of the day and after lunch. There was one day in particular, between two holidays, in which no one that could grant me access was at the office. I literally stood there until 11am in which I called my company and told them I was going home.
Now I’ve been actually working for a while, mostly fixing stuff that works like crap and trying to implement functions that should have been finished but aren’t even started. Did I mention this App is in production and being used by the people here? Because it is. Imagine if you will the amount of problems that an application that’s connecting to the production DB can create when it doesn’t even validate if the field should receive numeric values only. Did I mention the DB itself is also a complete mess? Because it is. There’s an “INDEXES” tables in which, I shit you not, the IDs of every other table is stored. There are no Identity fields anywhere, and instead every insert has to go to this INDEXES table, check the last ID of the table we’re working on, then create a new registry in order to give you your new ID. It’s insane.
And, to boot, the new order from above is: We want to split this app in two. You guys will stick with the maintenance of half of it, some other dudes with the other. Still both targeting the same DB and using the same starting point, but each only working on the module that we want them to work in. PostmodernJerk, it’s your job now to prepare the app so that this can work. How? We dunno. Why? Fuck if we care. Kill you? You don’t deserve the swift release of death.
Also I’m starting to get a bit tired of comments that go ‘THIS DOESN’T WORK and ‘I DON’T KNOW WHY WE DO THIS BUT IT HELPS and my personal favorite ‘??????????????????????14 -
My first day in a Linux admin and security course. I went all confident and cocky waiting for some bullshit like "type in your term: ls, cd, pwd, see you tomorrow"
Suddenly the teacher starts to configure lampp, then jumps to bind, and thirty minutes leater , when everyone has their ssl keys under control, I was still struggling to correctly forward my mate. The rest of the day was smooth and easy for those who finished their servers, and there I was, unable to find my own ass in the middle of that mess made of bad assigned permissions and wrong placed addresses. Even worse, he came to me when I asked for help, took my chair and fixed everything in one beautiful single bash line. I started to ask "what's this? Where is that? Is it a config file or a directory?" And with all his patience he keep telling me the obvious answers that where right there at the screen but I couldn't see. Took me two weeks to catch his pace, and another two weeks to understand fully his classes. He never said a word about my terrible first day (first couple weeks). When course finished, I saw he was going to teach a really hard security module, and I signed up without hesitate.6 -
This rant is devoted to my study friends. You see, I never knew what it was to not have people making fun of you/bullying you until I started my study.
Elementary school + highschool was one big mess of bullying, being made fun of and hardly having any friends.
At highschool I decided I wanted to go into IT. Especially programming. Programming in particular because when I was programming, I, for once, was the one in control. The code listened to me and for that tiny moment I was god.
Never really had much friends though and when I told my parents I wanted to do an MBO study (application development), my mother warned me that although she and my dad supported me with whatever my decision would be, MBO level studies were rough because of the general mindset/atmosphere there.
I thought fuck it, I want to do programming because that seems awesome and maybe I'll even make some friends with the same interests!
Then study arrived. Met a few guys with similar interests and we started hanging out together.
And then it came back just like before. Two guys who loved bullying and I was still a quite easy target because I couldn't stand up for myself.
But, then something happened. I liked a girl, she was in the hallway and two of the bullies (there were about 4-5 in total) got up and started fucking around with me (about her) and I just sat there, not daring to do anything with tears in my eyes.
Then two of my classmates noticed it, quickly came to my desk and started pushing the guys away with 'back the fuck off, what the fuck has he done to you?!'. Then one of those guys (now still about my best friend) came to me to see if I was alright.
We started talking. Then at some point, another bully had a go at me. This would be the final time. He was about 2 meters tall (I was about 160cm or something) and stood there in the door opening with a very nasty smile saying all nasty stuff, trying to intimidate me and probably tried to make me feel like crap again.
Nice guy on my right asked me to step to the left. Gave that guy a huge fucking foot in his chest and he smacked onto the ground. Made a gentleman's sign like 'go ahead, sir!' while gesturing towards the door.
From that moment on the bullying stopped. Throughout my study, some other bad things happened but those guys were always there for me.
Although I've lost touch with most of the guys (they're on social media, I'm not really), we still meet up once in a while and have a lot of beers while talking and laughing and thinking back to the good times we had together.
The study wasn't the best for what we were taught as in studying but it's the best choice I've ever made nonetheless.
Oh and that best friend and I still have loads of contact!12 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
Back when I was in college I had this CS professor who was by far the worst I can remember. The class was some bullshit 100 level required intro to CS course, and the guy tried to make it as difficult as possible. Beyond that, he was just a bad professor and did stupid things.
One of the most memorable things he did was give homework assignments, and then in order to collect them (it was a lecture class of about 150 people), he would have everyone pass their printed assignments to the right, and these sheets of paper traveled all the way across the lecture hall in every row of seats. It was a complete mess.
As you can probably guess, he frequently misplaced homework assignments, and many were probably lost through this ridiculous method of turning them in. Some people almost failed this ridiculously easy class because he lost their homework assignments. I think he lost like one of mine so it didn't matter much, but some other people in the class almost failed because of this. I think in the end he had to make a lot of exceptions because of this obvious trend.
Beyond that, he was an older guy who had worked for IBM, and he made that known at least once per class, usually more. "IBM this, IBM that!" So fucking annoying.
I'm glad to be long done with college.6 -
I work in a company where I'm the only developer, with everyone being designers or marketing or sales. Typically like the scene from Silicon Valley.
Moto was to create a ticket selling website for their products, and make sure they worked as well. It was all fine, until deadlines were discussed. They wanted it done within 2 weeks, the entire backend dashboard, API and front end.
I told them it's almost impossible to do it, but they insisted on it. So, I made a minimal dashboard and told them, I haven't completed a few things, such as if you edit data in one place, it won't reflect in other tables. So, be careful while editing the data.
They nodded their head for everything, yesterday was site launch and 2 hours before that one bastard decided to changed the product names to something "catchy" but failed to change the same in other places.
I had used the name as foreign key, so querying other DBs became a fuck all issue, and eventually API stopped giving any response to front end calls.
I got extremely pissed, and shouted at that dude, for fucking everything up. He said, you're the tech guy and you should've taken all this into account.
I sat and hardcoded all the data into database again, made sure site is live. Once it was live, these guys call a company meeting and fire me saying I was incompetent in handling the stressful situation.
At that moment, I lost my shit and blasted each of those people. The designer started crying since her absurd designs(though great) couldn't be realised in CSS that too within 2 weeks time.
One of the worst experience for working for a company. I could've taken the website down, and told them to buzz off if they'd called, I couldn't get myself to do it, hence ranting here.
I seriously feel, all these tech noob HRs need to get a primer course on how to deal with problems of a programmer before they get to hire one, most of these guys don't know what we're trying to tell in itself.
I find devRant to be the only place where I can get someone to understand the issues that I face, hence ranted.
TL;DR: Coded ticket selling site in 2 weeks. 3 hours to launch, data entry dude fucks up. I clean all the mess, get the site online. Get fired as soon as that happens.
Live long and prosper. Peace.16 -
Inspired by @h3ll, this is a combination of current and former coworkers:
Awkward Wizard:
This guy has the social skills of a microwaved dog turd. He is a genius, but working with him is about as uncomfortable as sticking a grill skewer in your eye and twisting it repeatedly until close of business. He laughs at inappropriate times, and every time he does, an unborn child tears its own ears off. He explains things in a way that only himself and Satan understand, then talks to you like you're a child when you don't follow his logic. He is the guy you hide when the CEO is around. His code is immaculate.
Backstab McGillacutty:
This bowl of bile is the son of a bitch that takes credit for everybody else's work. When you do something good, he was miraculously involved, but when you mess up, this twat is the dicknose that brings it up in retrospective and calls you out by name to the boss. You can usually find these guys talking shit about the CTO, until the boss quits. Then they buddy up with the CTO and become a Joel Osteen-esque evangelist for everything the CTO wants in a shitty, underhanded attempt to climb the ladder. Fuck this guy.
Professor Fuckwaffle:
This coworker used to teach Computer Science classes. Their resume is amazing, and they can speak to the most complex of design principles. This is the shitstain that you hire because of their skill and knowledge only to find out that ol' fuckwaffle can't apply the shit they spout to save their wretched lives. You'll spend more time listening to fuckwaffle lecture than you will reviewing their code (because they cant fucking write any!) You know the saying, those who can, do, and those who can't, teach? Yeah, that shit was written for Fuckwaffle.
Last but not least:
Scrumdumb:
This guy isn't even a coder. This guy is worse than the the scum you pour out of the bottom of a slow-cooker that you forgot to wash last time you made chicken. He's a non-technical PM. You know the type, right? He usually says "cloud infrastructure," "paradigm," "algorithm," "SDLC," etc but has no grasp of any of them. He often opens his dumpster to spout off something like "You can just create a new class for that" while talking about HTML. I won't waste any more breath on Scrumdumb, he already creates enough work for me.3 -
So I was hired about 4 months or so in this companty, we will name it 'Derp & Co.'
The first task they want me to do was to 'clean' an android app that, for what they told me:
- Previous dev fired. said that tasks have been done but totally a lie.
- Took a fully week of 2 fellows coworkers to 'undo' the mess.
- And for the last but not least, zero documentation, like ZERO.
So, I clone the repo, install android studio, blah blah blah, get hands to the pile of code and jesus...
- The whole app was working with a gargantuan json, there was no use of POJOs at all. Objects are for normies.
- A masive copy/paste code, like 'I will need this here, crtl-c... ctrl-v, DONE!'
- Threads are free, isn't it? let's just put a thread whenever I desire to make an HTTP request and not reuse code at all.
So... with this on mind, my first task is to make proper objects:
- Coworker: 'Sorry dev, we don't have documentation for this, you must debug the code to se what the server will send to you'.
- Me: 'Real?'
Shit... ok. So I first try to figure out how the hell is made my gargantuan json. A month was entirely lost to unravel this data and implement Objects, improve their code, reuse code, etc. but at the very end:
- coworker: 'Good job dev, when the POJOs are done, we can focus on the next task, whe have to define a new DATA MODEL because the one we are using now is not good at all'.
*note: the app is on production and working with all the previous 'features' and today it still on use on some enviroments.
- Me: 'Wait... this is a joke, now you want to define new data models? This should have been done in first place!' <WTF face>
- Coworker: 'I don't think so dev, Mr. boss have this list with things to improve on the app an this is the order of do the tasks'.
Mr. boss is on vacations, two days after he came back:
- Mr boss: 'Coworker said that you have been working with POJOs, is that right?'
- Me: 'Yes'
- Mr boss: 'Why? Did not see the need of a new data model?'
- Me: 'I told that to him, but he insist on "the order" of the list.
- Mr. boss <facepalm>
This is one of the few tales i have from 'Derp & Co.'
PS: Sorry if i made a mistake on writing, english is not my first language and maybe I have done some mistakes.7 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...6 -
Insecure... My laptop disk is encrypted, but I'm using a fairly weak password. 🤔
Oh, you mean psychological.
Working at a startup in crisis time. Might lose my job if the company goes under.
I'm a Tech lead, Senior Backender, DB admin, Debugger, Solutions Architect, PR reviewer.
In practice, that means zero portfolio. Truth be told, I can sniff out issues with your code, but can't code features for shit. I really just don't have the patience to actually BUILD things.
I'm pretty much the town fool who angrily yells at managers for being dumb, rolls his eyes when he finds hacky code, then disappears into his cave to repair and refactor the mess other people made.
I totally suck at interviews, unless the interviewer really loves comparing Haskell's & Rust's type systems, or something equally useless.
I'm grumpy, hedonistic and brutally straight forward. Some coworkers call me "refreshing" and "direct but reasonable", others "barely tolerable" or even "fundamentally unlikable".
I'm not sure if they actually mean it, or are just messing with me, but by noon I'm either too deep into code, or too much under influence of cognac & LSD, wearing too little clothing, having interesting conversations WITH instead of AT the coffee machine, to still care about what other humans think.
There have been moments where I coded for 72 hours straight to fix a severe issue, and I would take a bullet to save this company from going under... But there have also been days where I called my boss a "A malicious tumor, slowly infecting all departments and draining the life out of the company with his cancerous ideas" — to his face.
I count myself lucky to still have a very well paying job, where many others are struggling to pay bills or have lost their income completely.
But I realize I'm really not that easy to work with... Over time, I've recruited a team of compatible psychopaths and misfits, from a Ukranian ex-military explosives expert & brilliant DB admin to a Nigerian crossfitting gay autist devops weeb, to a tiny alcoholic French machine learning fanatic, to the paranoid "how much keef is there in my beard" architecture lead who is convinced covid-19 is linked to the disappearance of MH370 and looks like he bathes in pig manure.
So... I would really hate to ever have to look for a new employer.
I would really hate to ever lose my protective human meat shield... I mean, my "team".
I feel like, despite having worked to get my Karma deep into the red by calling people all kinds of rude things, things are really quite sweet for me.
I'm fucking terrified that this peak could be temporary, that there's a giant ravine waiting for me, to remind me that life is a ruthless bitch and that all the good things were totally undeserved.
Ah well, might as well stay in character...
*taunts fate with a raised middlefinger*13 -
Stupid bloody PM.
I asked him for two images a long time ago: a 1x and a 2x ‘0’ monogram for Apple wallets, since we currently have monograms for glyphs 1-9 and a-z. And this is in production, so any merchant whose name starts with a ‘0’ will cause a crash. We’ve been fortunate thus far.
But this PM. He lied about who needed to make the images for three weeks, saying it’s up to the designer, when he actually made them himself. He also said he was going to take care of handing the task off, and never did, and then said designer when on FTO. When I asked the designer about it after he came back, he had no clue what graphics (and even the feature) I was talking about, or even what the requirements for the graphics might be. I had to confront the PM before he admitted he made the originals, and (begrudgingly) said he would make the new ones.
When said PM did finally make the images, the colors were all wrong. They’re not the light teal from our branding, they’re dark blue and the font is different, making them pretty ugly.
Also, after assuring me that the naming convention for the new images is the same, I discover that they’re neither organized into folders nor even named properly. (And yes, he is aware of how it should be.) I can rename and move them around easily enough, but come on, don’t say you did the work and then give me a mess to clean up!
And to top it all off, he completely spaced making the ‘u’ monograms, so I’m still short a fucking glyph!
Asdfjskldf.
How do you do every single thing wrong? Like, how!?1 -
That feeling you get when you run
$ php tvVolUp.php
And the god damn tv’s volume goes up a level 😆
Now to clean the shit out of the chaotic mess I just made and make it work from a Rpi which I’ll then add to my voice activated list for my google home.
Coz you know voice activated TV remote in PHP 😍5 -
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
So last year in highschool, everybody had to make a website project with stores and stuff. Everybody was in groups and you could plan your time on you own, working in class or at home.
So my friend spent hours at home designing his website for his group, and to be honest, it looked amazing.
There was only one problem, all files were located on a server which was accessible by all groups without the teacher even being able to know who had accessed which file.
There was this one group which just spent their time in class playing stupid browser games, 3 people in a group, one of them looking at kpop and puppy's for what seemed like to be hours at a time.
Well to get to the point, about 1-2 days before deadline, they noticed they hadn't done shit.
SO THOSE FUCKING BASTARDS JUST COPIED ALL THE FUCKING CODE MY FRIEND HAD MADE.
AT PRESENTATION TIME THEIR "PROJECT" CAME UP FIRST AND MY FRIEND WAS TO ME LIKE "OH NO THOSE FUCKERS DIDN'T JUST COPY MY WHOLE WEBSITE".
ANYWAYS, THEY CLAIMED MY FRIEND HAD COPIED THEM AND GOT AWAY WITH IT!!! (They got an A on the Project, my friend got a C because the teacher thought he copy pasted the design.)
I spoke to diz dude who copied the code, we knew who it was, because the others in the group probably dont even know what the copy and paste keys were.
He laughed at me and said, "C'mon, it's not a big deal.."
IF YOU ARE TOO INCOMPETENT TO WRITE A SINGLE CODE OF LINE, THEN DONT FUCKING STEAL SHIT FROM OTHERS WHO PUT IN HOURS OF WORK, AND MESS UP THEIR GRADE. TAKE YOUR FUCKING F AND LEAVE THE CLASS!!!12 -
In my current work, I have two systems to work on (let's name em Systems A and B). Both basically do the same thing; both allow users to book facilities available to them.
System A is already in production. My job is to fix any bugs that come up on said system. System B is an improved version that they wanted me to develop. This would follow a different framework etc. I am already halfway through this system.
Now, here's the fucked up part. The code for system A is a massive clusterfuck. It has unused commented code dated back to ancient times where men had the brain of an ape.
And don't get me started on the fucking logic. One part of the code was to retrieve and display the timeslots available for a chosen facility. The code to do that alone takes up 500++ fucking lines, filled with ajax commands, html manipulation and commented, unused codes..AND THAT'S JUST THE FRONTEND!
The fucking backend was not a problem of smelly code anymore. Nope. It was like a programmer had code diarrhea and shat his backend code all over the project. If I had a pin board, I would have made a crazy wall just to understand what some fucknut was trying to achieve.
Anyway, my supervisor told me to fix some bugs on System A. Knowing how the code was, I told her that I could refactor the code. Since I've already achieved that function on System B, with a shorter and cleaner code, I could just copy that and use on System A. But nope. She SPECIFICALLY told me to just "do whatever to fix the bugs. I don't want to waste time on System A." Okay. Makes sense to me. Whatever. I didn't wanna fuck my head up looking through that mess of a cesspool. So, I came up with a few hacks, not thinking of clean code and fixed whatever bugs there was. I then just pushed to the repo (after testing of course).
This bloody morning, supervisor came in and gave me more bugs to fix. When I thought she was done, she said "Hey. I saw the fix you made to the system. The bugs are fixed but the retrieval of the timeslots is now pretty slow. Could you see what is the problem?"
Slow.. She said that it was slow. And asked if I could fix it. I already told her what the problem was and she did not want me to waste time on it. But she wants me to fix it. WHAT THE FUCK IS WRONG IN HER BLOODY HEAD! I SWEAR TO GOD... UGHHHHH I swear I was already waterboarding her in my head. YOU WANT FAST?? How bout fucking allowing me to refactor the code?? Fucking shit head. I think I should take up yoga.1 -
I once reviewed a Pull Request made by a fairly junior developer. They had joined recently, and this was one of the first times they had to touch a bigger part of the code.
Due to a mix of inexperience, new (to them) coding standards and lack of git knowledge, they ended up with a mess of a PR, with a few thousand lines changed, and no way to split it off.
I ended up spending the best part of a day reviewing the whole thing and requesting changes.
Even with the long list of improvements, however, I wasn't sure they would get the magnitude of their fuckup.
So I decided to use a real-world, palpable way to show them what they had done: I went and printed the github diff for that PR. It rendered the glorious amount of 73 pages.
I'll never forget their face, and those of their teammates, when I barged into the room with a thick wad of paper and deposited them on their desk.
At least it worked. I never saw another big, ill-thought pull request from them again.3 -
Most satisfying bug I've fixed?
Fixed a n+1 issue with a web service retrieving price information. I initially wrote the service, but it was taken over by a couple of 'world class' monday-morning-quarterbacks.
The "Worst code I've ever seen" ... "I can't believe this crap compiles" types that never met anyone else's code that was any good.
After a few months (yes months) and heavy refactoring, the service still returned price information for a product. Pass the service a list of product numbers, service returns the price, availability, etc, that was it.
After a very proud and boisterous deployment, over the next couple of days the service seemed to get slower and slower. DBAs started to complain that the service was causing unusually high wait times, locks, and CPU spikes causing problems for other applications. The usual finger pointing began which ended up with "If PaperTrail had written the service 'correctly' the first time, we wouldn't be in this mess."
Only mattered that I initially wrote the service and no one seemed to care about the two geniuses that took months changing the code.
The dev manager was able to justify a complete re-write of the service using 'proper development methodologies' including budgeting devs, DBAs, server resources, etc..etc. with a projected year+ completion date.
My 'BS Meter' goes off, so I open up the code, maybe 5 minutes...tada...found it. The corresponding stored procedure accepts a list of product numbers and a price type (1=Retail, 2=Dealer, and so on). If you pass 0, the stored procedure returns all the prices.
Code basically looked like this..
public List<Prices> GetPrices(List<Product> products, int priceTypeId)
{
foreach (var item in products)
{
List<int> productIdsParameter = new List<int>();
productIdsParameter.Add(item.ProductID);
List<Price> prices = dataProvider.GetPrices(productIdsParameter, 0);
foreach (var price in prices)
{
if (price.PriceTypeID == priceTypeId)
{
prices = dataProvider.GetPrices(productIdsParameter, price.PriceTypeID);
return prices;
}
* Omitting the other 'WTF?' code to handle the zero price type
}
}
}
I removed the double stored procedure call, updated the method signature to only accept the list of product numbers (which it was before the 'major refactor'), deployed the service to dev (the issue was reproducible in our dev environment) and had the DBA monitor.
The two devs and the manager are grumbling and mocking the changes (they never looked, they assumed I wrote some threading monstrosity) then the DBA walks up..
DBA: "We're good. You hit the database pretty hard and the CPU never moved. Execution plans, locks, all good to go."
<dba starts to walk away>
DevMgr: "No fucking way! Putting that code in a thread wouldn't have fix it"
Me: "Um, I didn't use threads"
Dev1: "You had to. There was no way you made that code run faster without threads"
Dev2: "It runs fine in dev, but there is no way that level of threading will work in production with thousands of requests. I've got unit tests that prove our design is perfect."
Me: "I looked at what the code was doing and removed what it shouldn't be doing. That's it."
DBA: "If the database is happy with the changes, I'm happy. Good job. Get that service deployed tomorrow and lets move on"
Me: "You'll remove the recommendation for a complete re-write of the service?"
DevMgr: "Hell no! The re-write moves forward. This, whatever you did, changes nothing."
DBA: "Hell yes it does!! I've got too much on my plate already to play babysitter with you assholes. I'm done and no one on my team will waste any more time on this. Am I clear?"
Seeing the dev manager face turn red and the other two devs look completely dumbfounded was the most satisfying bug I've fixed.5 -
FLOYD IS HERE 😎
Gather around kids, it's story time.
So my first breakup left me so damaged and I was in darkest phase of my life. I was alone. Physically, mentally, and emotionally. I went for therapy and spearheaded into success and grew in life soooo fucking much.
31st December 2016, I first joined dR and since the first day this place felt home. Met some of brightest mind and most amazing souls here (sadly many left the place).
I used to shit post and rant a lot. But I loved everyone here. But then I don't quite remember, but I decided to quit this place as community started to grow. Many others left as well.
I came back here in 2019 IIRC and started all over again. Got along well with new members and started having fun.
I used to crib and cry about being underpaid. Lost a kickass Europe job due to pandemic.
I will skip what all happened between me and @Scout but she is a sweetheart, though very rough and brutal with me at times (actually very often), but she is so selfish for me and cares for me that I couldn't resist but listen to her always. A lifelong friend for sure :)
I used to rant about my dumb office colleagues. Definitely not the sharpest minds but good people at heart (which I did not realise).
So in October 2020, I earned a new job and my company retained me with a 100% raise and a promotion making me lead of product innovation and UX.
November end I met a girl in professional context on LinkedIn who was conducting a workshop. Being hungry for learning, meeting new people and kill my lockdown boredom, I singed up.
Now I went for December break and my colleagues sent me a gift hamper when they came to know I got a promotion. I felt bad that I ranted about them so I deleted my account and also wanted a social detox.
Post the workshop, I started conversing casually with the girl I met. She was married. But things hit off. Eventually in February end I confessed that I had feelings for her and in next few days she reciprocated. I told her I was aware of her marital status and it's okay if nothing happens between us. Then she started to open up of how she was with one guy for 17 years and was abused in everyway and wanted to separate but never had the courage and all.
She decided to file for paperwork and then be with me. Things got messy when her family got involved thinking I was causing all of it.
She went back to her partner and I realised I had some emotional and mental issues of a person's past that bothered me. But we were overcoming it. Soon the honeymoon period started phasing out.
Her family started giving me death threats. We went underground even further. More arguments and fights between us.
@Scout kept telling me I was stupid and I disregarded her. I feel like an idiot for not listening to her.
That girl kept gaslighting me, hurting me intentionally, scratching the surface made me realise how broken and damaged she was. She lied to me and created fake persona of herself to make me fall for her. Everything was lie. Literally.
I felt horrible for trusting her. My trauma relapsed and I started having crazy panic attacks leading to self harm and being suicidal. That girl was drugged all the time with psychological medicines and very poor character & personality in general (I don't want to judge anyone but just stating the facts).
Eventually she just disappeared and I was like fuck this. Earlier, after every fight, she used to show fake affection and I used to melt but not this time.
I was like fuck this shit. I have some super amazing friends like @kiki who helped me overcome this. I started going for therapy and realised what all areas I need to improve. My therapist is soooo brilliant, she understands the root cause instantly and also knows how to fix it. And the same day I and both my parents were COVID-19 positive. Last few weeks were dark and haunting.
Further more, the girl comes back after a week and then acts as a 'nice girl'.
Initially fake affection, then drama, followed by making me guilt trip, then threats, and now blaming me.
I kept ignoring her calls (50 to 70 calls in a day), emails, left her unread on Telegram, and everything I could do to ignore her without blocking her. I started gaining my happiness back.
During this mess, I lost 5+ KG of weight. She has no friends in her mid 30s. Knows no life or survival skills. Her family hates her, no career, no emotional or mental maturity, literally nothing. Insanely dumb and toxic manipulative person who is not even worth being called an ex. As per her everyone around her is an asshole except her. Every time something happened, she used to blame and bad mouth the other person. Now she is doing with me. In all her life situations, either she was a hero or a victim. One upped me all the time. Now that I see it, I hate myself for allowing it all of it and now having enough self worth to walk out of it earlier.
Continued in comments...56 -
So I've been playing some DnD with friends.
And we've been working with some lego characters, whiteboard markers and plastic sheets to draw on.
But that's always a mess:
The ink was old and did not come off again for the most part
The sides of the map curled up and and made the lego character fall over
The lego characters were too big
And more...
So I thought, why not make it digital?
And so I did.
I used UWP to make a master and a client, both using the Windows Ink api to be able to draw.
Some circles with an initial served as characters, and everything was synchronized using a TCP library I wrote half a year ago.
Yesterday we tried it out.
We all (including me) were sceptical if it would work well because the 'analog' clumsy way we did it before does have a certain charm.
But at the end we were all very enthousiastic about it and we'll be using it next time too!
It's awesome to be able to create programs for your own use :D
That's why being able to program is such a great thing!
Now I need to restructure everything, make it more efficient, add a turn order display, make the map zoom- and moveable and more and more....20 -
Warning: long read....
I got a call this morning from a client who was panicking about not being able to login to his web panel.
So I went to the web panel and tried to login and was just redirected back to the login page. No errors or anything (at least visible on the page). Went looking for an error_log file and found it.
It turns out there was an error was showing: Disk quota exceeded.
So I went into the cPanel and checked, he used about 16GB out of 100GB and that got me confused. So I looked around and found out he was using about 510000/500000 inodes.
Went looking trough FTP to see where he has so many files and try and remove some.
Well it turns out that there were about 7 injected websites (warez, online casino, affiliate one etc) and a full hacking web panel on his FTP. After detailed analysis some who actually built the site (I just maintain some parts) made an upload form available to public with any checks on it. Meaning anyone could upload whatever they wanted and the form would allow it.
The worst part is that the client is not allowing us to secure the form with some sort of login or remove it completely (the best option) as it is not really needed but he uses it to upload some pdf catalogs or something.
TL; DR;
Old programmer created an upload form that was accessible to anyone on the web without adding any security or check as to see what kind of files was getting uploaded. Which lead to having maximum number on inodes used on server and client being unable to login.
Side note:
And ofc I had to go and fix the mess behind him again, even though he stopped working a long time ago and I started just recently and have been having nightmares of this project.2 -
Okay, story time.
Back during 2016, I decided to do a little experiment to test the viability of multithreading in a JavaScript server stack, and I'm not talking about the Node.js way of queuing I/O on background threads, or about WebWorkers that box and convert your arguments to JSON and back during a simple call across two JS contexts.
I'm talking about JavaScript code running concurrently on all cores. I'm talking about replacing the god-awful single-threaded event loop of ECMAScript – the biggest bottleneck in software history – with an honest-to-god, lock-free thread-pool scheduler that executes JS code in parallel, on all cores.
I'm talking about concurrent access to shared mutable state – a big, rightfully-hated mess when done badly – in JavaScript.
This rant is about the many mistakes I made at the time, specifically the biggest – but not the first – of which: publishing some preliminary results very early on.
Every time I showed my work to a JavaScript developer, I'd get negative feedback. Like, unjustified hatred and immediate denial, or outright rejection of the entire concept. Some were even adamantly trying to discourage me from this project.
So I posted a sarcastic question to the Software Engineering Stack Exchange, which was originally worded differently to reflect my frustration, but was later edited by mods to be more serious.
You can see the responses for yourself here: https://goo.gl/poHKpK
Most of the serious answers were along the lines of "multithreading is hard". The top voted response started with this statement: "1) Multithreading is extremely hard, and unfortunately the way you've presented this idea so far implies you're severely underestimating how hard it is."
While I'll admit that my presentation was initially lacking, I later made an entire page to explain the synchronisation mechanism in place, and you can read more about it here, if you're interested:
http://nexusjs.com/architecture/
But what really shocked me was that I had never understood the mindset that all the naysayers adopted until I read that response.
Because the bottom-line of that entire response is an argument: an argument against change.
The average JavaScript developer doesn't want a multithreaded server platform for JavaScript because it means a change of the status quo.
And this is exactly why I started this project. I wanted a highly performant JavaScript platform for servers that's more suitable for real-time applications like transcoding, video streaming, and machine learning.
Nexus does not and will not hold your hand. It will not repeat Node's mistakes and give you nice ways to shoot yourself in the foot later, like `process.on('uncaughtException', ...)` for a catch-all global error handling solution.
No, an uncaught exception will be dealt with like any other self-respecting language: by not ignoring the problem and pretending it doesn't exist. If you write bad code, your program will crash, and you can't rectify a bug in your code by ignoring its presence entirely and using duct tape to scrape something together.
Back on the topic of multithreading, though. Multithreading is known to be hard, that's true. But how do you deal with a difficult solution? You simplify it and break it down, not just disregard it completely; because multithreading has its great advantages, too.
Like, how about we talk performance?
How about distributed algorithms that don't waste 40% of their computing power on agent communication and pointless overhead (like the serialisation/deserialisation of messages across the execution boundary for every single call)?
How about vertical scaling without forking the entire address space (and thus multiplying your application's memory consumption by the number of cores you wish to use)?
How about utilising logical CPUs to the fullest extent, and allowing them to execute JavaScript? Something that isn't even possible with the current model implemented by Node?
Some will say that the performance gains aren't worth the risk. That the possibility of race conditions and deadlocks aren't worth it.
That's the point of cooperative multithreading. It is a way to smartly work around these issues.
If you use promises, they will execute in parallel, to the best of the scheduler's abilities, and if you chain them then they will run consecutively as planned according to their dependency graph.
If your code doesn't access global variables or shared closure variables, or your promises only deal with their provided inputs without side-effects, then no contention will *ever* occur.
If you only read and never modify globals, no contention will ever occur.
Are you seeing the same trend I'm seeing?
Good JavaScript programming practices miraculously coincide with the best practices of thread-safety.
When someone says we shouldn't use multithreading because it's hard, do you know what I like to say to that?
"To multithread, you need a pair."18 -
Oh boy, I think I need a new pair of pants.
GitLab (!Github) have improved their ci/CD pipelines to allow you to chain jobs 🥳🤤
https://about.gitlab.com/2019/08/...2 -
At my previous job I was told by "senior" devs that my interest in learning new things and knowing more is not a good thing. And that I should learn to increase my depth in the programming of the product that was being used.
As part of my job I was asked to analyze the product's architecture. I found out that it was needlessly complicated and performed horribly. The senior devs that were on that product for a while had been hiding their mess from the rest of the teams. Needless to say, my report didn't make me very popular with them.
I was asked to help come up with a strategy for testing.
A guy who had just joined our company out of college and me worked really hard for a few weeks and managed to bring testing down from 3 months to around 3weeks. Our reward: he was fired(albeit for different reasons. The company was trying to restructure)
My yearly review was terrible and I was put on 2 months probation. So I quit.
It sucked. And made me question my ability as a programmer for a while. I've floated my own firm and though money is hard sometimes, it so much more rewarding.9 -
So I host a few mining pools and some of the stories we hear from miners can be quite interesting. One of our miners recently had his front door busted off the hinges and a drug bust team go into his house and turn the house upside down. How did they determine that he was a threat for growing illegal drugs? Well he had a high power bill because of the miners and he grows flowers and food inside of his house and that was enough for THE NYPD to get a warrant.
Now he is responsible for cleaning up the mess the police made. What scares me the most is that they are tracking soil you buy online along with high power bills. What the hell USA im a proud Canadian8 -
I've seen several rants about dumb/useless teachers, college and the CS degree studies; today is a good day to vent out some "old" memories.
Around two semesters ago I enrolled in a Database seminar with this guy, a tall geek from the 80's with a squeaky voice, so squeaky mice could had an aneurysm if they listened to him.
Either way this guy was a mess, he said he was an awesome coder, that we were still "peasants" when it came to coding, that relational databases had nothing on him since he was an awesome freelancer and did databases every day, that we had to redo the programming course with him and with his shitty, pulled out of the ass own C++ style guide with over 64 different redacted rules.
He gave us sample code of "how it should be done" in Java...it ain't my favorite language but fuck me a fucking donkey could have written better code with his ass!! He even rewrote Java's standard input function and made it highly inefficient. He still wrote in a structural paradigm in OOP languages! And he dared to make this code reviews were he would proyect someone's code and mock it in front of the class as he took off points, sometimes going to the negative realm (3,2,1,0,-1...)
But you know what's shittier? That he actually didn't even attend, 90% of the time, it was literally this:
> Good morning class
> Checks attendance. . .
> I'll be back, I'm going to check in...
> 1 hour 45 minutes later (class was 2 hrs long) - comes back
> do you have any doubts?
> O.o no...? I'm ok.
> We're done
Not only that, he scheduled from 4 to 17 homeworks throughout the week, I did the math, that was around 354 files from everyone; of course he didn't check them, other students from higher semesters did and they gained each point taken from students making students from lower semesters get the short end of the stick.
How did I pass? He didn't understood my code or database schema and he knew he couldn't fail me as he had no ground to stand on.
Thanks for listening, if you got to the end of this long ass post and had a similar experience I'd love to read it.13 -
Yeah.. it's a shame C# doesn't have a type to hold this (4) and then you have to resort to using var.. I am so disappointed, I've heard C# is crap, but this.. THIS!! It doesn't even have a type for normal integers!! FFS!!! I thought it was better than this!!
Oh, wait.. it's not C# who is 'weird'!! It's my super duper cool ex coworker who made a mess of the simple code again... I admit, this is not such a huge deal.. BUT... It doesn't end here.. o.O39 -
Post after a long long time...
Wanted to reply to so many comments and mentions, rant about a bunch of topics, do a face reveal after I went for a vacation with family and got some pictures, update y'all on my job hunt, but was busy like hell.
Anyway, time for a story.
After my rejection with Meta and Booking, I started preparing like crazy and my interviews started going well. Refined my LinkedIn further and recruiters started reaching out as well.
Over time, with efforts and feedback, I was able to build a good pipeline.
One of my dream companies reached out to me and I got hired in just 1 round and all others were merely a formality. I was euphoric, but at the same time didn't get over excited as this seemed fishy.
They made a very good monetary offer and I didn't talk to my manager yet regarding resignation. They are pushing me for an early joining.
Read a bunch of Glassdoor reviews and also spoke to a friend who just recently quit that organisation.
He confirmed that the company has 3 months of notice, has sandwich leave policy, and some other XLT political mess.
I decided to decline the offer tomorrow.
Day saved? Not yet.
Because of this I slacked off work a lot. I am super screwed with work items pending because I thought I'd quit.
My boss resinged and new one isn't that supportive yet. He is trying to change everything overnight. Typical.
I ended up performing poorly in other companies because I was confident I'll pick this offer and didn't prepare for upcoming good companies.
Moreover, we have our offices opening up from April and I might be asked to relocate to another city which does not have a team but just because it is on paper, they might force me to be in office 50% of the time.
And what's worse is, my relationship with tech is deteriorating and they are putting the entire product team in bad light.
I have a planned weekend trip coming up, so I won't be able to prepare for interviews or work on case studies so that shit will pile up more.
I am sooooo fucking screwed. Life was stable and then all of a sudden too 180° flip.
I am hysterical right now.16 -
They've literally left me with nothing to do. I'm doing nothing. I can't be happy doing nothing.
To illustrate the chaos: Everyone on the team was trying to figure out some defect. No one knows what is going on in the code. It's unlike anything I've ever seen.
I found an API call with a misspelled endpoint. It was wrong since the code was written two months before. There's no way it ever worked. Obviously no one tested the code because they would have immediately seen that the call returned a 404 every time.
I fixed it. That was my only PR in about a month. It was literally one character.
The next week that PR got reverted. Apparently the app works better if the API call fails. No one said what goes wrong if the request is made, just that it "causes problems."
That's how bad it is. No one knows why anything does or doesn't work. People write code that doesn't work, never test it, and the application works better in some unspecified way if that code never gets executed.
The last straw for me was when an architect told us that if we want to improve our skills we need to learn how to read and debug stuff like this.
1) Not to be immodest, but I'm good at figuring out bad code.
2) Just because I can doesn't mean I want to do it all day instead of actually developing software
3) He trivialized the really important skill, not making a mess like this in the first place. If his idea of skill is to sling crap without tests at the wall and then debug it, how is he an architect?
I tried really hard but I can't keep a good attitude. I don't want to become toxic, but why would I consider working that way? I try my best to be good at this. Writing decent code means a lot to me. It should mean a lot to them. Their code is costing them hundreds of thousands of dollars. Maybe millions.
I can't write good code and add value if all I do is debug bad code.
So I'm out. I'm going to another project. Have a nice life.4 -
Hey Root, remember that super high-priority ticket that we ignored for five months before demanding you rewrite it a specific way in one day?
Yeah, the new approach we made you use broke the expected usecases, and now the page is completely useless to the support team and they're freaking out. Drop everything you're doing and go fix it! Code-complete for this release is tonight! -- This right after "impacting our business flow" while being collapsed on the fucking floor.
Jesus FUCKING christ, what the fuck is wrong with these people?
If I dropped the ball on a high-priority ticket for two weeks, I'd get fired, let alone for five fucking months.
If I was a manager and demanded a one-day rewrite I can only imagine the amount of chewing out I'd receive, especially on something high-priority.
And let's not forget product ownership: imagine if I screwed up feature planning for someone so badly I made them break a support tool in production. I'd never hear the end of it.
Fucking double standards.
And while I'm at it. Some of the code I've seen in this codebase is awful. Uncommented spaghetti, or an unreadable mess with single-letter variables, super-tightly coupled modules so updates are nearly impossible, typos in freaking constants added across sixty+ files, obviously-incorrect comments, ... . I'll have to start posting snippets to show them off. But could I get away with any of it? ha. Hell no. My code must be absolutely perfect. I hear about any and every flaw, doesn't matter how minor, and nothing can go out until everything is just so.
Hell, I even hear about flaws in other peoples' code during my code reviews. Why? Because I should have fixed it, that's why. But if I do, I get yelled at for "muddying the waters."
Just. JESUS FUCKING CHRIST.
It's like playing a shell game where no matter which shell I pick (or point to their goddamn sleeve where they're clearly hiding it), I get insulted for being so consistently useless, and god damn, how can I never find the fucking pea or follow the damned rules? I'm so terrible and this is why "nobody trusts me." Fuck you.
I'll tell you why I can't find your damned pea: IT'S RATTLING INSIDE YOUR FUCKING HEADS, you ASSHOLE FUCKING IMBECILES.
That's right: one pea among the lot of them.
goddamn I am fucking pissed off.rant drop everything and rewrite your rewrite oopsie someone else made a mistakey double standards shell game root can do no right root swears oh my8 -
Real fact: 1999
IT: IT, how can I help?
MrB: I'm Butcheek. This program is shit, I can't even log-in!
IT: oh.. Ok Mr. Butcheek, let’s see if I can help...
MrB: of course you can: fix this shitty program and made me log in!
IT: I’ll try to do my best to assist you, can you...
MrB: I just want to log in! Can you speak my language? This new program is ridiculous, I wonder why you IT guys changed the old one, it was a mess but at least I could log in...
IT: I'm sorry you are experiencing this problem, but to assist you I need to know exactly what's the problem
MrB: I CANT LOG IN!!!
IT: ok, I understand this, but can you please provide some more information? Do you receive any particular error messages?
MrB: it says “wrong password” but it's not true!
IT: Ok, that's strange. Look, I'm resetting your password and then you will try again. At the first log in you will be asked to change it again, ok?
MrB: just be quick, I can't waste any more time on this!
IT: sure... Ok done. Please, can you try again? The password is “butcheek”
MrB: it asks for the username. What am I supposed to write here?
IT: “butcheek”
MrB: oh... Ok. And what's the password?
IT: “butcheek”
MrB:... No... Wait... Ok, “butcheek” is the password but what's the username?
IT: “butcheek”!
MrB: you don't understand, I have to put both username AND password!
IT: I know! “butcheek”! For both username AND password!
MrB: so I have to write “butcheek”-”butcheek”?
IT: yes, “butcheek”-”butcheek”!
MrB: so... “butcheek”...twice? Sounds weird... are you sure?
IT: yes I'm sure! However, you can choose either to write “butcheek” twice or “ASS” once, if you prefer...4 -
So I've been doing some code jobs now and recently they pushed me to a new level.
This company worked with some silly management app made in cpp which they asked me to edit a little bit giving it another style and some additional functions.
Day 1: this code is a mess.
Day 2: this code is a mess.
Day 3: how does this code even compile.
Day 4: I no longer have faith in humanity.
Day 5: I found my first comment (Yay?).
Day 16: I'm done.
Day 19: I got paid.
If you're making a project in cpp just like that dev you do deserve a punch in the throat.
No documentation, no comments, no patterns, just some thick pasta of poorly written code, names like fCalcAllTaxFilesSizeMB....
This haunts me for real.2 -
VB3.
In my last rant I mentioned I used to convert VB3 code to .Net. Before that, I used to work on the VB3 product itself. This software emulated something from the real world, and as such complied with a bunch of regulations that changed on a regular basis, and always had additions and removals that were to be done on a strict schedule (e.g. "we're adding a new product next month, so we have to be able to sell it by the first of the month"). As such, it was a huge sprawling mess.
One day, I was given a task to change some feature slightly. The task was simple enough and really only required adding one line of code. I added that line and clicked "Run".
Error: Too Much Code
What? What do you mean too much code? I asked a colleague for help. "Oh, don't worry, it happens when a function is too long. Just remove one or two of the comments and try again." The comments were, naturally, old deleted code that was quite meaningless so I had no qualms about removing some. It worked, and I went on with my life.
This started happening on a regular basis on our larger functions. But there were always comments to remove so it wasn't a big issue.
One day, though, it happened on a five-line function. This was puzzling - the error had always happened when a function was too big but this one clearly wasn't. What could the error mean? I went to the same colleague.
Apparently, there's also a limit to how big the entire code base can be. "Just find a function that isn't used any more and delete it." And so I did. There were many such functions, responsible for calculating things which no longer existed so they were never called. For months, I'd find functions and remove them. Until there weren't any more. I checked every function and subroutine in our codebase, and they were all used; I checked every possible code path and they were all needed.
What do I do now, I asked? The colleague, who was an expert on VB3 but worked on another project, came and take a look.
"Look at all these small functions you made! No wonder you're running out of space!" Apparently each function created a lot of overhead in the compiled executable. The solution was clear. Combine small functions into large monolithic ones, possibly passing flags in them to do completely unrelated things. Oh, and don't comment on the different parts because we have no room for comments in our code base.
Ah, the good old days.5 -
1. Being the only single wringable neck to keep 40+ websites afloat, plus 3-5 new ones coming in or being built each month all with an overseas team that uses Google Translate to communicate and who are also in an active war zone.
2. Being fired for being “too old” in my mindset about how to do things. I had just turned 40 and my boss was 24 and distracted by all the shiny frameworks when all the marketing person needed was a simple off-the-shelf CMS-based site to publish company offers.
3. Jumping into the middle of a HUGE clusterfuck of thousands of Slack channels, wikis, and Jiras and an outmoded content management system while trying to learn the ropes from a guy who has no time to teach properly and then who abruptly leaves the company with scant documentation on everything that he held mainly in his own head. And there was no way I.T. was going to allow him to have the ability in Zoom to make a video of his training sessions, for no discernibly good security reason at all.
4. Working for only 9 months at two separate companies for two separate frat dudes who could have been clones of each other and whose egos made them into seagull managers* in every sense.
5. Being told by a new employer that they’re hiring me to be the head of their new web team only to find myself shuttled off to obscure contractor roles at MegaCorp Inc and AcmeCorp Inc.
I have 17 more years of this shit ahead of me before I can retire.
*If you haven’t heard of this: Someone who flies in, makes a lot of noise, shits all over everything, and flies out leaving everyone else to clean up the mess.2 -
Seriously, fuck that incompetent ISP of mine.
Stores passwords in fucking plaintext. Does VoIP calling in plaintext! Passwords are sent over postal mail! Passwords are at least not sent in plain via email anymore when you want to reset them. The password reset form, "cannot contain `", "cannot contain "", "cannot contain '", "must contain a special character" because why the fuck not mess with people's password manager's password generation function over our own incompetence, right?! And showing all those errors for a single password? Eh, no. Let's just show one error that applies to whatever password you've given at that time. JUST ONE, because "reasons"! And to top it all off, when I finally made myself a nice password with some padding to remove unwanted chars and put that in my password store and on the website. THE BLOODY THING CAN'T EVEN FUCKING LOGIN?!
Now I ain't no ISP, but being a sysadmin clearly isn't a requirement when you're going to apply for work at an ISP, THAT DOES NOTHING BUT FUCKING SYSADMIN STUFF!!! Incompetent pieces of SHIT!!!3 -
When you haven't touched a project in a month and you decide you need to get back into it.
I have pages of dated notes, pseudo-code and function in the still need written. I have about 75% of the actual code up and functional, but I have no idea what I was working on when other things got in the way. I've been staring at this mess that I swear was once organized and made total sense and I'm completely lost.
Why do our brains do this!!2 -
Making a Twitch chat bot withing four days after starting to learn programming and python.
The downside is that now that I look a it I feel a bit embarrassed with the mess I made. But hey, it works!1 -
Can someone just please come over and safe me? I am soooooo done with all this bullshit code. I understand why people loathe PHP, it enables totally worthless people to carry the title 'programmer' because hurrrdurrr look at my website, I made this. Fuck yes, you made that and you should SHAME yourself! What the actual flying fuck I can't begin to explain the monstrosities that I find checking out this worthless pile of fucking garbage.
User passwords saved as plaintext in database? Check!
Using hungarian notation, camecase and snakecase inconsistently? Check!
Typejuggling like you're the mainman of the Insane Clown Posse? Check!
Everything is a mess, there is no documenation, no consistency no nothing, this is straight from the 9th circle of programmers hell.
Aaaaaaarghhhhh I AM SO FUCKING DONE WITH THIS WORTHLESS PILE OF GARBAGE!!!!
The original dev prefixed every spagetthifile with his copyright shite so im gonna look him up and highfive him in the face with my laptop and after that printing out my resignation letter in comic sans fontsize 78 because FUCK YOU
So done.7 -
Rant PART 2 [FINAL-inspirational]
In my previous rant I posted what was happening in my life. And now I want to share how it all unfolded.
To remember some things, I was doing a mobile project for school and it was a group assignment. My group was so disperse that I ended up doing all by myself. And in the middle of this my gf and I were fighting.
I spent the last two days coding all day during work (I do coding internship for the college I go to, so my boss was cool about me doing the project during work) and I ended up forgetting what day it was today (today is a holyday, I thought I had to go to work because I forgot). It was such an intense two days that while coding I was forgetting variable names, table row names (I literally spent half an hour on my API trying to find a solution, when the solution was that I was using `seller_fk` on the API, but in the database was `seller_id`) and my mind was imploding. I asked my boss for help on the database (he's really good at it) and my teachers to help me. But everything paid off.
Yesterday I started coding at 8am and ended up finishing the project at 9:28 pm (the day before yesterday was the same thing), 2 minutes before the class of the project to start! I was able to finish the project, finally! But what really remarked me was that from all the groups that were in like 4-5 people, I was the only one who delivered the project that day. All other groups are going to have to deliver the project next week with reduced project grade, while I got 100% of the grade because I delivered on the date.
God is good!
Also my gf and I are good now. We are kinda still recovering emotionally, but are now more respectfull to each other, so I guess something good can comeout of bad things.
Happy coding everyone and never give up!
If I made it out of this whole mess so can you! :)1 -
Took a job during the summer vacation and was expected to sit through excel and click products and fill in info (mundane tasks). Overheard the boss talking to the coworkers "We need to translate 77,000 urls into images, how do we split this work up?" I jumped in and said "I can write that in code so you don't have to do it" They all looked at me like I was some sort of magician O_O. Had the program running during the weekend on three computers and all of the 77,000 urls are now a beautiful mess of pdfs and jpgs. Do you have a story that made you feel like a wizard?7
-
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
1st motherfucker.
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4 -
Computer Science student here, and it looks like my group partners have no idea what keeping classes short and straight to the point means.
The project is in C++, and I'm trying to understand this mess that they made, when they have a class called "Manager" that basically did EVERYTHING, whose header file has only the declarations of functions. 50+ functions. Only half of then documented, and most of them with apparently random names. The file has more than 200 lines of reading.
I've never worked with so much Spaghetti in my life yet.
Worst part: I spent time and effort organising some other classes, breaking down methods, untangling code and all that tedious stuff. But one week before delivery, they decide to delete all of my work, because they "didn't understand it" and didn't even think of asking me to explain the changes.
And if that wasn't enough, they refused to give me some percentage of the grade due to that code not being in the delivery.
I am so freaking done with those guys -_-9 -
Lately I have been overthinking a lot. I am stressing myself out on every single decision believing that decisions I make today will define my tomorrow.
In hindsight, all the major and positive impact that have happened in my life were the decisions I took on the fly without much underlying research. The executional part did have me struggle a little but almost all of the best things happened to me were unplanned.
Funnily this has been my philosophy since years but guess what, I failed to follow it this time.
My overthinking and over planning caused me to mess up a little leading to a lot of unwanted anxieties.
Now let's reflect a little on the past, when my first relationship ended.. wait.. even earlier..
When I was in 5th standard, I was crazy bullied at school but I was happy go lucky and things turned out in my favour throughout till date.
I used to do what I loved and enjoyed. I literally never worried or thought about future. Not even once, things just fell in place for me miraculously.
When my first relationship ended, I was shattered. The darkest time of my life and me being all alone, I came out strong.
I used to live happy. I used to do stuff that I loved. I used to not care about what people thought. No socials for me. I used to follow random dark or counter culture stuff and be a little rebel that I am.
I remember, she and I used to go for fuck tons of events, hangout at waterfront of the city, spend time together and just be ourselves.
I never used to compete, compare, or conflict with anyone.
devRant was (and still is) a digital home for me. Wonderful phase of life.
Then shit went south. I joined Reddit. A girl told me about a pen pal app. Met another girl there.
Joined Telegram again to be in touch with her. She wasn't interested but I stayed on Telegram.
I could pick up any girl in minutes and do so effortlessly.
Slowly the twin extrovert in me came out. I started building and maintaining insanely awesome network.
Started spending more time on Reddit and Telegram.
Joined a bunch of professional communities. Career sky rocketd.
I was still happy and living a gala life at this stage.
Slowly, I realised I was underpaid (via professional communities). That unsettled me.
I frantically started hunting for jobs. 2020 and COVID-19 hit. Being indoors sucked more.
Became more aggressive on job hunt, money, building skills, work work work...
Met a hoe who fucked my emotions and ethics even further.
Got a high paying job. WLB went negative.
I started losing myself. I forgot my hobbies. I don't know what happiness is. I don't remember when I last smiled. I started planning my finances. Overthinking and stressing about shit troubled me into sleepless nights followed by early morning calls made things worse to my health.
I lost the clarity of my life. I FUCKING LOST ME.
I want myself back and I am gonna work for it. That happy little rebel Floyd who never gave a fuck about other's opinion on him or his beliefs. That dude who was shy to talk to girls. The guy who'd follow his passion and not society of high paying jobs or shit.
I almost got my finances and taxation sorted. Now I'll work to get my office timings in place. If not then I'll switch and find a job in UK/EU with a good WLB. And at the same time I'll pursue my hobbies.
Enough of rat race shit. Money has always been an outcome of my hard work and high work ethics. I want to live a life and I am willing to trade of extremely high paying/stressful FAANG jobs for a small company keeping me happy.
I'll be the happy Floyd that I was once was.
Because, the heart wants what the heart wants :)2 -
“PHP is evil” is not just a joke.
PHP is usually percieved as a language which is not so consistent and has some opinionated historical aspects but allows rapid development because it’s easy. They say PHP doesn’t focus on that “purist shit” such as concepts and “just gets things done”.
Hovewer, this is not true. PHP lures you in and lies to you promising saving time on development, but everything, and I mean EVERYTHING written in PHP is doomed to turn into a bloody mess sooner or later.
You have to be an AI to manage the growing PHP codebase and add features without breaking anything. With every feature it gets harder and harder. If you’re still a human managing a human team, you have to enforce guidelines. Automatic error preventon measures are made of code themselves so the cost of deploying them ona late stage can be ridiculous. And you never deploy them on early stage because you want to “save time”. Your people have to spend more and more time everyday checking on that guidelines. Your development process only becomes slower and slower. If you try to push things, your project will crumble to dust.
To make PHP at least decent, you have to figure out all this by yourself on an early stage. When you’re done, you spent a lot of time creating the buggy, ad-hoc, unspecified and unsupported alternative of what works out of the box in other languages. And you still code in PHP and still have all its disadvantages in your project’s DNA.
PHP is evil because it promises and never delivers. PHP is evil because it lies to you and it already fucked over so many of us.
If you want to code in PHP, do it under your pillow. Code your own silly projects.
If your project has the word “production” somewhere in its plans, PHP is not the way to go.
Amen.66 -
Read the following in Morgan Freeman’s voice.
Okay everyone sit on down and get ready for story time. There once was a workspace that was a pain in the ass to setup. It often would take an entire day even for the most experienced devs on the team...for it was a workspace perched atop a swamp of shit that would require a whole year to refactor into something that isn’t shit.
It was inherited, passed down, stepped in and scrapped from the boot soles of every programmer that ever touched it. It was an amalgam of old, new, and third party components with a class path a mile long and no package management because the company although physically in the present, somehow maintained a temporal presence in the past. And there was nothing that the team hated more than setting that workspace. In short it was an unholy mess that made Satan cry and Dennis Ritchie spin in his grave so much that the state of California attached magnets and a coil to his body and casket to generate electricity.
Then one day the untalented clowns known as App Group decided that our IDE should be owned and configured strictly through them. They took poor Eclipse and mounted so much silly shit to it that it resembled a riding lawn mower with a fax machine and a blender duct taped to it. Eventually as everything the company touched did, it simply turned into a broken, shitty mess that not even Jesus Titty Fucking Christ could bring back the dead.
And then, every month or so the IDE would break in such a grand way that every developer had to rebuild their workspace...the very same Lovecraftian monster disguised as a code base. It was just too much to bear for old Deus. He was all out of fucks and there wasn’t enough alcohol in the world to quiet his injured soul. So he stood on a chair, carved his name in a rafter and tied a noose to it, put it around his neck and finally kicked the chair out from under himself. I am told he even pooped his pants and the post mortem shit in the seat of his pants was still better than the codebase at work. I’m Morgan Freeman. -
Short story for the one interessed in the image: when we change idea we change the whole idea. And it is likely to happen very often. Sometimes twice a day, every day, for a week.
Long stort:
I am hopeless:
I am an IT university student, i know how to program and how to search for a fucking manual, but i am dealing with eletronics and PCB...
I have to make the firmware for a board (atmel things) and it have to talk via spi with some other devices (it is slave of one, and master for all the others(i will use two spi channels)), this should be easy...
I am have no senior to ask to, all i have is google and i found problems in every thing i try to do, every - fucking - single - one!!!! I know that the solution is always of the "you have to plug it in" type, but
NEITHER GOOGLE IS BEING OF HELP!
Let me explain this morning pain:
i can't add libraries in atmel studio, something wrong with the asf wizard, i have only found a tutorial that says what buttons press to solve my problem... I DO NOT HAVE THIS BUTTONS!!!
And the library i wanted to add is the one to make the board talk with the computer on his COM port... (And have some debug message...)
And the wizard gives problem because i created the project using an online atmel tool...
YES, i tried to create a project with asf and then add the files given by the online tool.... THEY DO NOT COMPILE, I SHOULD HAVE TO MESS WITH A 400 LINES LONG MAKEFILE, that is anything but human readable...
I haven't even look for anything spi related this morning
I am even forced to use windows, because every question in the forums, or every noobbish tutorial is based on it...
And then i find the tutorial with the perfect title, holy shit this is the thing i truly need!!!!! It says how to open a file. And then stops. WHAT ABOUT THE THING YOU WERE TALKING ABOUT IN THE TITLE??????
This project is the upgrade of a glue-pump based on an atmega328 (arduino uno processor), that is currently being produced and sold by our "company" .... .... That is composed by me and the boss.
He is a very nice and and smart person, he tries to give me ideas for the solution, if i cannot find out how to do something we can even change a lot of specifics of the project (the image shows our idea-change) and every board has some weeks of mornings like the one described above (i work only in the morning).
I am learning a very lot of things...
But the fact that every thins i try fails is destroying me, what would you do in my place?
Ps. Lot lf love for the ones who made it until the end <36 -
!activism
Guys, what should we do about Article 13 ?
The bill passed, well, that's unfortunate. We can still scream as loud as we can that it's a very bad idea, but let's face it, it won't probably work...
Personally, I'm sick of this shit. Every year they try to "regulate" the web with a new fucked-up legislation that they actually don't understand. I don't blame them for not knowing any better, but I blame them not to surround themselves with actually competent people (and no, lobbies are NOT competent, only interested).
So there it is : I want to act on this one. With traditional, ineffective methods (petitions, mails...), but I want to get further this time.
Here are some ideas :
- create/promote a platform explicitly made for "copyrighted" stuff (basically memes). Located outside of EU. But is it enough for being outside of the law ?
- Put some physical-paper memes near the EU parliament (I live in Brussels), just to mess with them ^_^
- Make the filtering algorithms crazy by spamming them with copyrighted content. I doubt this one will have any effect though...
Any ideas ? Let's go crazy there, they deserve it.8 -
Why the fuck did Oracle change their policies on the official JDK and made the website nigh impossible to use?!
It was shit from the 90s before, and now its still shit just modern.
Why do I have to register do get the JDK, you know Im going to use the fucking 10min mail. I just wanted to setup a freaking build server and I had to go over your retarded website that for some reason *refreshes* and erases the username field everytime I put in the wrong password. Why?
Why is oracle just outright bad at making websites?! Its always a maze to navigate and now it also takes seconds to even load...
This shit is why everyone uses openJDK and adopt. 3 billion devices running java?! Not with your jre/jdk they are not, because It's a pain to get... Don't me even get started on the mess it does on windows server. Why wasn't my JAVA_HOME set automatically?! I lost almost 2 hours because I trusted your piece of shit software to so the one job it has, even reinstalled it completely...
Get your shit together Oracle, this was unacceptable 10 years ago, let alone now9 -
Time for a REAL fucking rant.
io_uring manpages say you can set the CAP_SYS_NICE capability to allow SQPOLL to work. You can't, you still get an operation not permitted errno result.
Why? I checked, it says 5.10 mainline is required. Pretty sure I just manually downloaded and installed the Deb's myself. uname reports that I am at 5.10. So what gives?
Maintainer submitted a patch because they fucked up and made the *actual* capability check look for what's basically root permissions (CAP_SYS_ADMIN... c'mon...) and is now trying to rectify a glaring security shortcoming.
Patch hasn't been accepted or even addressed yet but they already updated the manpages with the estimated mainline kernel release as if it had made it into the release candidate. Manpages have made it into latest debs but the actual change has not.
Where the fuck is the Linus Torvalds that would ream the fuck out of shitty developers doing shitty things? The political correctness climate has discouraged such criticism now and the result... this. This fucking mess, where people are allowed to cut corners and get away with it because it would hurt their feelings when faced with pressure.
I'm not just guessing either. The maintainer has already said some of the "tone" of criticisms hurt his feelings. Yes, sorry, but when you claim 90% speedup over a typical epoll application using your new magical set of syscalls, and nobody can even get 1-2% speedup on a similar machine, people are going to be fucking skeptical. Then when you lower it to 60% because you originally omitted a bunch of SECURITY RELATED AND CORRECTNESS CHECKING CODE, we're going to call you the fuck out for fudging numbers.
Trying to maintain the equivalent of academic integrity within the computer science field is an exercise of insanity. You'd be fired and shunned from publishing in journals if you pulled that shit in ANY OTHER FUCKING FIELD, but because the CS scene is all about jerking each other off at every corner because the mean people keep saying mean things on Twitter and it hurts your feelings therefore we're all allowed to contribute subpar work and be protected from criticisms when others realize it's subpar.
These aren't mistakes anymore, it's clear you're just trying to farm clout at Facebook - maybe even FOR Facebook.
Fuck you. Do it right, the first time. Sick of shitty code being OK all of a sudden.2 -
First few times being made to make mobile responsive emails (from scratch, not generators) was an utter psychedelic mess I never wish to have the pleasure of returning too.
I since have had the pleasure of refusing this, as being able to maintain this chaotic mess created which has to be able to work across the major email clients is just a living nightmare.
There’s hell, then there’s a whole other level.1 -
Both apps I'm working on have legacy code:
iOS app has 100's and 1000's of lines of code with no documentation, no proper naming conventions and cut and pasted code off the net.
Android app has skeleton code from a Spanish taxi app + remnants of a funeral webcasting app, there's also the same no documentation, bad naming conventions and cut and paste code off the net.
The server is also as bad, it had methods that we're never used, I for one don't fully understand the server but from what I can see it's a mess.
I had a hard time understanding both apps and gladly majority of the modifications I made we're not including existing stuff, so I guess I just basically pilled my code onto of the already existing software.
I would have gladly started from scratch given the chance.8 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
After 10 years of thinking of getting into gamedev, I just joined a team game jam and it's going somewhere.
4 months ago I wrote a rant about how difficult it was for me to get into gamedev.
I guess I finally started because:
a) I'm not doing this alone
b) Another person takes care of the art
Regarding "a", computing, programming can be a very lonely task. I realized how much I missed the college years where I was paired up with other people to do something
There's something magical about being in a team.
You may not be a fan of your mates personalities. You may even hate their guts.
But working on something together, when everyone does the thing they should do, when things just flow... it's just magical.
When that happens, "all the bullshit goes away"™, and it's just you and your team sharing the same hope.
As for "b", I think I realized that, at least for my way of thinking, art (even in an initial, rudimentary state) is what ends up creating a game.
While I always tried to do it the other way around, first the game, then the art.
Maybe now I could dabble into pixel art and then use that as the thing that would define the game.
I was also an emotional mess for most of my 20s (and still kinda am, but not that much), so I guess that made getting into gamedev hard too.
Now, here's the negative part: the guy that does the art (and also codes) sucks balls at communicating and at git.
He takes a shitload of time to respond, doesn't address the things I state are important, doesn't join the damn trello, sometimes gives me some sass on his comments.
And he accidentally overwrote my changes on git three times.
The good thing is that he acknowledges his fuckups and fixes them.
I'm not really mad though. I'm almost 30, he's 20 or so.
When I was 20 I was a goddamn mess.
And it's just a week, and the pleasure of working with someone is far greater.5 -
I wrote a Blender plugin that uses vector math, matrices, calculus, trigonometry, and likely other types of math. There's recursion, filesystem access, image processing, interface logic, and on and on.
And worst of all - other people are expected to use it, so there's added pressure to do a good job.
Oh, the hours I spent trying to figure out why the imported geometry looked like an exploded mess. Fumbling around with mathematics I didn't fully understand was exhausting. Finding help was impossible at times because I didn't have the vocabulary to even describe the problems I was having. And getting it to complete an import before the heat death of the universe was not easy.
Every time I made progress and thought I was done, I would discover a bug that other importers didn't have, leaving me to sift through languages that definitely aren't Python to see if I could reverse engineer the logic they used.
I almost gave up a few times, but didn't.
Now I have something that, while not used by many people, works very well, is very efficient, and doubles as a palette cleanser when I need to do something for fun or for a challenge. Plus I learned a lot along the way.4 -
Liferay. Fucking Liferay.
I'm mostly C#, Java Dev with only a year of experience and as Kruger-Dunning effect says, I thought I'm not that bad. At the beginning of my job I've got tasked with creating an portlet for Liferay CMS which is written in Java. Can't be that bad, right? WRONG.
Liferay is real shit. Not only there is little to none community life but also documentation and tutorials are outdated! Many methods are doing the same functionality but are in different packages. JSP make coding a big fucking mess if you won't make shit ton of classes to clean it up. Also it has this incredible ability to crash whole portlet after a small change in classes structure.
I have to mention that no one could help me because company that I'm working for is a rather small one and there's no other Java developer beside me. This also means that it's hard to really get gut when no one is oversying my progress.
Also I really dislike web development. And Liferay made it even worse. I hope it will burn in hell.1 -
As a pretty solid Angular dev getting thrown a react project over the fence by his PM I can say:
FUCK REACT!
It is nigh impossible to write well structured, readable, well modularized code with it and not twist your mind in recursion from "lift state up" and "rendercycle downwards only"
Try writing a modular modal as a modern function component with interchangeable children (passeable to the component as it should be) that uses portals and returns the result of the passed children components.
Closest I found to it is:
c o d e s a n d b o x.io/s/7w6mq72l2q
(and its a fucking nightmare logic wise and readability wise)
And also I still wouldn't know right of the bat how to get the result from the passed child components with all the oneway binding CLUSTERFUCK.
And even if you manage to there is no chance to do it async as it should be.
You HAVE to write a lot of "HTML" tags in the DOM that practically should not be anywhere but in async functions.
In Angular this is a breeze and works like a charm.
Its not even much gray matter to it...
I can´t comprehend how companies decide to write real big web apps with it.
They must be a MESS to maintain.
For a small "four components that show a counter and fetch user images" - OK.
But fo a big webapp with a big team etc. etc.?
Asking stuff about it on Stackoverflow I got edited unsolicited as fuck and downvoted as fuck in an instant.
Nobody explained anything or even cared to look at my Stackblitz.
Unsolicited edit, downvote, closevote and of they go - no help provided whatsoever.
Its completely fine if you don't have time to help strangers - but then at least do not stomp on beginners like that.
I immediately regretted asking a toxic community like this something that I genuinely seem to not understand. Wasn't SO about helping people?
I deleted my post there and won't be coming back and doing something productive there anytime soon.
Out of respect for my clients budget I'm now doing it the ugly react way and forget about my software architecture standards but as soon as I can I will advise switching to Angular.
If you made it here: WOW
Thank you for giving me a vent to let off some steam :)13 -
relative: can you help me with my website?
me: ok, what do you need?
them: okay, i have this wordpress homepage that someone made for me and actually, when you go to my image gallery, i only want a simple "back" button that leads to the main page. but i cannot add it via wordpress functionality.
me: okay, i'll make you this button in under 10 minutes, given it doesn't require any fancy design. but i have no experience with messing with wordpress so far... let me check what their templates look like
(after 1 hour): wtf is this mess 😭
...since they only had their production website, i didn't dare to change anything and told them they best hire that dev again 🙈9 -
So, first time ranting, sorry if I mess anything up.
When I first started my current job and got introduced to the system we were coding in, something seemed a little fishy to me. Didn't like the system anyway, but at least the language is a compiler language, so it runs quite quickly, right?
In theory, yeah. If the lead dev liked the IDE that came with it. But he has to REALLY fucking hate it, because rather than using it, he codes in plaintext. No syntax highlighting, no auto-indent, nothing. And he's built the entire damn system around doing that. Sadly the compiler is only integrated into the IDE, so what do we do there? Copy the code from the plaintext file to the IDE to compile it there? No no, why would you. The language has a function you can use to compile some code at runtime.
And so he does. Every. Single. Fucking. Script. There's a single main script that runs and finds the correct textfile to then runtime-compile and execute. So we effectively made a compiler language into a massively unoptimized interpreter lang.
I even mentioned that this might be a problem, but I was completely dismissed, so at that point it's not my problem anymore and I have then switched to a different system anyway.
Couple weeks later I heard the same guy complaining that the scripts were running almost the whole night so we'd probably need some better hardware or something.
Well if only there was a really obvious solution that would improve the performance by probably about a factor of 20 or so...13 -
(As a freelancer I was asked to do a couple of tasks on legacy code)
Let’s check this code, how bad can it be?
- all of the following: unreadable mess, no auto linting
- tests: some are there cause there’s not enough automation, others are poorly named
- frontend: somehow a genius made a react component for every variable in the store which only passes the variable to the child (wtf)
- backend: death by best practices
- ci/cd: “we have it but it’s broken”
Let’s fucking goooo 😎
Diagnosis: my therapist is getting rich
Chances to not cry tonight: close to zero
At least they pay well 🤷♂️5 -
I've had today a meeting with the CEO regarding some designs. Here have some quotes that he made:
1. So you can click, click, click, click, click
2. numbers are so complicated so I just said something
3. I like the vibe in Amsterdam
4. We are doing a rebranding. Our rebranding document is the color of the 2 blues and one orange
5. I've to ask my wife for the design (with no design experience) to make the rebranding documents
6. In <the app our technicians/support use>, you can brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrb
7. This is what differeniate us between most applications; FAVORITE SQUARES
8. I never watch that mess. I don't even know if it works or have ever worked with it. (talking about a simple table view)
9. You have been reported to the admins (in an admin-only application for our customers)
10. It's always nice to see developers think; when I don't think
11. But it's already an iPhone (when looking at android designs & cries in largest userbase in my country)6 -
tldr:
first year in college we programmed 24 hrs straight to fix somebody's mess before the deadline. Decided not to screw him over, instead he claimed to have done everything and we failed the assignment.
Long version:
var group= new[]{"Mike", "Gavin", "Gus", "I", "Ben" };
var client = "Jack"';
First year of college we had an assignment to make a web program for somebody.
Ben wanted to join our group and he already knew a client so we let him join.
After joining Ben wanted to be project lead, but we already decided Mike based on his experience.
Ben claimed to be much better in every way than Mike at and kept coming with stuff the following weeks why we should make him project lead. He kept pointing out when Mike did something wrong and he even came with an audio file where he clearly made jack say that he wanted Ben to be project lead .
After that we were all a bit pissed and told him that he should get it in his head that he was not going to be project lead and just start working on his part of the assignment.
We also found out that Ben was a documentation addict, what we could write in a small paragraph, he wrote a whole page about it. No joke, I rewrote a page of his in 5-6 rows with the same information in it.
No problem you thing, wrong! Because of this he kept bothering us arguing and claiming that our documentation was wrong because it was to short.
In the week of the deadline we asked Ben if he was also done, and told us that he was done for a while now.
The day before the deadline we came to school thinking we only had to do some merging and finishing up documentation.
Then we found out that Ben has almost nothing, and what he had the IDE was screaming that it was incorrect, spaces in Id's and css class names for instance. A really good programmer, my ass!
We were so pissed off at this point, but we had 24 hrs and needed to come up with a plan to fix it.
We decided that Mike and I were going to fix Ben his shit in the coming 24 hrs and Ben was going to make our last bit of documentation because we would not have the time for that, Especially if we had to argue with him like we had to do for each bit of documentation. Gus did not have time and Gavin could not program on his own yet, he wanted to help, but helping him help us would cost more time than we had.
We all went home after that and Mike and I started to program 24 hours straight while in a Skype call, making what Ben had 2 months for. Shortly before the deadline Mike looked at our finishing up documentation received from Ben and told me it was "Okay" and zipped everything up and uploaded it to school with a few minutes to spare.
After that we thought everything was good, we made Ben's part work and delivered it in time. We also decided not to throw Ben under the bus, because this would hurt all our grades because we did not work good as a group since we should have noticed it earlier.
A few weeks go by till the assessment.
The assessment start with asking if we want individual grades or as a group when you all think you did equal amount. We choose as a group, because if we chose individual not only Ben but also Gavin would get a lower grade and we did not think that was fair because he tried so hard.
We demo the product and the teachers are positive. When the teachers start about the documentation, the first thing they tell is that they found something interesting in the documentation, and they read it to us:
"I, Ben, have made all the documentation because my group did not want to."
That was so far from the truth, we all did make our documentation about the parts we made. Yes he did do overall a little bit more because every single bit of documentation we had to argue with him, so every time he volunteers to make it, we would all agree. And he made Mike's and i's last bit of documentation.
Telling the teachers on that point would not have mattered, it would only have hurt is in another way, so we did not and all failed the assignment. And we all felt like to strangle him.
This is now a few years back, but i still want too.1 -
Not work but
Years ago when i was in middle school i wanted to mess with the school computers a bit so i made a desktop shortcut for shutdown and changed the name and icon to google chrome.
The person in charge of the it department freaked out and thought some kind of a massive virus infected everything.
Long story short turns out they had an event logger installed, figured out it was me and what i did...
I nearly got expelled 😑2 -
My boss has been begging me migrate a nightmarish complex excel report he made to calculate the payout of a tiered rebates program with compounding rewards. Today I finally decided to make take the time and I sat down with him so he could break it down for me...
Me: *looking at the mess of formula's* it would be easier to rewrite the math than decode this - can you just give me the reward rules... where does that value in cellX come from?
Him:*pointing at the spreadsheet* There! All the rules are in there for you :-)... like it's some big favour...
Me:No I mean when you wrote this, what did you base this off? There must be something...
Him: *Very Gravely* No, no, no it's far to complex! It took me ages to get this sheet right and it balances so just trust me and use it ok?
At this point I will mention he's an accountant so yeah I fucking trust him... fast forward past 15 minutes of digging through what may as well be quantum theory and lo and fucking behold all 2 sheets and 100 calculations are mathematically fucking pointless. Aside from formulas like this:
$X10=+(((O10+P10)-((O10+P10)*$X$3))*$R$4)+T10
which is actually equal to (X10/R4)/L10.
Anyway once you compound and sum the "tiered" benefits the rewards payout is ALWAYS = customerSpend*1.81.
This is why programmers name variables. -
!rant I need job advice. Please reason with me.
I am 26, got 2 years of experience in c# and unity3d.
I did some research and it turns out that the minimal paying average with my job/experience over the whole country is at least 300€ a month more than what i get payed currently.
I made a list of pros and cons, and am just not sure what would be smartest to do in the long run. Here is a list for both options, please chime in on me if you can!
Points for current job:
Permanent contract (hard to fire me etc.)
Get to make mostly mobile games but nothing really big
Fun small team whom i get along with (i am on the spectrum and can be hard to deal with social or costumer related things)
Rarely any overtime (i like to know my hours)
Easy but slow jobs (badly organized, drag on forever)
Rarely challenged and thus boring me
I get to shoot nerf guns at colleagues whenever
Low chance of a 300€/m pay increase (not worth it to boss, financials aren't that great but the company is promising)
Points for any other job:
Unknown working condittions
I am probably bad and uknowledgeable about any tool they give me to work with because my experience is so monotone
Start on short term contract again all over
At the least a 300€ net increase a month
Prob closer to home then 1h drive away
I get to learn new things but give up on games/apps as i know them
Probably get knowledgeable seniors
Probably end up in a bigger more serious company where i am just a number
I am bad in new social envirnoments, oh the angst is real
And a few things besides it are that i personally only have as goal to own my own house with my fiance as soon as i can. And this means i will need to take out a 200k loan or something along those lines, to be paid off over 30 years max.
This means that the permanent contract is very valuable in my eyes, but so is monthly pay increase.
I want to have fun in my job, i want to learn new things and better ways. But i also want to be able to say "enough" to something if it overwhelms me. I just know some things are not for me and i would mess up if i were made to do them. I fear that to not be an option in a big company. I would be forced out of my comfort zone without any regard for me or my learning curve.
Any advice is welcome. Please keep it general if you can so others can learn from this as well. Seniors advice will probably be helpfull to all starting programmers!10 -
Everything about the company is a mess. The only thing that is decent is the people. And by that I mean they aren't shit.
Workflows are fucked.
Clients are fucked. You're pressuring me to get this shit production ready before new year's eve and you still don't know what the text should say and want to make changes to the UI? The fuck?!
Design is a complete shit show. There is a design team. They only make a fucking psd to show clients how an interface would look like. No mobile version (but it's still expected to work!), no markup. Resolution is fucking inconsistent and whenever a change is requested, they are nowhere to be seen so I have to actually do designing on top of having to use this worthless fucking framework I hate it so much.
Codebases are turbo-fucked because of said framework.
Databases are an inconsistent, fucked up mess. No foreign key constraints because every single fucking table is using the MyISAM engine.
And the thing that really makes me incredibly angry is all the "custom systems" look the fucking same at the database level. Like 30 fucking useless tables made for stupid HR workflows that make no fucking sense.1 -
Secretly installed Automate app on my friend's Android phone to mess with him. (For those who don't know, with Automate you can automate anything on an Android device).
Made a 'flow' that would read his incoming sms's, and send an email to me with his exact location if I sent him an SMS saying 'where are you?'.
Was funny to mess with him and tell him his exact location even though we were miles apart.
Cleared it up for him a while later but it made me feel like #hackerman8 -
Sorry, long since my last post...
I have quit my job recently at DERP & CO.. The level of anxiety was already somewhat of medical severity.
For months I had been in a project that not only did not progress, but that it was getting worst day by day.
A bit of Context
November: "Dev, junior anon needs you to help him on the SHIT project because they are running out of time, it is mainly doing unit tests."
Well, the code was a mess, there was a LOT of copy paste and it was all bad quality (we talk about methods with complexities between 80 and 120 according to SONAR QUBE).
Dev: "Anon, you know this is wrong, right?"
Anon: "Why? it works"
Dev: after long explanation.
Anon: "Oh well, yes, from now on I will take it into account." And he did it / try his best.
Dev does the unit tests and do extra work outside of the reach of the sprint (y than i mean work after hours, classic) and alerts the boss of the mess.
December: After a project of approximately 6 or 8 months of development, the boss discovers that the junior anon have been doing everything wrong and/or with poor quality (indicating that throughout the whole development the quality of the code was NEVER checked nor the functionality).
Boss: "This is a shit. Dev, you have to correct all the errors and warnings marked on sonar", which are around 1200 between smelling code, high risk errors, etc.
Dev fixes something like 900 bugs... lots of hours...
Boss: "This still is all wrong, we have to redo it. We will correct the errors leaving something stable and we will make a new repository with everything programmed as it should be, with quality and all"
- 900 corrections later, now are irrelevant -
Boss: "Dev, you will start to redo it, anon is out on other project. First you must leave the existing one working properly"
Dev: "ok ..."
January: How can I correct the mess if the client asks for more things. I am just fixing the mess, doing new functionalities, and when I have free time (outside the work) I try to advance the new repository, poorly I must say because burntout.
Boss: "Everything should be arranged at the end of January, so that you can redo everything well in February."
I can't handle everything, it starts to fall further behind. Junior Anon quits the job.
February: Big Bad Bugs in the code appear and practically monopolize the month (the code is very coupled with itself and touching in one place sometimes meant breaking other stuff).
Boss: "It can't be, you've been with this since January and you haven't even started correcting this mess in the new repo"
Dev: "It is that between the new things that are requested and the bugs I cannot put myself with that"
Boss: "Do not worry, you will be helped by random dev if you needed. SPOILER ALERT: random dev is allways bussy. Not made up bussy, He had a lot of work by itself, but it can't help me the way I need it.
High anxiety levels, using free time to try to reduce the work left and gradually losing the taste for develop.
March: So far, not only do they add new things day and day, but now they want to modify things that were already "ok", add new ones and refactor everything in a new repo. I just did not see an end of this nonsense.
Dev breaks, the doctor says it's anxiety, so I just know what I have to do.
Dev: "I quit my job"
Cool Manager: "Damn, why?"
Explain everithig
Cool Manager: "Do you want to try if I can change you to other project or anotjer scope on the same project?"
Dev: "Thanks, but no Thanks. I need to stop for a while".
End. sry for long sad post and maybe poor use of English (?) Not my native language.10 -
When I was in college OOP was emerging. A lot of the professors were against teaching it as the core. Some younger professors were adamant about it, and also Java fanatics. So after the bell rang, they'd sometimes teach people that wanted to learn it. I stayed after and the professor said that object oriented programming treated things like reality.
My first thought to this was hold up, modeling reality is hard and complicated, why would you want to add that to your programming that's utter madness.
Then he started with a ball example and how some balls in reality are blue, and they can have a bounce action we can express with a method.
My first thought was that this seems a very niche example. It has very little to do with any problems I have yet solved and I felt thinking about it this way would complicate my programs rather than make them simpler.
I looked around the at remnants of my classmates and saw several sitting forward, their eyes lit up and I felt like I was in a cult meeting where the head is trying to make everyone enamored of their personality. Except he wasn't selling himself, he was selling an idea.
I patiently waited it out, wanting there to be something of value in the after the bell lesson. Something I could use to better my own programming ability. It never came.
This same professor would tell us all to read and buy gang of four it would change our lives. It was an expensive hard cover book with a ribbon attached for a bookmark. It was made to look important. I didn't have much money in college but I gave it a shot I bought the book. I remember wrinkling my nose often, reading at it. Feeling like I was still being sold something. But where was the proof. It was all an argument from authority and I didn't think the argument was very good.
I left college thinking the whole thing was silly and would surely go away with time. And then it grew, and grew. It started to be impossible to avoid it. So I'd just use it when I had to and that became more and more often.
I began to doubt myself. Perhaps I was wrong, surely all these people using and loving this paradigm could not be wrong. I took on a 3 year project to dive deep into OOP later in my career. I was already intimately aware of OOP having to have done so much of it. But I caught up on all the latest ideas and practiced them for a the first year. I thought if OOP is so good I should be able to be more productive in years 2 and 3.
It was the most miserable I had ever been as a programmer. Everything took forever to do. There was boilerplate code everywhere. You didn't so much solve problems as stuff abstract ideas that had nothing to do with the problem everywhere and THEN code the actual part of the code that does a task. Even though I was working with an interpreted language they had added a need to compile, for dependency injection. What's next taking the benefit of dynamic typing and forcing typing into it? Oh I see they managed to do that too. At this point why not just use C or C++. It's going to do everything you wanted if you add compiling and typing and do it way faster at run time.
I talked to the client extensively about everything. We both agreed the project was untenable. We moved everything over another 3 years. His business is doing better than ever before now by several metrics. And I can be productive again. My self doubt was over. OOP is a complicated mess that drags down the software industry, little better than snake oil and full of empty promises. Unfortunately it is all some people know.
Now there is a functional movement, a data oriented movement, and things are looking a little brighter. However, no one seems to care for procedural. Functional and procedural are not that different. Functional just tries to put more constraints on the developer. Data oriented is also a lot more sensible, and again pretty close to procedural a lot of the time. It's just odd to me this need to separate from procedural at all. Procedural was very honest. If you're a bad programmer you make bad code. If you're a good programmer you make good code. It seems a lot of this was meant to enforce bad programmers to make good code. I'll tell you what I think though. I think that has never worked. It's just hidden it away in some abstraction and made identifying it harder. Much like the code methodologies themselves do to the code.
Now I'm left with a choice, keep my own business going to work on what I love, shift gears and do what I hate for more money, or pivot careers entirely. I decided after all this to go into data science because what you all are doing to the software industry sickens me. And that's my story. It's one that makes a lot of people defensive or even passive aggressive, to those people I say, try more things. At least then you can be less defensive about your opinion.53 -
Spent around 5 hours last night trying to do honestly one of the most basic things in PHP with a classmate of mine.
We are making a website kind of like Google Photos where the user can upload their images, store some information about the images they uploaded. (Basically just an online photo storage site). For what ever damn reason we could not figure out why our images that the user would upload from a form where not being put into their associated user image folder; Hell for the longest time they weren't even being loaded onto our LAMP server.
We still have no fucking idea what made it start working, we went over our code and iterated it probably over a hundred times and suddenly..... Like I said we have no fucking clue why; it started to work.
Over 2 hours in a hangouts call and around 500 messages later it worked.
I think we all know how this feels.
What a fucking mess.5 -
Damn, CSS Grid and Flex are fucking awesome!
I've been using both at least a year now and with a handful of SCSS mixins they have made the never-ending misery of front-end bearable.
Before I was forced to use Bootcrap floating grid and it was just a fucking mess and in some cases made JS hacks necessary.4 -
Every single stakeholder in my company tells me that I should be working on something different, every time I talk to them. For example - we've got some issues, that I've ranted on previously. I go to my manager, and tell him that it's going to take longer than I'd hoped, because the author of this part of the codebase wasn't familiar with functional programming or OOP, didn't document anything, and just generally produced an unmaintainable, borderline indescribable mess. The next guy after him made it all so much worse, because they're both a couple of tryhard douchebags, and I hope they fucking die. For real. I hope fire ants are involved.
Anyway, getting carried away there, whew. So I tell my manager that we'd be further ahead just replacing the code, because it's only doing a couple of things, and should not be so complex. He says "cool, but what you really need to be doing is rebuilding this other thing." So I switch gears and work on that other thing until I hit a point that requires the input of another stakeholder. I go to talk to this guy, and all hell breaks loose "why are you working on that, this is higher priority", and I explain the sequence of events. Manager denies having said what he said, I look like an asshole, yet again. Then the old "this should be simple, just change this" from the dudes who don't know code, and don't want to know. I try to explain, offer to show them precisely why their "simple ask" is anything but, but they just start screaming about how they hate technology. Yeah, well me fucking too. I keep hearing about how much "job security" I have, but man I'm going to lose my mind at this rate. I have seventeen motherfucking things that are "emergencies", and as many fucking dumb ass unintuitive workflows to go through to get them changed. All on production, because this place is fucking stupid. Just let me discard this shitty legacy code and be done with it already. FUCK.
Thank fucking fuck it's friday. In about six, seven hours, my goal is to be so fucking wasted that I can't feel my face. Get drunk, play with the dog, install a new distro on the desktop, maybe play a little guitar (the guitar is normal sized. It's not a ukulele or anything). Perfect friday night.9 -
TL;DR:
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6 -
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 world12 -
Today I was debugging some shitty code left by unknown developer whos linkedin account is dead and phone number left in contact card calls local pizza house.
I knew it qould be hard so i've made myself comfortable, gathered 5 redbulls and other items that diabetes people would kill for eating again.
After around 10 minutes i was already frustrated but i kept the pace. "Who is the best, little devie, you!" - I fooled my ego to keep up and shut up.
After around 10 next minutes my attention span has ended. Limbic system started injecting some hormones into my brain, but I remained silent.
First two energy shots were applied. I felt like hero again. Two minutes after I was debugging through some library that was written fo java and found out that it ahots some natives to a c lang lib called "mypreciouslib".
Oh flock, how can i debug it if ita compiled , I cannot do such things, Me be only junior dev. I started swearing, but silently.
Started ollydbg to see what is inside livrary, i searched through but i couldnt match anything it was like mess stirred with fecals of an elephant.
So I opened aida pro " with vitamins" cause obviously, our pm says "but you write in java right " so we dont need those tools right ? Fuck no.
Aida was better at least i could find some funcions calls, but hey, the progress. I was swearing out loud, with earplugs in. And by the time I've sweared all the things in company i got a reminder.
"Hey -insane- stop swearing, the children are here."-sayys pm, it is some kind of " family and work " shitfuck day.
So i asked them: " why wouldnt you buy this fucking tools for programmming for us , you wouldnt have to hear me fucking swearing" . then i realized that , colleagues in room heard all of it, and one of them, total fuckface buttlicker(dev without bit of knowledge) started something like "you are wrong, see how good our software is sellling". Pm was like smiling like he thanked him for buttlicking again. Not to mention he is officially retarded and i know his password to all our services cause he is so smart to put it into text file and then have sharing files in windows turned on.
The other one told aloud, that we would be much better with some debugging tools that are better than fucking eclipse if we have to work without code.
PM told us that he will arrange a meeting. At that point I didnt care any longer. I just fired myself, fuck them.
Please saint Stallman give me hope and joy of programming from my teenage years. Uhhh..2 -
Story time.
We are all alike as devs, just surrounded by the people who has an idea of "new facebook", but i like how their mind works and how they long for a change, so it does not annoy me that much. I just simply explain how it is not likely to happen, without decent marketing and innovation.
However, yesterday i went to my dad's workplace, because i was bored. He has lots of friends there, and i happen to meet one. When he heard me that i am a software engineer, he told me that he has an idea.
I prepared my words to explain why it is not possible, but when i heard what it is, i was ashamed of myself.
He sells and manages car tires. He wants a simple showroom website to show what tires he has,( not stock-wise. Price, size, type, brand etc. ) and he wants to update them himself.
I swallowed my words and told him that i could do it. Normally i don't make websites, i provide utilities and APIS to make the front-end devs job easier at my work. But i will turn his idea into reality.
He said that he hired someone else for that years ago, but the one he hired made the website in ASP.NET 2.0, so making one from scratch would take much less time.
No way i would touch that mess came from the seventh layer of hell itself, to torment developers endlessly.
Just a simple front-end seasoned with bulma and pure JS, node to communicate with the DB ( maybe golang for fun ? ) and a simple admin panel for him would do the trick. I am excited !3 -
Not dev but I need to get it off my chest, first day back from holiday and I'm already stressed.
Today my company's travel agency made a mistake in my first name when booking me a flight. Once I received the itinerary and noticed the mistake I sent an email telling them and politely asking to have it fixed. They said they'd sort it out urgently.
~4 hours later
They changed my *last name* and now both first and last names are spelled incorrectly..
Seriously, how incompetent does one have to be to mess the very thing they were told to double check. -
Things I’m learning from my accounting job that will help me in my future dev career:
Today I have really, truly understood the need to sometimes just walk away.
I couldn’t figure out how to fix something, I kept fucking up, and at 16:40 I realized I can just stop, do something else that’s easy and doable, and come back to the fucked up mess I made in the morning. We’ll see how it goes, but it’s a lesson I’ve been continuously learning over the last few years, not to stubbornly brute-force my way into doing something when I’m not in the right mindset and able to do it, and instead just calm myself down and come back to it later. -
Reverse engineering an applications internal object model and creating an database model for it...
The reason: Several versions of application exist, each deliver flat data by rest. The data is a complete potpourri of several different entities. *yaaaay*
Eg. an example fictional call (real call and data would get me in trouble I think....)
get_fiscal_report returning the fiscal data for _several_ companies, the companies _subsidiaries_ and the respective _segments_ for a _year_ with a key value enumeration.
So it's an happy fuck up of N:N associative data that usually would be a hierarchical relationship...
Year - Company
Each Company has subsidiaries
Each Company subsidiary has segments
Each segment has a fixed enumeration of keys
Each key has then the monetary value (e.g. 'operating_income' - 155_000 US-$)
Example is made up, but my data contains exactly such a lovely nested hierarchical data flattened and misnamed to a point where it's close to garbage.
Yaaaay.
I had now 6 days of untucking this mess to a usable database representation...
Sprinkling Unique Keys everywhere...
Running persist script...
Getting exceptions...
Changing associations...
Running persist script...
Screaming.
Changing associations...
Violently cursing.
Running persist script.
Starting sacrificing interns...
6 days.
I need a new brain and a format of my soul.
-.-
Reverse engineering proprietary software is really an morbid adventure.1 -
Ok apparently I forgot rants can only be edited within the first 5 minutes, I thought it was 30, and you can't rant 2 times in 2 hours so I'll have to wait before posting this.
So, I'm doing a Genetic Algorithms class, something I liked since I was 15 yo and didn't know shit about coding, but I loved the carykh videos about it. (here is part 1: https://youtu.be/GOFws_hhZs8 )
The yearly class consisted of 3 little projects to be able to do the final exam and an investigation project to pass the subject without a final exam.
We had to make teams, and I got together with 5 more people.
I have a lot to say about these 5 people, but the only thing I'll say is that I was the most experienced programmer among the 6 of us, if they had any experience at all. Mind this is a third cycle class.
We were allowed to use any technology, as long as we wrote the important algorithms by hand, of course.
The development of the first project was such a mess, that one of the members left the subject.
While developing the second one, we were given the topic for the investigation project; fractals.
It took a lot for us to find an application of fractals where we could use genetic algorithms. Once we found it, fractal antennas, we had to learn about antennas, so we interviewed professionals, and such. We ended up learning to evaluate antennas.
We also found a site that used some parameters to generate fractals, we had the parameterization.
We just had to code it. It was July and we just had to code it by October.
We were 5 people, and "we" were so busy writing the little projects, we fucking couldn't finish the investigation project.
We just had to write the proper algorithms and GUI specifics, without even having to write boilerplate (we used the first project as a template), and they still took so much that we didn't have time for the important project.
That sucked, because I had been coding and investigating in many weekends, I spent countless hours on them, I had to pause development on other projects for these ones; and after all that we have to do the (very shitty) final exam.
Since May, the average people together "working" on the different projects was 2.6. And 100% of the time, I was one of them.
We tried to speed up things in the last months but even with the deadline on us and the project not even started, there was no time we all got to work together.
Dude projects don't just get made, someone has to develop them.
It's so sad we had the project ready to be made and 5 people couldn't finish it. There was so little to do to pass and yet these people couldn't.
I guess it's my bad too. I wish I could rush the project in a couple of weeks, but unfortunately the guy with a job and 8 other subjects can't.
You can find the project in my GitHub. I'll do a requiem of what it was to be one of these days, after I catch up with all I left aside for this subject...rant genetic algorithms project systems engineering failure subject college investigation fractals wk2833 -
300 global variables.. THREE HUNDRED FUCKING GLOBAL VARIABLES?
Are you for real?
Now let me check the line numbers again..
hmm.. line 97 to .. yep line 410, just a few new lines to seperate some of them or.. group? Idk, I've given up on trying to understand those.
Now you may ask "But ThatPerlDeb, where did you see this and what was the intention?"
Low and behold, take a chair and I may explain this to you.
First of all: Fuck the dev that wrote this!
Second: Fuck all the devs that kept up with this practice or whatever you want to fucking call this!
Now, the application is our POS system that our customers can use for a monthly fee (That this piece of garbage even requires payment is disgusting) but anyway..
The global variables sometimes are declared for labels, sometimes for some frames, sometimes just for random values to be there.
We're using Perl for the POS system and Perl ain't the best at OOP, so in the dev's defense I can understand why you'd use a few global variables, but not fucking 300!! FUCK OFF WITH THIS BULLSHIT!!
So now I'm going through this torture slowly but surely deleting globals and putting them into some sort of scope and always MANUALLY test if something broke. Again, this company sucks ass and there's nothing that could even be considered a "unit test" or something like that, so fuck that, too.
After two hours I've brought down the count of global variables to about 260, so there's progress being made..
But then, there comes more!
"But how???" you may ask, and you're right, I've asked that myself.
Now to resolve the global stuff in each file some of the initial globals are used, we got about 20-30 files which do different stuff, all fair and square, at least there was an attempt at seperating functions but god this mess is so fucking fucked up. So in order to "safely" delete a global variable I have to check if any of the variables are used in another file, and if so, in which scope and how they are used.
Spaghetti would be a compliment for this fucking disgusting piece of utter bullshit.
Let alone the code quality of this "code"
Indendation? Dafuq is dat?
Scope? Nah, we got everything global anyway
Function size? Well, some are 5 lines, some are 900 lines, who cares anyways, right?
I'm so fucking glad once I leave this shithole, for real.6 -
So.. how does being in a company makes you a better engineer?
For eg, this year my team shipped these 2 interesting features (among other things) that were never part of our product.
these were crazy ideas, that got liked by our users, and might have impacted the finances of company positively.
However the engineers (not me, i worked on them even less) that worked on it, did they got their knowledge growth? they just analysed the old codebase, its shitty architecture and drawbacks, and added the feature around it in a similar manner. so basically it was building debris over the debris
but is this growth? if that engg was me, would my experience in dealing with debris and building debris over it (that somehow works) be helpful for any other organisation?
And number (2) : is my organisation even a good one if its allowing to build debris over debris and not leaving a space for discussion or cleaning the mess or thinking about better architectures, data structures for scalability and robustness?
An engineer's growth should be made by giving them a chance to explore new and best solutions and not the best hacks i guess1 -
I technically joined just after this guy left(fired) but the stories are to good to tell!
The guy was clearly off but It wasn't his fault he had to of had aspergers
He would demand! To write with two pens in one hand he said it was faster and the only way he could write neatly... (Nope)
I don't think it was to weird but he would put on music and play death metal stuff full volume, because he couldn't hear anyone the team used to make paper planes and fire them at him when they wanted his attention.
Another thing he was into furry ... Stuff but was super open about it had. Wolf's and shit like that on his desk and always had a wolf shirt.
But he was fired, he wasn't great at his job.
I came in to help sort out the mess it was the government's setup for servers and nurses and doctors computers for the NHS over in england.
He effectively skull fucked the entire system.
He magically (I to do day can not understand how) did forced updates and installed to a newer version of Windows servers the problem being the programs wouldn't work on newer windows at the time.
Most were on XP at the time and they used windows servers back then.
Luckily not nation wide just in my local area but still thousands of computers affected.
The issue became this ... You see they had this program on their computers that let them get patient documents and update etc
He removed code or added code that made it update all the laptops and desktops to a new service pack which they didn't want... Then he upgraded the servers to a new windows version I don't remember the specifics
But the updates and new version of Windows made it so the laptops etc couldn't communicate with the servers.
... The next day he got fired and I was brought in for a few weeks to help sort out the mess.
But apparently he was a super interesting guy but with way to many quirks.
It costs the tax payers a fortune! Literally a few million to sort his mistake out people were working round the clock for two weeks straight.3 -
Story && rant && dev && linux
I was using linux mint for a while... more like 5 months for work, there's this Touchpad/mouse issue in it that was driving me crazy, so basically the mouse stops responding out of nowhere in the middle of my coding and I have to restart the fucking laptop to get it back. Yeah, I tried all the solutions I could find on the Internet and nothing works.
This issue likes to fucking mess with me so much, it seems to only happen when I absolutely mustn't restart the laptop or I'm working on a task and have a tight deadline and I don't have time to waste restarting my pc.
A couple of days ago, I had this major feature I needed to release to production and the time I estimated for it and shared with my team turned out to be insufficient, so I had to work extra hours from home to finish it ... while I was working, the mouse issue returned and I had to restart my pc like 20 times that day. It was fucking frustrating and It was already midnight and all you can hear are keyboard sounds and fucks flying.
I made a promise to myself that once i finish this task, I'm gonna fucking migrate to another distro, I'm fed up with linux mint's BS. I've been putting up with it for so long it's time to move on.
Yesterday I installed Manjaro and I'm happily working on it today xD.3 -
MENTORS - MY STORY (Part II)
The next mentor was my first boss at my previous job:
2.- Manager EA
So, I got new in the job, I had a previous experience in other company, but it was no good. I learned a lot about code, but almost nothing about the industry (project management, how to handle requirements, etc.) So in this new job all I knew was the code and the structure of the enterprise system they were using (which is why the hired me).
EA was BRILLIANT. This guy was the Manager at the IT department (Software Development, Technology and IT Support) and he was all over everything, not missing a beat on what was going on and the best part? He was not annoying, he knew how to handle teams, times, estimations, resources.
Did the team mess something up? He was the first in line taking the bullets.
Was the team being sieged by users? He was there attending them to avoid us being disturbed.
Did the team accomplished something good? He was behind, taking no credit and letting us be the stars.
If leadership was a sport this guy was Michael Jordan + Ronaldo Nazario, all in one.
He knew all the technical details of our systems, and our platforms (Server Architectures both software and hardware, network topology, languages being used, etc, etc). So I was SHOCKED when I learned he had no formation in IT or Computer Science. He was an economist, and walked his way up in the company, department from department until he got the job as IT Manager.
From that I learned that if you wanna do things right, all you need is the will of improving yourself and enough effort.
One of the first lessons he taught me: "Do your work in a way that you can go on holidays without anyone having to call you on the phone."
And for me those are words to live by. Up to that point I thought that if people needed to call me or needed me, I was important, and that lessons made me see I was completely wrong.
He also thought me this, which became my mantra ever since:
LEARN, TEACH AND DELEGATE.
Thank you master EA for your knowledge.
PART I: https://devrant.com/rants/1483428/...1 -
I don't profess to know the whole story, but what is it with the (what seems to me to be) overly-fragile, cry-bully mentality of the Node.js community and its various branches? The current mess is not the first time strongly opinioned, overly zealous loud-mouths have driven the ship.
Throughout the history of time, teams/groups of people have been made up of different characters. Some are nice, some aren't really and everyone has varied characteristics. There seems to be a drive to completely flatten the behaviour, beliefs and attitudes of any sort of gathering, and it makes me so mad. Some people are so obsessed with their ideas of equality, diversity, inclusivity and safe spaces that they can't see how negative and discriminating those attitudes actually are.
I fully accept that certain behaviours should not be tolerated and should be called out. And communities and societies will organically decide what those are.
But when you raise an issue, approach it like grown up and thrash it out to a resolution - don't throw your toys out of the pram and put on a real public show, targeting and scapegoating other individuals when you don't get your way! This is childish and narcissistic. If this is your only course of action, you should realise you haven't a strong argument.
I've ranted here before about how the mainly social media discussions on any subject drive us all to extreme ends. And this is just another example. It's wrong and narrow minded and not remotely progressive - the opposite of what those who should loudest claim to be.3 -
Well... I can think of several bugs that I found on a previous project, but one of the worst (if not the worst, because the damage scope) it's one bug that only appears for a couple of days at the end of every month.
What happens is the following: this bug occurs in a submodule designed (heh) to control the monthly production according the client requirements (client says "I want 1000 thoot picks", that submodule calculates the daily production requirements in order to full fill the order).
Ideally, that programming need to be done once a week (for the current month), because the quantities are updated by client on the same schedule, and one of the edge cases is that when the current date is >= 16th of the month, the user can start programming the production of the following month.
So, according to this specific case, there's an unidentified, elusive, and nasty bug that only shows up on the two last days of every month, when it doesn't allow to modify/create anything for the following month. I mean, normally, whenever you try to edit/create new data, the application shows either an estimated of the quantities to produce, or the previous saved data. But on those specific days it doesn't show any information at all, disregarding of there's something saved or not.
The worst thing is that such process involves both a very overcomplicated stored procedure, and an overcomplicated functionality on the client side (did I mentioned that it dynamically generates a pseudo-spreadsheet with the procedure dataset? Cell by cell), that absolutely no one really fully understands, and the dude that made those artifacts is no longer available (and by now, I'm not so sure that he even remember what he done there).
One of the worst thing is that at this point, it's easier to handle with that error rather to redesign all of that (not because technical limitations, but for bureaucratic and management issues).
The another worst thing (the most important none) is that this specific bug can create a HUGE mess as it prevents the programming of the production to be done the next day (you know, people tends to procrastinate and start doing things at the very end of the day/week/month)... And considering that the company could lose a huge amount of money by every minute without production, you can guess the damage scope of this single bug.
Anyway, this bug has existed since, I don't know, 2015 (Q4?) and we have tried so many things trying to solve it, but that spaghettis refuse to be understood (specially the stored procedure, as it has dynamically generated queries). During my tenure (that ended last year) I spent a good amount of time (considering what I mentioned on the last rant, about the toxic environment) trying to solve that, just giving up after the first couple of weeks.
Anyway... I'm guessing that this particular bug will survive another 4-ish years, or even outlive the current full development team... But, who knows ¯\_(ツ)_/¯ ? -
A certain person here on devRant was annoyed about my phone being named “Beyond”, seeing a screenshot of my settings.
What they said: “the name, beyond, reeks pretentiousness and arrogance, you say you’re better than other people”
What really happened: during one of my manic episodes, I discovered the band named Death Grips. Their music resonated with me and helped me to cope with my derealization. In one of their songs, I misheard lyrics, and heard the word “Veyon” that was never there in the first place. Upon my inner voice pronouncing it, as it usually happens to me, a brand-new universe appeared before me, where Veyon was a name of a megacorporation that exists in a shaky spacetime plane somewhere in India. If you want to go there, three outcomes are possible: you can actually come to their building that appears to be normal, with people working inside you can talk to, and no signs of trouble in sight. Or, you can try to walk to their building, but you will never reach it. GPS will show you slowing down gradually as you get closer, but to you, it would look like you’re just walking with your regular speed, as if nothing happened. Like a function trying to reach its asymptote, you’ll never come to your destination. The third outcome is by far the most interesting one. You will reach the building, but it will be abandoned, with doors scattered on the floors randomly, some of them will disappear after you walk in, rendering you missing in this universe. Oh, and floors are guarded by robots and turrets, and they are made by Grumman, the military aviation manufacturer. Yes, Grumman, not Northrop Grumman. This building in the third outcome originates from the spacetime plane where Northrop and Grumman never merged.
The whole thing raced through my mind in a millisecond. I liked it and decided to squat the name, but it was already taken by Veyon open source software (Virtual Eye On Networks).
In some time, I bought a new phone second-hand, and named it Veyon. The next day, I took it to shower with me. It turned out that the seller lied to me about it never being fixed. It was, and in the process its water resistance was compromised. So, this phone was damaged beyond repair the next day I bought it.
The same day, I went and bought the same phone model, but brand new, and in black, as I originally wanted. I was grateful for this opportunity that helped me escape the situation where I would've been using the phone of the colour I disliked just because I cheapen out. I know myself, and I would’ve been feeling uneasy every day, hesitant to sell it and get a new one because “nothing is wrong with it, quit being this picky, it’s just a colour”, but wait, don’t I deserve to make the colour a significant enough reason to switch the phone because I care about colour, especially if it’s me who’s paying the money? Did I make this money rightfully, or am I an impostor who gets paid because of intricate lies I tell? Do I actually tell them, or do I make that up to somehow convince "them" I'm innocent? Or do I try to get attention?
I’m terrible at dealing with that kind of mess, So, I was grateful.
The only thing left to do was to name my new phone. I decided not to name it “Veyon” again, just in case. So, I named it “Beyond”, as this word is probably what the actual song said.
The monstrosity of a story above is the usual thing for me to feel. I was really hurt by you telling me the name I chose was a display of pretentiousness. Do I deserve to be pretentious? I say yes, but my voice is shaking, as flashbacks of my awful mother abusing me come in the way.
You hurt me with that comment. Let’s meet? :)2 -
Not really a rant (?)
I started my first programming job in January this year. I went there staight after Highschool, so i had no real experience, knew only the basics of software development and my written code was quite a mess. So one of my first real tasks (after 2 months) was to write a business logic for batch handling (for a warehouse management system). I invested quite some time to develop a suitable architecture, talked with some other developers and wanted to cover the whole thing with unit tests (which really nobody at the company uses). So I spent about 3 weeks to write the whole thing, test it and improve it many times. It worked perfectly and I got pretty good feedback from the code-review.
1 month ago - the code worked perfectly and was multiple times testet (also by the client) - the client came with some totally new requirements for the batch handling. I tried to impelemt them, but soon found out, that the architecture doesn't supported them, it was not build for the required handling and would soon become a totally mess, if i tried to make it work.
So I was pretty mad, because I had to change the whole fucking thing, but I also wanted to make it better. I hab gained some experience and decided (with some help of a senior dev) to make a completely new try with a different architecture, that can be easily expanded, if needed. I build my concept, wrote and tested the whole new code in 3 days. Fucking 3 days compared to the initial 3 weeks, and it worked, better and even faster.
I was quite pissed to delete the old code, and especially that i had wasted 3 weeks for it and had to struggle with many different things. But I lerarned so much from it and also in the months between, that I was also really glad that I had the opportiunity to write it again.
This whole thing made me now realize that this is, what I really like to do and what I'm good in. I really enjoy learning new things and for me, programming is the best and easiest way to do it. Despite alle the cons and annoying side effects of it, I really found my dream job here.1 -
So here's a rant I never thought I'd write.
I'm pretty happy with my current job. I'm working for a small non-tech business where I'm making a complete solution by myself. It's pretty chill just coding away all day and being my own project owner and manager.
The iffiest aspect is that my boss(es) don't know what (or if) I'm working on when I'm implementing a vital logging system, fixing bugs that cropped up due to implementing necessary, baseline security, and so on. They see a login page and figure the entire project is shippable, and when the login breaks because I'm configuring the wsgi for https the reaction is "it worked, why mess with it; just put it how it was". But I digress.
Today I got a job offer with a pay increase that made me exclaim "are you fucking serious" irl, in a business with a more professional environment consisting of senior devs, and with benefits I had never heard of.
I can't not accept, but that means just legacying the entire project I'm working on here. They'd basically be left with nothing after shelling out wages for me for these few months. Keep in mind this is a fairly small business who debated if they could afford this to begin with.
Disregarding whether they are willing/able to make it hard for me to leave, it stabs me in my scrubby dev soul to up and leave on a personal level.
They had a 3d printer at the other place though.15 -
I've got staff, I've got staff
And they bill time and a half;
Now I only write the gist you see
And they can code the rest
Open source, Fraying nerves
Smoothing out regression curves;
Try this framework, it's ambitious
It was made of spit and wishes.
Coffee rings, at first glance
But of course miss, he's freelance;
And this code base is a truly scary mess
I can't expand the menu
Even chance its home brew, unit test;
Unit test, unit test!1 -
!rant
What is something I can complete in a week (let's say 30-40 hours) as a newbie (I made an android app, played around with engines like unity and unreal here and there, tried some c#, and I always mess around with the linux command line, my RPi, etc etc)? I'll start working in a dual-studying job ('applied CS') in 2 weeks so I'll have enough learning-without-doing to do. I just want to learn something by doing something useful (e.g. a small android app that I can put ads in or sell, or maybe provide something for free that people like. I don't want to write my own engine( that'd take very long anyways) or make a compiler because I feel that'd be kind of useless and even though it'd probably be fun, I would lack initiative.5 -
Scaled custom help desk software across 5 school districts. Way harder than it sounds when you realize that we needed a tunnel to get an external site working, complex routing to get the servers to communicate with one another without exposing one districts network to the others. And I also made it auto deploy on a successful CI test. The only thing that really perfectly worked on the first try was the database (CockroachDB). Everything else was a complete mess of DNS and routing rules.2
-
During one of our 'pop-up' meetings last week.
Ralph: "The test code the developers are checking in is a mess. They don't know what they are doing."
ex.
var foo = SomeLibrary.GetFoo();
Assert.IsNotNull(foo);
Fred: "Ha ha..someone should talk to HR about our hiring practices. These people are literally driving the company backwards."
Me: "I think unit testing is complete waste of time."
- You could almost see the truck hit the wall and splatter watermelon everwhere..took Ralph and Fred a couple of seconds to respond
Fred: "Uh..unit testing is industry best practice. There is scientific evidence that prove testing reduces bugs and increases code quality"
Ralph: "Over 90% of our deployments are rolled back because of bugs. Unit testing will eliminate that."
Me: "Sorry, I disagree."
- Stepping on kittens wouldn't have gotten a worse look from Fred and Ralph
Fred: 'Pretty sure if you ask any professional developer, they'll tell you unit testing and code coverage reduces bugs.'
Me: "I'm not asking anyone else, I'm asking you. Find one failed deployment, just one, over the past 6 months that unit testing or code coverage would have prevented."
- good 3 seconds of awkward silence.
Ralph: "Well, those rollbacks are all mostly due to server mis-configurations. That's not a fair comparison."
Me: "I'm using your words. Unit tests reduces bugs and lack of good tests is the direct reason why we have so many failed deployments"
Boss: "Yea, Ralph...you and Fred kinda said that."
Fred: "No...we need to write good tests. Not this mess."
Me: "Like I said, show me one test you've written that would have prevented a rollback. Just one."
Ralph: "So, what? We do nothing?"
Me: "No, we have to stop worshiping this made up 80% code coverage idol. If not, developers are going to keep writing useless test code just to meet some percent. If we wrote device drivers or frameworks for other developers maybe, but we write CRUD apps. We execute a stored procedure or call a service. This 80% rule doesn't fit for code we write."
Fred: "If the developers took their head out of their ass.."
Me: "Hey!..uh..no, they are doing exactly what they are being told. Meet the 80% requirement, even if doesn't make sense."
Ralph: "Nobody told them to write *that* code."
Boss: "My gosh, what have you and Fred been complaining about for the past hour?"
- Ralph looks at his monitor and brilliantly changes the subject
Ralph: "Oh my f-king god...Trump said something stupid again ..."
At that point I put my headphones on went back to what I was doing. I'm pretty sure Fred and Ralph spent the rest of the day messaging back-n-forth, making fun of me or some random code I wrote 3 years ago (lots of typing and giggling). How can highly educated grown men (one has a masters in CS) get so petty and insecure?7 -
!!!rant
Most exited I've been about some code? Probably for some random "build a twitter clone with Rails" tutorial I found online.
I've been working on my CS degree for a while (theoretical CS) but I really wanted to mess with something a bit more practical. I had almost none web dev experience, since I've been programming mostly OS-related stuff till then (C). I started looking around, trying to find a stack that's easy to learn since my time was limited- I still had to finish with my degree.
I played around with many languages and frameworks for a week or two. Decided to go with Ruby/Rails and built a small twitter clone blindly following a tutorial I found online and WAS I FUCKING EXITED for my small but handmade twitter clone had come to life. Coming from a C background, Ruby was weird and felt like a toy language but I fell in love.
My excitement didn't fade. I bought some books, studied hard for about a month, learned Ruby, Rails, JavaScript, SQL (w/ pg) and some HTML/CSS. Only playing with todo apps wasn't fun. I had a project idea I believed might be somewhat successful so I started working on it.
The next few months were spent studying and working on my project. It was hard. I had no experience on any web dev technology so I had learn so many new things all at once. Picked up React, ditched it and rewrote the front end with Vue. Read about TDD, worked with PostgreSQL, Redis and a dozen third party APIs, bought a vps and deployed everything from scratch. Played it with node and some machine learning with python.
Long story short, one year and about 30 books later, my project is up and running, has about 4k active monthly users, is making a profit and is steadily growing. If everything goes well, next week I'll close a deal with a pretty big client and I CANT BE FKING HAPPIER AND MORE EXCITED :D Towards the end of the month I'll also be interviewed for a web dev position.
That stupid twitter clone tutorial made me excited enough to start messing with web technologies. Thank you stupid twitter clone tutorial, a part of my heart will be yours forever.2 -
tldr: I am a human with dreams and doubt.
At the Univeristy you end your course of study with a thesis, and there are two kind of thesis: compilative and progettual.
Compilative means that you study something and then make a report about it. Usually I see that this kind of thesis is done by people who just want to end the course.
Progettual means that you actually develop something, maybe driven by a professor, doing something new, or try something in a different way to see if it works... This is for the good guys.
but mine does not fit any of those.
I studyed a lot about some topics, I learned to use the existing tools, I learned to decide which tool is better and when. I learned the open problems in the field. And my thesis is an analysis for a solution for some of them. I did not develop a project, but I didn't just study something. And I am giving the base for a much bigger project.
And I did everything on my own, the prof who is supposed to drive my work let me go on, and I never really asked for his help.
Obviously everything is a mess, the thesis describes broadly a large range of things, who are outside my course, and I am just copying from here and there (avoiding wikipedia because I would be ashamed of that) (I mean, I avoid wikipedia and jump directly to the source).
I actually made a little project from the conclusion of my analysis, but it is more of a mistake than other.
And maybe I am writing this to grow my pride, and avoid depression. To tell me I am not a total failure. Or maybe am I really good as I dream to be? (because that is how pride works, doesn't it?)
I intented a new kind of thesis! Ah!
I will see the prof on wednesday and the deadline is on saturday! I will let you know!
and oh!I am writing it in english so you can read it!
Just kidding, I don't give a fuck about anything anymore, I just want to end this mess, and in english is easier to copy.
I learned from this big mistake of a thesis, next time I will make sure that the prof drives me, because I am 20 and cannot do an analysis such complex on my own.
becauuuuseeee yes! There will be a next time! I am graduating in december, but I am following the master courses since september! In january the first exams! I am practically already thinking about the next thesis. Suggestion on other mistake to avoid?
Did you know James Joyce and the stream of consciuosness? Well, here it is.
I may have spelled something wrong, I hope everything is undestandable.
wow, 2500 characters of rant, I am improving writing the thesis in english!
mngr, out.1 -
//First rant
So I've been working trying to get a file exporter for a binary file format mostly reverse engineered - 2001 Super Monkey Ball 2 (GameCube) if anyone's interested.
Everything works fine, goals show up in the right places, wormholes work as intended, etc. That is everything, except every single level you create will be invisible, or crash (Depending on which version of Dolphin emu you use).
This happens whenever trying to specify object names for 3D objects. I checked, all the many offsets seem correct, Object names are correct. Tried both null terminated strings and fixed 80 character strings - nothing.
Some other guy also made an exporter that works, however the code is an absolute mess - basically unreadable. It also lacks some newer parts of the file spec, which is the main reason as to why I'm rewriting it.
And as I'm working with an almost entirely unheard of file format, there are few people to go to for help. The 2 I know who are also familiar with the LZ file format have no idea either...
Sigh.1 -
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
How do you get over the bad times? I keep having to work with shitty legacy systems that were written in perl and flash in the 90s, but my boss keeps telling me "No" on redoing some of the bigger stuff even though it is really needed. I mean, that is your goal here, right? Rebuilding this POS? FFS you still stored passwords in plain text twoo weeks ago! But no, you's rather dig around in Perl than upset some random user because his fucking interface looks different.
But then I also have to work with another system that I could redo in Cake/Laravel in two weeks (it's literally getting and writing data to one table, so two views and user auth), and the previous dev just... made a huge mess. I mean, why would you need to post data asynchronously when it's this one stupid form ? Just do a regular form submit? And the system is really not suitable for extending, because everything is in the database, EVERYTHING! Like, html form inputs? So to add a simple input to the template I have to create a new input type in the types table and then add that to the form structure table? Only to have the input checked by fucking regex? REGEX! Why? Seriously, this is not some high end CMS that needs this level of code reusability No. This is a simple fucking form.
And I can't get it to work. No documentation of course. No comments, either. All of this makes me feel like I'm just the shittiest dev ever. I feel dumb, and useless. Haven't turned on my private PC in weeks because I see no reason to work on any of my own stuff.
I used to have a job, working with Magento and Wordpress. And yeah, it was horrible, it was chaos, but it was fun and I was great at it. I bent that motherfucking system to fit my needs. People respected my opinion, they were convinced I could program this and that, and I proved them right. Did I make mistakes? Hell yeah. Did I give up? Fuck no!
But now, I just feel like I can't even write a simple fucking form any more. I'm just so close to giving up on development as a whole, even though I love it so much.5 -
TLDR; College group projects suck, not because the work, but the people in your group will make or break you. Fuck having 1 week to do this assignment.
Sometimes working with other students on group projects is great, they actually know how to create a merge a git branch. I've had a decent partner once during my 3 years at university so far. This last project takes the cake on idiots I've worked with...so far at least... It was me and two others, we'll call them Thing1 and Thing2 for now. Anyway so the 3 of us had a week to implement a very rudimentary Invoice system; fine, easy enough. We divided up the work and 'started'.
All seemed to be going well, no complaints or cries for help all week. Until 4 hours before we submit the assignment; Thing 1 sends me a DM saying all of Thing 1's work is useless full of bugs and just shouldn't be integrated with the rest of the code. Umm fine? I guess? wtf?! why did this have to come out last minute?! We could have explained to Thing 1 what's going on and gotten him/her up to speed on everything. Believe it or not, I was sorta ok with this? I mean thing 1 hadn't pushed anything to the repo yet. I mean literally nada, Thing 1 is a collaborator on the repo that has contributed nothing. Seeing as how Thing 1 was contributing nothing I had already started to cover our ass a began Thing 1's work.
That's not even what's pissed me off... at least thing 1 had the gall to message me to say "idk..wtf is going on...continue without me". Thing 2 arguably made my time with the project worse. His code was nothing but garbage...every time...literally spent more time deciphering his incoherent bullshit more than I did rewriting his mess. I shit you not he wrote out this method, and tells the group he's "finally got it fixed and working":
public static float updateTotal(float newValue)
{
total = updateTotal(newValue);
return total;
}
How tf did he test this to see if its working?! I'm a novice and can already see the infinite loop here. You called your method within that method's own definition, what did you expect to happen.
I managed to get things 75% working and turned in 5 mins before the cut off.
Thankfully Thing 1 emailed the Proff as well, hopefully he won't tank my grade too bad. I'm so glad to be done with this assignment, fingers crossed there's no more group work.4 -
For the first time in my life I removed a wrong commit with git rebase and I did not made a mess.
More then 10 years of using git and keep learning.6 -
just found out a vulnerability in the website of the 3rd best high school in my country.
TL;DR: they had burried in some folders a c99 shell.
i am a begginer html/sql/php guy and really was looking into learning a bit here and there about them because i really like problem solving and found out ctfs mainly focus on this part of programming. i am a c++ programmer which does school contest like programming problems and i really enjoy them.
now back on topic.
with this urge to learn more web programming i said to myself what other method to learn better than real life sites! so i did just that. i first checked my school site. right click. inspect element. it seemed the site was made with wordpress. after looking more into the html code for the site i concluded all the images and files i could see on the site were from a folder on the server named 'wp-content/uploads'. i checked the folder. and here it got interesting. i did a get request on the site. saw the details. then i checked the site. bingo! there are 3 folders named '2017', '2018', '2019'. i said to myself: 'i am god.'
i could literally see all the announcements they have made from 2017-2019. and they were organised by month!!! my curiosity to see everything got me to the final destination.
with this adrenaline i thought about another site. in my city i have the 3rd most acclaimed high school in the country. what about checking their security?
so i typed the web address. looked around. again, right click, inspect element and looked around the source code. this time i was more lucky. this site is handmade!!! i was soooo happy because with my school's site i was restricted with what they have made with wordpress and i don't have much experience with it.
amd so i began looking what request the site made for the logos and other links. it seemed all the other links on the site were with this format: www.site.com/index.php?home. and i was very confused and still am. is this referencing some part of the site in the index.php file? is the whole site written inside the index.php file and with the question mark you just get to a part of the site? i don't really get it.
so nothing interesting inside the networking tab, just some stylesheets for the site's design i guess. i switched to the debugger tab and holy moly!! yes, it had that tree structure. very familiar. just like a project inside codeblocks or something familiar with it. and then it clicked me. there was the index.php file! and there was another folder from which i've seen nothing from the network tab. i finally got a lead!! i returned in the network tab, did a request to see the spgm folder and boooom a site appeared and i saw some files and folders from 2016. there was a spgm.js file and a spgm.php file. there was a contrib, flavors, gal and lang folders. then it once again clicked me! the lang folder was las updated this year in february. so i checked the folder and there were some files named lang with the extension named after their language and these files were last updated in 2016 so i left them alone. but there was this little snitch, this little 650K file named after the name of the school's site with the extension '.php' aaaaand it was last modified this year!!!! i was so excited! i thought i found a secret and different design of the site or something completely else! i clicked it and at first i was scared there was this black/red theme going on my screen and something was a little odd. there were no school announcements or event, nononoooo. this was still a tree structured view. at the top of the site it's written '!c99Shell v. 1.0...'
this was a big nono. i saw i could acces all kinds of folders. then i switched to the normal school website and tried to access a folder i have seen named userfiles and got a 403 forbidden error. wopsie. i then switched to the c99 shell website and tried to access the userfiles folder and my boy showed all of its contents. it was nakeeed naked. like very naked. and in the userfiles folder there were all, but i mean ALL files and folders they have on the server. there were a file with the salary of each job available in the school. some announcements. there was a list with all the students which failed classes. there were folders for contests they held. it was an absolute mess and i couldn't believe it.
i stopped and looked at the monitor. what have i done? just to learn some web programming i just leaked the server of the 3rd most famous high school in my country. image a black hat which would have seriously caused more damage. currently i am writing an email to the school to updrage their security because it is reaaaaly bad.
and the journy didn't end here. i 'hacked' the site 2 days ago and just now i thought about writing an email to the school. after i found i could access the WHOLE server i searched for the real attacker so if you want to knkw how this one went let me know in the comments.
sorry for the long post, but couldn't held it anymore13 -
Have you ever had to fire someone? or get someone fired?
I’m thinking about a time when I should have made sure a guy was fired.
He had no business leading a project, and I knew this early on when he suggested connecting a public frontend straight to a clients’ ERP.
I wasn’t on his project but I ended up cleaning up his mess when shit hit the fan.2 -
I am trying to reverse engineer a fingernail hardening device for rapid hardware prototyping (becoming some kind of hardware developer I guess)
Since it is a fucking mess (all cables are black) they've chosen a weird construct to operate microcontroller on 240Vac (seems to be possible and made in very low energy consuming devices) i do not find any datasheet for one of the used products. It would help a lot but no. And messing around with high voltage is no fun.
I'm unsure if this fits as a dev rant since most/all I've read so far are software-related.9 -
So this web company i joined had a page load time in minutes. The free text search (inverted index search, based on elasticsearch) queries would return results in 10-45 seconds (should be milliseconds always). The indexes had no schema. And they would crawl data and feed into mssql db, which had a 2 gb/db limit on the free version. So everytime the db hit the limit, a new db was created and the name was incremented by one.
Had a very tough time cleaning up that mess. Plus the architect who had made this architecture was on his way out and unhelpful to the core.
What was worse was that most of the changes i did were very simple changes that should have been done long back. Basic sanity changes.4 -
they say everything "old" is better, but in programming, dependencies in C was a mess. Shut up. Sometimes C is a cult enforced by those who don't even write in C. Now I build my projects with Parcel in less than a second with no configuration. It uses a full-blown AST for everything. If I want more performance with similar DX, I use fastpack, bringing build time down to tens of milliseconds.
art? charli xcx, sophie xeon, death grips, just to name a few. they made things that weren't imaginable before, ultimately pushing music forward. Hendrix is good but they're just incomparable in terms of beauty, complexity and sophistication.
literature? every old book I read feature same conflicts. they are so similar it's almost boring to read them. meanwhile, Erlend Loe delivers a complex idea without using a conflict (!) and without any character changes. that's insane.
"older is better" is getting old. it's time for you to seek for some other reusable gibberish to insult what other people create.
finally, let me remind you that you, my friend, create nothing.46 -
Today I could finally spend some time reviewing the merge requests an intern made (and I occasionally helped).
My god, I want to put it this months amount of work an, put it in a trash, burn it and rewrite it before the fire is gone.
5 small and unrelated issues. The intern used branches with the correct naming scheme, but IT'S A FUCKING STRAIGHT LINE BUILDING ON TOP OF EACHOTHER.
Oh ans also they took the liberty to update the dependencies and the language versions used. There was no issue regarding this. It's the first branch in the line and it was called "update_<dependency>" where they just upped the version numbers of everything and then COMMENT OUT all mentions of <dependency> so that it compiles at the very least.
Now today I spend most of my time reviewing the code by fixing that mess. Thanks to updates I had to update the CI and replace some libraries that are now incompatible. Tomorrow I can finally inspect the shit itself.
On a positive side node, I removed node as a dev dependency and the size of the node modules went down from 128mb to 18mb4 -
!rant
Oh I forgot to tell y'all that I've got a research internship at IIT Indore for these summers
IIT is India's Governmental Engineering college and is highly respectable
I know a few people here who study at IITs, but Yay! I got a nice and good internship which will actually tell me how to proceed in research and not do a mess of shit like I did last year's summer holidays and also made so bad of a relation with one of my professor that I can't even look in his eyes whenever he is nearby me
(Although I had to pay for this internship. New IITs need the intern to pay.)
Wish me luck guys
BTW more good news *might* be coming up2 -
The datepicker saga
Part one
So I begin work on a page where user add their details, project is late, taking ages on this page
Nearly done, just need a component to allow users to put in some date of births. Look for react components.
Avoiding that one because fuck Bootstrap.
Ah-ha, that looks good, let's give it a go.
CSS doesn't exist, oh need copy it over from npm dist. Great it applied but...
... WTF it's tiny. Thought it was a problem with my zoom. Nope found the issue in github.com and it's something to do with using REM rather than EM or something, okay someone provided a solution, rather I saw a couple of solutions, after some hacking around I got it working and pasted it in the right location and yes, it's a reasonable size now.
Only it's a bit crap because it only allows scrolling 1 month at a time. No good. Hunting through the docs reveals several options to add year and month drop downs and allow them to be scrolled. Still a bit shit as it only shows certain years, figure I'd set the start date position somewhere at the average.
Wait. The up button on the scroll doesn't even show, it's just a blank 5px button. Mouse scroll doesn't work
Fucking...
... Bailing on that.
Part 2
Okay sod it I'll just make my own three drop down select boxes, day, month and year. Easy.
At this point I take full responsibility and cannot blame any third party. And kids, take this as a lesson to plan out your code fully and make no assumptions on the simplicity of the problem.
For some reason (of which I regretted much) I decided to abstract things so much I made an array of three objects for each drop down. Containing the information to pretty much abstract away the field it was dealing with. This sort of meta programming really screwed with my head, I have lines like the following:
[...].map(optionGroup =>
optionGroup.options[
parseInt(
newState[optionGroup.momentId]
, 10)
]
)...
But I was in too deep and had to weave my way through this kind of abstract process like an intrepid explorer chopping through a rain forest with a butter knife.
So I am using React and Redux, decided it was overkill to use Redux to control each field. Only trouble is of course when the user clicks one of the fields, it doesn't make sense in redux to have one of the three fields selected. And I wanted to show the field title as the first option. So I went against good practice and used state to keep track of the fields before they are handed off to the parent/redux. What a nightmare that was.
Possibly the most challenging part was matching my indices with moment.js to get the UI working right, it was such a meta mess when it just shouldn't have taken so stupidly long.
But, I begin to see the light at the end of this tunnel, it's slowly coming together. And when it all clicks into place I sit back and actually quite enjoy my abysmal attempt at clean and easy to read code.
Part 3
Ran the generated timestamp through a converter and I get the day before, oh yeah that's great
Seems like it's dependant on the timezone??!
Nope. Deploying. Bye. I no longer care if daylight savings makes you a day younger.1 -
I have had to work on a project with a pc104 stack running yocto. I have had this since December last year and the image has always just randomly crashed 🤔. Yesterday I found out why!!
I am able to read the sensor of the cpu temp this has never been over 60/70 degrees C (yes I am English), however after running multiple tests and finally hitting my last wits I made the Kernel output over serial as no msg was shown on crash.
The company we have got the HW from always said this board won't over heat it throttles the cpu blag bla bla... And you guessed it in the mid of nothing but mess was a message "thermal_zone0 critical temp 127 degrees shutting down"
I didn't know if I was happy or about to cry as I didn't know if after working on this project for the last 6months I was back to the drawing boards as I need new HW or my gut at the start of not trusting the Company we are using!
Needless to say I have no idea what Monday will bring, I will keep you all posted as we all do care!
Much love
Jim -
I am a fresher in web development. I have already learnt to use nodejs, react, angular, vanilla js and made many projects. Majority of the work I feel is just CRUD based, sure there are some exciting things but they are only of a small percentage.
All that innovation HAPPENING is just glorified way of making a CRUD APP ONLY.
Oh mvc worked great on server side let's bring it to client side
OH mvc is such a mess, who thought about doing this.
Oh react redux is so revolutionary let's remake our app using it,,
Oh es6 fuck yeah, Babel, webpack sure, now my crud app is super performant.
Oh graphql, motherfucking cutting edge CRUD APP......
I need to know what's next, is there any breaking of this cycle11 -
The Coding Apocalypse: A Dev's Rant
June 14, 2024
Okay, gather ’round, fellow code warriors, because it’s time for a good ol' developer rant. If you're reading this, chances are you’ve already faced the dragon that is modern software development, and you’re somehow still using "Agile" as a life preserver while the ship is sinking. So let's dive into the chaos that our world has become.
Here’s the thing: We’re living in a paradox where every other day there's a shiny new framework promising to be the “ultimate solution” while ignoring that it's just recoil from the last big mess. I mean, can we talk about JavaScript for a second? I’m pretty sure if you stand still long enough, a new JavaScript framework will spontaneously generate from the void. Do we really need another one?
And don’t get me started on Sprint Planning. It’s like playing Tetris with stones while blindfolded, hoping that all the blocks land perfectly. Spoiler: They don’t. The product manager’s eyes glaze over as they nod approvingly to your estimates, secretly extending deadlines in their minds. The 'flexible' deadlines then become rigid, unattainable goals, and who gets the heat? The devs, of course.
Also, can we address the insanity of microservices? Sure, splitting a monolith into microservices sounds fun—until you’re drowning in API calls and Docker containers. Debugging a distributed system is like trying to untangle a pair of headphones made of spaghetti.
Oh, and if one more person asks if we’re "leveraging AI" and "blockchain technology" for our simple CRUD app, I might lose it. Sometimes, folks, the wheel doesn’t need reinventing. It just needs a little grease.
Finally, remote work. Blessing and curse. Sure, I enjoy the freedom of working in my PJs, but the endless Zoom calls are killing my soul. Breakout rooms? More like breakdown rooms. The Slack notifications? Let’s just say my sound settings have a hair trigger on mute these days.
So here’s to us, the devs. The ones who stare into the abyss of JIRA tickets and laugh in the face of mounting tech debt. May your coffee be strong, your code refactored, and your deployments ever in your favor.
End rant. Back to the trenches. 🚀💻6 -
I have been given the displeasure of updating a company's WordPress website which was built and (sort of) maintained by another company which ended up closing down. NOTHING WAS DOCUMENTED. Almost no comments added anywhere. Not even a description of the what a particular file does. File names are basically completely random. There are 3 versions of the same theme this company made and no indication of which one is actually being used. On top of this; they used plugins and modified them, so they cant even be updated without them breaking. As well; after looking around it seems they used jQuery mixed with Angular (or maybe the plugin creators did this?). The website isnt mobile friendly either; one of my tasks was to see what I could do with fixing this. Seems basically impossible based on the complete mess of a project this is.
All this being said, I just graduated from Post Secondary and have almost no experience working with WordPress, There arent even other developers to help assist me on this project.....
Gonna be quite the experience.1 -
Angular 2+, it's just so elaborate, and over the top complicated. On larger projects it easily becomes a mess. I started a new job where I inherited a angular 2+ project, that is terribly made, it's so frustrating. I now use Vue.js 2, and it's just so beautiful, especially single file components :D1
-
Why the fuck nobody talks about Multi-page apps?! We went from a Web where everything was Multi-page server-rendered, and now everything for Web developers is "Single-page apps".
What about websites who can't do that? Not everything can be a single-page app. Only my uncle's restaurant website, or something which is TRULY a full app. No half choices.
If your website is a multi-page app/portal which actually PRELOADS data, instead of doing 100 fetch to an API within a page that is full of loading bars, well, your life is a pain.
When you want a first contentful paint which isn't a white page, well, your life is a pain.
What are React, Vue, Ember, Angular (let's exclude Svelte and Marko) going to do about Multi-page apps and SSR?
React-router sucks to me. It's performance is weak and it's useful only when you have an SPA with multiple sections which can be treated as pages (e.g. A single SPA divided in tabs).
Server-side rendering is the worst pain ever made by humanity, in React (and prob Vue, I didn't try but I can bet). And even when made easier from libs like Svelte and Marko, I (personally) can't get it to be faster enough compared to a traditional website without a JS framework and with a templating engine.
Anyways, if there's anything that I learnt from React, is to stay away from Next.js. Perfect, beautiful, mess.
All JS frameworks just seem to bloat the code and make it worse and slower, even though they're REALLY helpful.
Why? Why everyone loves them if their downsides are so clear? Why 3 projects out of 3 I made (1 React SSR, 1 Vue, 1 Marko SSR) are and will stay painfully slow and bloated, full of shit, even if in 2020 we should have evolved with the famous three shaking, with the famous lazy loading, etc.?
I am just frustrated.
And let's not even talk about Webpack, Rollup, Lasso, those module bundlers shit which are harder to configure and understand than finding a needle in a haystack.
Lasso was the easiest to configure but I anyways can't understand it. Webpack seems it was made to handle SPAs, as any tool in this freaking world, and not even considering an easy way to integrate multiple bundles for multiple pages (I know it's pretty easy, but with component sharing between pages and big unique bundles Next.js handles it soooo bad it feels like hell).
Am I the only one?
Sorry for the long rant. I just needed to rant right now.17 -
I just started but I'm already tired.
For some years I have worked in the industry, not a lot, I know right but I really wonder how do you deal with all "not code-related" bullshit.
IT should be a dynamic field but somehow it is stuck inside the business logic which is all about the money and that does not take care of the real matter which is "code engineering".
- Most of the projects I have seen are an utter mess.
- No real structure
- Code is literally thrown somewhere to make stuff works and fix bugs
- Features which should require X amount of time are planned and shipped earlier ignoring best practices.
- The customer changes idea every week
- Nobody wants to pay for a reasonable architecture but prefer to keep financing un-maintainable projects that only God knows where they have been made (presumably in Hell)
- Juniors devs with no real senior following them committing unreasonable stuff
- Seniors devs thinking they are but they aren't.
- Company that keeps delivering projects even if they have not the required amount of people to make it in time.
Seems like nobody wants to stop and take time to think and make the right decisions. I see people running around me like crazy ants.
But, above all, what really kills me deep inside is HR. You are looking for "dynamic" "talented" "cool" devs but you are not willing to pay them enough.
Should I talk about LinkedIn?
Oh, God... Even the worsts companies sound like they are into Fortune 500. I feel so much hypocrisy here.
I have worked for big and small IT companies.
In the end, is all about "inside politics", everything which is getting financed is not because of usefulness but because of "relationship".
I started coding when I was really young.
After ten and more years, I finally take the job of my dreams but everything is shuttering under my feet.
If you have some words of wisdom, I'm here to hear you.
PS.
I'm not a native English speaker, I apologize for any mistake.6 -
The year was 2006. During the first half of my career, I use to work in the NOC. This was before I made my transition to software engineer. I worked on the third shift for a bank services company. The company was on a down turn. Just years earlier they just went public, and secured a deal with a huge well known bank. Eventually they entered a really bad contract with the bank and was put into a deal they couldn't deliver on. The partnership collapse and their stock plummeted. The CEO was dismissed, and a new CEO came in who wanted to "clean things up".
Anyway I entered the company about a year after this whole thing went down. The NOC was a good stepping stone for my career. They let me work as many hours as I liked. And I took advantage of it, clocking in 80 hours a week on average. They gave me the nick name "Iron Man".
Things started to turn around for the company when we were able to secure a support contract with a huge bank in the Alabama area. As the NOC we were told to handle the migration and facilitate the onboarding.
The onboarding was a mess with terrible instructions that didn't work. A bunch of software packages that crashed. And the network engineers were tips off, as they tunnel between our network and the banks was too narrow, creating an unstable connection between us and them. Oh, and there were all sorts of database corruption issues.
There was also another bank that was using an old version of our software. The sells team had been trying to get them off our old software for over a year. They refuse to move. This bank was the last one using this version, and our organization wanted to completely cut support.
One of the issue we would have is that they had an overnight batch job that had an ETA to be done by 7 AM. The job would often get stuck because this version of the software didn't know how to fail when it was caught in an undesired state. So the job hung, and since the job didn't have logging, no one could tell if it failed unless the logs stopped moving for an hour. It was a heavily manually process that was annoying to deal with. So we would kill the JVM to "speed" the job up. One day I killed the JVM but the job was still late. They told me that they appreciated the effort, but that my job was only to report the problem and not fix it.
This got me caught up in a major scandal. Basically they wanted the job to always have issues everyday. Since this was critical for them, all we needed to do was keep reporting it, and then eventually this would cause the client to have to upgrade to our new software. It was our sales team trying to play dirty. It immediately made me a menace in the company.
For the next 6 months I was constantly harassed and bullied by management. My work was nitpicked. They asked me to come into work nearly everyday, and there was a point I worked 7 days with no off days. They were trying to run me so dry that I would quit. But I never did.
On my last day at the company, I was on a critical call with a customer, and my supervisor was also on the line. My supervisor made a request that made no sense, and was impossible. I told her it wasn't possible. She then scalded me on the call in front of customers. She said "I'm your supervisor, you're just a NOC technician, you do what I say and don't talk back". It was embarrassing to be reprimanded on a call with customers. I never quite recovered from that. I could fill myself steaming with anger. It was one of the first times in my adult life that I felt I really wanted to be violent towards someone. It was such a negative feeling I quit that day at the end of my shift with no job lined up.
I walked away from the job feeling very uncertain about my future, but VERY relieved. I paid the price, basically unable to find a job until a year and a half later. And even was forced to move back in with my mother. After I left, the company still gave my a severance. Probably because of the supervisor's unprofessional conduct in front of customers, and the company probably needed to save face. The 2008 crash kept me out of work until 2009. It did give me time to work on myself, and I swore to never let a job stress me out to that degree. That job was also my last NOC job and the last job where did shift work. My next few jobs was Application Support and I eventually moved into development full time, which is what I always wanted to do.
Anyway sorry if it's a bit long, but that's my burnout story. -
Besides assorted craft materials and PC my desk has a dual purpose crocheted rubber duck: it serves as a pin cushion and my debugging friend! I made him and he has lived there since my first year of university.
I also keep a mug from my university, scented candles, notepad and pen (for all my tech savvy-ness, quick notes are still better handwritten) and whatever crafty project I'm working on.
My desk is honestly a mess (I have to clear it ~three times a week to have any space to work on) but they say creative people have messy workstations so I take my inability to keep an orderly environment as an expression of my creativity. -
This is another high school story. mostly because i’m in high school.
like most schools we have horrible forced passwords. Our school recently purchased microsoft 365. which means we all use outlook for our emails. the logins for our district follow the sand format.
s + first five of last name (x’s for missing letters) + first letter of your first name + the last three of your student id.
so for example Sean Peterson 456705 would be speters705. since we have outlook we can look up a persons name and get their email which gives you the last three of their password. All passwords start with a 4 and most are followed by a five so you pretty much can get 5 out of the 6 numbers in their password.
so to mess with my friends i signed into all of their accounts and messed with their emails so they thought they were getting random emails. and then i made word documents on all of their accounts and just pretty much messed with all of their school stuff.
so that’s my “hacking” story. my district doesn’t allow you to change your password so i’m pretty much stuck. pls help.4 -
I just scroll past this question asking how to get good at Git commands (https://devrant.com/rants/9997784/...). Figured I'd share my thoughts as a separate rant cause it's a topic I've tinkered with a bit.
So, My initial engagement with git-related queries on StackOverflow dates back to around 2021.. Surprisingly, one of my short and straight-to-the-point replies got a hand full of attention. You can check it here: https://stackoverflow.com/a/...
Now, about mastering Git commands – from my own trial and error:
1). Instead of trying to cram everything into your big brain, scribble down notes. Trust me, it’s more practical. I kept a cheat sheet of sorts as notes on my PC, noting down the commands I used day in, day out. Super handy beyond just work stuff.
2). You gotta get what each command does, but you don't need to nail it all at once. Spend a day diving into the basic commands. Leave the trickier ones for later; they start making sense as you get more into it.
3). I had this aha moment when dealing with a merge mess using a GUI tool. Switched to the command line, and bam! It made way more sense. The command line's like a secret passage to really understanding Git.
So, if you're wondering how to tackle Git commands, my take is: *notes, *baby steps, and *lean into that command line magic. Mix them up your way and see what sticks for you!1 -
Today, I have installed/uninstalled a combination of [windows 7, arch linux, dual-boot] a total of 9 times...
I wouldn't be surprised if my 120G SSD fails next week
It all started when I had to whip up a GUI-wrapped youtube-dl based program for a windows machine.
Thinking a handy GUI python library will get it done in no time, I started right away with the Kivy quick-start page in front of me.
Everything seemed to be going fine, until I decided it would be "wise" to first check if I can run Kivy on said windows machine.
Here I spent what felt like a day (5 hours) trying to install core pip modules for kivy.. only before realizing my innocent cygwin64 setup was the reason everything was failing, and that sys.platform was NOT set to "win32" (a requirement later discovered when unpacking .whl files)
"Okay.. you know what? Fuck........ This."
In a haze of frustration, I decided it was my fault for ever deciding to do Python on windows, and that "none of this would've happened if I were installing pip modules on a Linux terminal"...
I then had the "brilliant" idea of "Why don't I just use Linux, and make windows a virtual machine within, for testing."
And so I spent the next hour getting everything set up correctly for me get back to programming.... And so I did.
But uh... you're doing GUI stuff, right? -> Yeah...
And you uh.. Kivy uses OpenGL on windows, doesn't it? -> Yeah..?
OpenGL... 2.
-> Fuck.
That's when I realized my "brilliant" idea, was actually a really bad prank. Turns out.. I needed a native windows environment with up-to-date non-virtual graphics drivers that supported at least OpenGL2 for Kivy GUI programs!
Something I already had from square 1.
And at this point, it hurts to even sigh knowing I wasted hours just... making... poor decisions, my very first one being cygwin64 as a substitution for windows cmd.
But persistent as any programmer should be in order to succeed, I dragged my sorry ass back to the computer to reinstall windows on the actual hardware... again.
While the windows installer was busy jacking off all over my precious gigabytes (why does it need that much spaaace for a base install??? fuck.). I had "yet another brilliant idea" YABI™
Why not just do a dual-boot? That way, you have the best of both worlds, you do python stuff in Linux, and when it's time to build and test on the target OS, you have a native windows environment!
This synthetic harmony sounded amazing to the desperate, exhausted, shell of a man that I had become after such a back-breaking experience with cygwin
Now that my windows platter with a side of linux was all set-up and ready-to-go, I once again booted up windows to test if Kivy even worked.
And... It did!
And just as I began raising my victory flags, I suddenly realized there was one more thing I had to do, something trivial, should take me "no time" to do, being in a native windows environment and all.................... -.- (sigh)
I had to make sure it compiles to a traditional exe...
Not a biggy, right? Just find one of those py2exe—sounding modules or something, and surprisingly enough, there was indeed a py2exe—sounding module, conveniently named... py2exe.
Not a second thought given, I thought surely this was a good enough way of doing it, just gonna look up the py2exe guide and...
-> 3 hours later + 1 extra coffee
What do you meeeeean "module not found"? Do I need to install more dependencies? Why doesn't it say so in the DAMN guide? Wait I don't? Why are you showing me that error message then????
-------------------------------
No. I'm not doing this.
I shut off my computer and took a long... long.. break.
Only to return sometime the next day and end up making no progress, beating my SSD with more OS installs (sometimes with no obvious reason to do so).
Wondering whether I should give up Kivy itself as it didn't seem compatible with py2exe.. I discovered pyInstaller, which seemed to be the way Kivy wants exe's to be made on windows..
Awesome! I should've looked up how Kivy developers make exe's instead of jumping straight into py2exe land, (I guess "py2exe" just sounded more effective to me then)
More hours pass, and you'd think I'd have eliminated all of my build environment problems by now... but oh, how wrong you'd be...
pyInstaller was failing, and half the solutions I found online were to download some windows update KB32946..whatever...
The other half telling me to downgrade from Python 3.8.1 to Python 3.8.0000.009 (exaggeration! But you get the point)
At the end of all that mess, I decided it wasn't worth some of my lifespan, and that maybe.. just maybe.. it would've been better to create WINDOWS GUI with the mother fuc*ing WINDOWS API.
Alright, step 1: Get Visual Studio..
Step 2: kys
Step 3: kys again.6 -
We have this guy at the company who always presents good ideas and always suggests new projects. One day he suggested a great project, our boss really liked the idea and gave me the green light to start creating it.
The guy, seeing the opportunity to promote himself, and without consulting me about the deadline, set up a meeting to present the application to the directors, and only then informed me about the deadline. At that moment I did my part, told him that it would not be possible to meet the deadline with all the requirements, something had to be withdrawn, and that's what he did, took a lot of things from the project and we went on like this.
While I was implementing the application, he was always pushing, asking me to do it faster, asking my boss to put me exclusively in his project, and things like that, the boss was always saying that there were not enough people on the team to devote someone exclusively to the project. The guy of course did not agree with that.
At the end the application, without a lot of the initial requirements, was a really mess but ready, he presented to the directors, who in turn liked a lot, and consequently asked to do all the initial requirements and some more. But now those initial requirements had to be made on top of a mess because of all the rush and adaptations.
A few months later, with the change of the board, the guy turned up being my boss, and I've prepared myself to go back to his project with exclusive dedication.
Then came the surprise, when the guy, in the boss position, realized the limitations of the team, instead of putting me to do everything he wanted in that project, he canceled the project entirely and for all the reasons that had already been said to him by the former boss.
Please, don't be like that guy!2 -
the irony appears to be that JavaScript is more consistent than rust
so let's say you want to create some enums to represent some potential values in a REST JSON payload
well you can implement Display trait but that won't determine the JSON output
you can make a as_str() method and that doesn't even make sense frankly, I guess it's not even a trait even though it's everywhere in the std library? (traits being rust's version of interfaces, so you'd think they should be consistent)
I have a halfway urge to say rust was a beloved language but then the foundations' drama made everyone escape the ship, leaving behind a mess
well evidently the answer is you use the stupid annotations:
enum Lang {
#[serde(rename = "en-US")]
EnUS,
}
well then this only works in serialization with serde. way to go.
how about if I have some JSON data that starts with numbers? I have an interval field in the REST that expects things like 1m, 15m denoting time scale
well no deal
because rust doesn't want enums starting with numbers
and here I thought rust was superior with its static typing. but I am having to rename things all the way down and nothing is consistent. this would be so trivial in JavaScript. and there's only one toString() method! and no interfaces people say you should use while nobody uses them!87 -
Keyboard layouts/localization seem like something went horribly wrong and nobody decided to clean up the mess.
And now we have multiple layouts where the fucking alt key doesn't even work exactly the same between them, how is that even possible? And who thought it was a good idea to differentiate between left and right alt, shift and control keys, leading to subtle issues nobody asked for?
In Vim I made a keyboard shortcut with alt and on the British layout it only works with the left alt key, on the US layout on both. Wat. -
I start reading about it, from their website, forums, blogs, etc.
Next thing I usually do is to take a look at stuff made of that tech and mess around to see what it looks like.
Then I pick a book about the subject, set up the basics and start from the very beginning, even if the prologue starts with "programming is..."
At some point I start to connect concepts previously seen in the first step with the chapter I'm in, or even identify elements discovered in the second step.
Works for me. -
I've got a decent developer job with decent people. It pays well enough. I work from home. There's a lot to be grateful for, and I am grateful. That being said...
I work for a consulting company with Agile in the name. It's the sort where they hire you and tell you that you'll work with an Agile team on exciting stuff and that they want to make sure you're learning and doing what interests you.
The reality is starting yet another engagement which is really just staff augmentation, joining another organization that's made a mess of what they're building. It works, but the code is all over the place. They've got tons of defects and work is slowing.
The idea is always that if we show them what great work we can do they'll let us do more. That sounds like an okay plan for the company but not so much for me.
My motivation is drained. I'm not going to fix your machine. I'm just going to become part of it. Show me what you want me to work on and I'll write the code. Then I'll spend several days trying to get a local environment to work so I can test what I did through the UI because you don't have enough tests. I'll spend more time debugging the environment than anything else. I won't really know if it works and it doesn't matter because without tests the next change someone commits will break it anyway. The next person can't manually test every scenario any more than I can.
While I'm doing this, someone somewhere is building the next application that I'll work on after they're done screwing it up.
If you're about to start building some new application, pretend it's done but it doesn't work very well, it's slow, it's buggy, and every new feature you want takes months. Pretend that you need to hire someone to fix it for you. And then hire them to build it for you in the first place.
I thought I found a place where I could work for 5-10 years. Maybe I have. Maybe when I explain (in the most positive way possible - this isn't how I normally talk) how utterly depressing this is they'll put me on something else.
Once I'm out of this depression I'll go back to trying to make this better for myself and everyone else. We can do better. It doesn't have to suck like this.4 -
How do you organize your downloads folder?
Personally, I make a new folder with some name(altough the name actually being useful is rare) and just select all of my files and dump them there. Finding a file sucks so much though, I can never remember their names so I just look through the folders at the icons and hope I find the file I'm looking for. This mess that is my downloads folder led to looking 5 times in a folder to find a file.
My DOS VM is more organized than that...
Speaking of DOS managing memory in that is hell. I've never had memmaker detect 64MB of RAM, giving the VM 96MB of RAM made it detect 2 more MB or something.5 -
OK what the actual fuck is going on within this company.
TL;DR: Spaghetti Copy/Pasted code that made me mad because it's just a mess
I just looked into a code file to search for a specific procedure regarding the creation of invoices.
I thought "Oh this is gonna be a quick look-through of like 1000 lines MAX" turns out this script is 11317 fucking lines long and most of it's logic is written there multiple (up to 6-7 times). And I'm not talking about a simple 10 lines or something. No! Logic of over 300 lines.. copy & pasted over .. and over .. and over?! I mean what the fuck did this guy drink when he wrote this.
Alsooo 10000 of those 11317 lines is ONE FUNCTION.. I kid you not! It's just a gigantic if / else if construct that, as I said before, contains copy-pasted code all over the place.
Sadly my TL thinks that code cleanup / optimization is "not necessary as long as it works" like wtf dude. If anyone wants to ever fix something in this mess or add a new feature they take a few hours longer just to "adjust" to this fucking shit.
This is a nightmare. The worst part: This is not the only script that has shit like this. We got over 150 "modules" (Yeah, we ATTEMPTED something OOP-ish but failed miserably) that sometimes have over 15000 lines which could be easily cut down to 1/3 and/or splitted into multiple files.
Let's not start about centralization of methods or encoding handling or coding standards or work code review or .. you get the point because there's a character limit for one rant and I guess I'd overshoot that by a lot if I'd start with that. Holy shit I can't wait until my internship is over and I can leave this code-hell!!2 -
Company tool over a Magento shop from an internal solo developer. They made a new theme based on a bought theme, but the developer who started it is leaving. The 'developer' (yes, quoting it now) made a royal mess about it; rewriting core files, overwriting theme files, leaving JavaScript alerts all over the place, placing business logic in templates and defining CSS classes with functions in custom module block classes. I could go on for a while. After the first sprint we tried to convince the customer to do a complete rebuild, but we couldn't convince him...
The 'developer' has been hold on for now to give support on his crappy code and my next few months are filled with working in this mess without cleaning up the technical debt because we don't have enough time for that... FML1 -
by this point I just hate rust for being inconsistent
made a cargo command with clap
it works if you run it directly but if you install it with cargo globally then evidently it's for no reason sending in an extra argument into the program which messes everything up
of course clap has no documentation about this so I jank my way to just work around the issue by parsing the arguments before I give them to clap
and on cargo -- list my command doesn't have a description even though the thing I copied has a working description in that listing, and my cargo file has a description, and clap is happily inferring my description from said cargo file
chatGPT thinks I just need the description field filled in the cargo file and it'll work. well it doesn't.
how is a language this young and this much of a mess already
why the hell did they randomly decide to pass in extra arguments? argh.1 -
So let's talk about today, spent the whole night awake fixing some code PYCHARM FUCKED UP! Technically i fucked up but I still blame pycharm for making the project structure a mess. Word of advise don't create a project with pycharm , I should have made mine on the terminal as all things of worth should be.
Gotta push the presentation for it to afternoon am beat . I've learned a lot though, recovering lost files is a bitch . And funny thing is i got saved by a git stash that had been auto saved earlier by accident 😂😂1 -
Tl;dr Why would someone preconfigure a hardware raid on a server AND NOT TELL ME?
Recently we got a refurbished server that has some nice specs and works quite well. It had six 2.5 bays and came with two 248gb HDDs. But it only included 2 rails, so we needed more, and we got more.
I installed windows on it (yes, some of the software we use is windows only), and for some odd reason the forth HDD (this was the second one that was pre shipped) wouldn't show up in the disk management, which was odd especially considering the fact that the SAS did detect it, and would get pissed at me if I took it out. I was in a rush so I left it alone for then.
I had needed to setup a raid for these, and while I was trying to figure out what was wrong, I noticed that windows can do a software raid so I set it up on the third HDD (which is the first pre included HDD). I haven't actually used it yet.
At some point I stated to mess with the HDD that wasn't showing up (switching them around, etc.), when I noticed that windows saw the raid was setup on both of the HDDs, which made me wonder what was going on.
So I decided to check the SAS to see if there was something wrong there, as it was booting, bios let me know that there was a raid that was in the process of rebuilding, so then I thought "oh cool, windows actually does a hardware raid!" Well actually it doesn't, as I was looking I saw that this raid was only setup on the two HDDs that were acting funny, and therefore it was only coming up as one device in windows. I wasted an hour trying to find that! -
MORE WEBDEV ADVENTURES
Took a break for a while due to personal stuff. Just got a job (have to get a stupid work permit from school first to actually be able to work tho), had some shit happen with two close friends that now hate me. Right now I'm upset about something that another really good friend did. So I've been doing some webdev to distract myself for a bit.
So I'm turning my URL bar that I had into a little command bar. It'll be what I use to configure stuff along with URLS and shit. I was building a little config menu that I really hated doing, was just becoming too much of a mess. Currently changing the look of it just a bit, then I'm gonna work on the functionality of it later.
Made my weather divs dynamically generated. Turned like 65 lines in the HTML file to ~20 lines of JavaScript that makes that ~65 lines. And it turns out that it doesn't really affect the loading time at all, which was my original worry. My next task for that is to save the weather predictions so the script doesn't have to grab a whole 14kb file every reload (I know, that part's a little bad). The entire page with the icons and all comes out to ~30kb so far. The icons make up about half of that, but they'll never all be in use because only 5 are on screen at any time and there are 7 total. Plus the fact that one may be in use multiple times (like this very moment actually).
Then I want to have an RSS reader which I've been putting off for a while now. Trying to get everything else done before I do that.
At this very moment, the page takes about 1.4 seconds to load. I'm trying to avoid putting anything I don't need in it. Like I'm using vanilla everything. No frameworks or anything. But that's just my personal preference.
I'll make sure to share it with you guys when I have everything built and functional. I've had a lot of interruptions while doing this. My personal life tends to get in the way of shit I try to do, because I let it get to me.
Anyways I'm just rambling at this point. I fucking love you guys1 -
> IHateForALiving: Mister Supervisor, I need to do X, I know how to do it with Vue but I can't do it in AngularJS, how did you do it in the past?
> Supervisor: It's a mess, you need to do A, B, C, D and E, but webpack interferes so you have to come up with something to bypass the whole thing
> Me: ok whatever thx
> Supervisor: I know it's a problem, a more modern framework would do it in a heartbeat :(
Those are bold words for the guy who saw my first PoC, noticed I was using Vue and made me throw everything in the rubbish, explicitly ordering me to use AngularJS. -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
I handle multiple projects at a time... Sometimes I feel stupid to mess up the basic syntax of Kotlin and Java.
So I made a stupid mistake in my code like this. I wrote this in Java file
" val something : String = "value"; " (which this is a Kotlin syntax, without knowing that I am coding in a Java file not Kotlin!
Oh stupid me~3 -
>start new job, not very professionally experienced dev
>spend couple of months working on a feature that is supposed to be an MVP kind of thing, be rushed to finish and told to cut corners because it's "just an MVP", still lose sleep and have relationship suffer (and ultimately ruined) as I try to not lose deadlines created by the boss with questions like "you can have this done by <very soon>, right?"
>frontend created by fellow developer is a garbled mess of repeated code and questionably implemented subpages, frontend dev apparently copies CSS from Figma and pastes it into new non-reusable React components as envisioned by designer, I am tasked with making sense of the mess and adding in API consumption, when questioning boss what to do with the mess I am often told to discard stuff that the frontend dev has made and just reuse his styling; all of this on top of implementing the backend feature that a previous developer wasn't able to do
>specs change along the way, I had been using a library as a helper in some part of the original feature, now the boss sees that and (without further testing the library) promises CEO that we'll add that as a separate subfeature, but the performance of the library is garbage for larger inputs and causes problems, is basically shit that might not have been shit if we had implemented it ourselves, however at this point CEO has promised new feature to some customers, all the actual sense of responsibility falls upon my hands
>marketing folk see halfway done application and ask for more changes
>everything is rushed to launch, plenty of things aren't implemented or are done halfway
>while I'm waiting for boss to deploy, I'm called up to company office by CEO, and get new task that is pretty cool and will actually involve assessing various algorithms and experiment with them, rather than just stitching API calls and endpoints together, it involves delving into a whole new field of CS that I never had the opportunity to delve into before
>start working on cool task, doing research, making good progress
>boss finally deploys feature I had been originally implementing
>cut corners of original boring insane feature start showing up, now I have to start fixing them instead of working on cool task, however the cool task also has a deadline which is likely expected to be met
I'm not sure if I'm having it bad or not, is this what a whole career in software development will look like?6 -
Me: Creates Basic Discord Bot with a tool, and mess with it, made it be a BETTER bot.
Bot: Yes Master.
Me: Time to re-home it on a new host(glitch)
Bot: Ya you edited me so much I have no f**ks ..
Me: sudo rm -rf ME13 -
PHP features the best of the wicked minds.
In this legacy but still used project just so to save the scourge opening tcp connection (I suppose) some guy wrapped js libs like jQuery, mootools in a script tag.. In individual php files. Then from a main.php include all those libraries. This produces a 2Mb file to send to the client and it's not even compressed. This guy never had any thought about maintenance.
This is one symptom of the problem with PHP that every company developed or have in-house undocumented unmaintained frameworks made by devs without any idea about testing, security and more.
Gosh in a previous work I've seen a PHP cron that used arguments passed to a switch case of 25 cases.
It took 19 years for the language to get a standard, meanwhile leaving the web landscape as a mess of bad coding practices, bad design practices, SQL injections, outdated tutorials and more. PHP is the example that it's not because it's used on almost all the web that it's good, it only means that's it's cheap! Cheap like asking a red neck to build you a car and he tows (deploy) it to your house with his own tow truck he built.
https://blog.codinghorror.com/codin... -
From the last 3 years, i have accumulated interest and experience in android dev. Not sure about the future, but that's probably where i will be.
But this fact is moot to our 50 year old grumpy professors teaching 1000 year old rusted computer syllabus, who rejected my idea of a video streaming app as major project, simply because i projected it as a social media app, and "everyone is making a social media app, its such an old topic". yeah right sir, its younger than your daughter that fucks in the lobby
Now we are doing a project on file conversions website, a project suggested by my team member and my good friend. its such a shitty topic, there is no resources available, even the research papers are bad , every search points to a shitty site, and i don't know shit about web dev.
Technically i am the team leader, but my team mate won't let me make the project as android native app, because "Brooo, i am going to make a react app that would be completely offline, completely client side, full secure and shitt small" and sometimes "Bro its my idea" .
Well, 1. the whole point of client side is stupid because the 18 mb jsfile isn't going to get downloaded first in the client's cache(or whatever the process is, idk). The top stack overflow answers i saw told me to buy an ec2 instance and run liberoffice commands on it for every request, and that's SERVER SIDE. even if we could, i am sure its going to be bigger than what i would have made in kotlin.
2. what am i supposed to do? look at you coding while make all the ppts and research paper? you are going to use undocumented libs that "just works" , and i am suppose to curate the theory behind this, looking at all the researches of the world?well i guess okay that's a light job since THERE AREN'T ANY.
And we are targetting all types of conversions, nice. from what i know, handbrake.fr: video conversion s/w = 16 mb. photoshop: image conversion s/w=1gb and ms word: doc to pdf/other formats= 500mb.
Plus all those proprietary and undocumented formats, ugh. Thank you ugly ass companies.
Internet is great but web dev has become a whole lot mess. "I am going to build a software that is going to run in your system only using your device's processor" is a desktop/mobile app, not a website -
Fuck Sitecore (Crapcore) up it's ass! Honestly, I thought Wordpress was a pain, but crap, at least I can get it to fucking work! Crapcore is the most finicky, bi-polar, PoS I had ever had the displeasure of using. Full of bugs, issues, and half-cocked stupidity (and we're talking from the ground up).
Imagine this, let's take a perfectly good working wheel (MVC/ASP) and then let's redesign it to be the most dysfunctional crap, that would fall apart the minute a damned light breeze blows on it, oh! And let's make it EVEN WORSE...Let's hide everything behind an eff'n pay wall and gimmicks that never work! Brilliant! Now NO ONE will be able to help anyone (because no one wants to pay up the ass for this shit to begin with)! I mean, it's not enough that the "framework" is such a bloated mess that no one knows what/why things screw up (psst...it's the framework itself), let's make it so idiotic to use as well! F'N BRILLIANT!
Seriously, I can only pray that the same thing that befallen to Blackberry happens to Crapcore so that I could be rid of this shit (or find someplace else that DOESN'T USE THIS SHIT). Word of advice, before taking any job, if they say they're a ".Net firm" ask them if it's MVC/ASP or Crapcore...And if it is, run...Run far the fuck away from that mess! It would save you the aggravation, anguish, and the stress of trying to get any work done with a "framework" that seems to have been made by a mentally disabled 2 year old (no offense to any mentally disabled 2 year olds other than the mentally disabled 2 year old morons at Crapcore).
/RantOver -
been exploring the options for cross platform desktop app, and i found :
java : both awt and swing look ugly, i really like OOP of java, and the way projects are organized is easy to scale, but i need to deploy the jdk, and the speed on gui apps isn't that great
C# : (.net/ mono, i can't grasp F# and vb is stupid) looks native on windows, not so much alien on both linux/mac, and being a java cousin is a pro, i found the Eto library for mono even looks more native on *ix than winforms
wxwidgets: for C/C++ so far this looks like the best option for total native feel and performance, but man i fucking hate C code, and this looks a lot like C code, even with proper native Cpp support, maybe i should dive deeper in it
GTK+ : did any one mention C code ? because this mother fucker is plain C with macros all over the place, it made me realize why wx is promoted as Cpp friendly, i doubt I'll use this
tcl/tk : even tho ive never wrote a single line of tcl in my life, the tk lib is the default ui for both python and ruby on all supported platforms,
and i really love ruby, and Python is Usually a joy to work with
Qt : this by far looks like the best option, proper OOP in C++, bindings for python (ruby binds are outdated), almost native look and feel on supported platforms, and even has a gui builder in xml or json/js (qml) however i bet I'll use such a thing, the building tho depends on an external preprocessor "moc" and some wicked macros, also makes working with templates a fucking mess, and the heavy dependence on QObject inheritance makes integrating external libraries a bit more tiring, the signal slot system makes more sense in python than in C++, since it makes me confused about the flow of the code
lazarus: is a freepascal implementation that looks and feels like delphi, not so much for native look and feel, but good performance and easy language to handle
electron : this fat mofo is fat, it's the slowest of all options, if i want an html app, I'll just compile a stripped down webkit and deploy that
what do you think ? and did i miss something ?17 -
Just joined a new company and can only describe the merge process as madness.....is it or am I the one that is mad?!
They have the following branches:
UAT#_Development branch
UAT#_Branch (this kicks of a build to a machine named UAT#)
Each developer has a branch with the # being a number 1 to 6 except 5 which has been reserved for UAT_Testing branch.
They are working on a massive monolith (73 projects), it has direct references to projects with no nuget packages. To build the solution requires building other solutions in a particular order, in short a total fucking mess.
Developer workflow:
Branch from master with a feature or hotfix branch
Make commits to said branch and test manually as there are no automated tests
Push the commits to their UAT#_Development branch, this branch isn't recreated each time and may have differences to all the other UAT#_Development branches.
Once happy create a pull request to merge from UAT#_Development to UAT#_Branch you can approve your own pull request, this kicks off a build and pushes it to a server that is named UAT#.
Developer reviews changes on the UAT# server.
QA team create a UAT/year/month/day branch. Then tell developers to merge their UAT#_branch branches in to the previously created branch, this has to be done in order and that is done through a flurry of emails.
Once all merges are in it then gets pushed to a UAT_Testing branch which kicks off a build, again not a single automated test, and is manually tested by the QA team. If happy they create a release branch named Release/year/month/day and push the changes into it.
A pull request from the release branch is then made to pre-live environment where upon merge a build is kicked off. If that passes testing then a pull request to live is created and the code goes out into production.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh it's a total mess. I knew when I took on this job it would be a challenge but nothing has prepped me for the scale of the challenge!! My last place it was trunk based development, commit straight to master, build kicks off with automated testing and that just gets pushed through each of the environments, so easy, so simple!
They tell me this all came about because they previously used EntityFramework EDMX models for the database and it caused merge hell.9 -
Today I was revisiting my first ever WPF project made, turns out that a baboon could have written better code than this.
The project literally has messages going everywhere to every viewmodel even if it's not supposed to.
I'll spare the details, but let's just say I'd rather jump in a mountain of needles than try to add a feature in this mess.
So I am now refactoring without my bosses permission since I am the only one in this company able to work with WPF and I still have enough time for a simple refactor.
Already on about 200 errors by just changing a few lines of code because everything inherits everything. -
!rant
I have my 121 in a few days with my new manager and am trying to get a raise either through moving from junior to mid level dev or being given a significant raise , am being paid a tad below the London market rate's lower range for my skill level.
Any advice on how to approach the topic?
Some bits of my background:
I got almost 4 years of exp :
almost 2 working there...
6 months short term contract as a ruby sql dev another company...
1.5 years worked for an abusive joke of a company who took advantage of my naivety since i was fresh out of uni ( did stuff like pressured me to add more features to a pojo system i made for them) barely learned anything there since i was the only IT person there developing solo, the project lasted 1.5 years and was a total mess to finish, so am not too sure of factoring it into my years of exp.
My Qualifications are:
bsc in information systems
Msc in enterprise sw engineering
My "new" Manager is seeking to retire real soon.
The company isn't doing too well but we just landed 2 big customers who are buying the product my team is working on
I Am one of two last devs on my team and we are barely holding on with the load, can't afford the time to train a newbie to join us
my department is soon to be sold (soon according to what mgr says). They have been saying so for 10 months now.
Last year , since the acquisition Is taking so long and funds were running out We were hit by a wave of redundancies which slashed our workforce in august/ july, told we could last till march this year on our funds . Even senior staff were on a reduced work week...but since we Got new customers then money should be coming in again , this should mean thats no longer the case. Even the senior staff have returned to 5 day work weeks.
Am being given only JavaScript work to do despite being hired as a junior java dev, my more senior colleagues dont wanna even touch js with a long stick
Spoke to 3 recruiters , said they got open roles in the junior- mid level range that pay the proper market range if am interested to put my cv through.
Thats like 25% more than I currently make.
Am a bit scared to jump into a mid level position in another company because i lack a bit confidence in my core java skills.
although a senior dev who used to be on my team thinks i can do it.
i recon i can take on the responsibilities of a mid level dev in me existing company since am pretty familiar with the products
I dont get to work with senior devs and learn from them since we are so stretched thin, hence am not really getting the chance to grow my skills
I know i have gaps in my knowledge and skills having not been able work in java for a while hasn't allowed me to fix that too well. I badly need to learn stuff like proper unit testing, not the adhoc rubbish we do at the moment, frameworks like spring etc
Since I have been pretty much pushed into being the js guy for the large chunks of the project over the last year , its kinda funny am the only guy who has the barest idea how some of the client facing stuff works
The new manager does seem to be a nice guy but he is like a politician, a master bullshitter who kept reassuring all is well and the company is fineeee (just ignore the redundancies as the fly past you)
The deal for thr aquisition seem to have sped up according to rumors
And we heard is a massive company buying us, hence things might pick up again and be better than ever
Any ideas how to approach the 121 with him?
Any advice career wise?
Should i push for a raise ?
promotion to mid?
Leave to find a junior to mid level position?
Tought it out and wait for the take over or company crash while trying to fill the gaps in my knowledge ?
Sorry for the length of this post2 -
ASP.NET Core (MVC) is frustrating me.
I’m a big fan of ASP so far but I’m just struggling to understand a lot.
First off to use it you have to fucking memorize every class in the fucking framework and the functions within them. It just expects that I automatically know which classes I need to implement or inherit from and why, but if I don’t? I can fuck off. But this is also just a C# problem in general.
And it does so much for you and that bothers me so much. I was so excited to actually implement protection against SQL Injections, using HTTPS, validating logins, interacting with the SQL for the database but FUCKING NOPE BECAUSE IT DOES IT FOR YOU.
I don’t want my hand held I want to feel like I’m actually doing things and I want to learn how shit works and how it’s made. It’s just disappointing. I appreciate that it wants me to focus on the app and I will appreciate it a lot more when I’m done learning how everything works but I won’t actually get to understand how those features work or how I can implement them myself because it’s spoiling me too fucking much.
I guess I’m just gonna have to practice more. And don’t bother telling me to look at the documentation, I’ve never seen such a fucking piece of shit mess before I laid eyes upon the docs for C# & ASP21 -
I am currently developing an application, using Electron, Vue and FeathersJS. My plan is to make it open-source, and I'm wondering _when_ one should make a project open-source? Like, should it be near complete, or does it not really matter? One of the things I'm having trouble to be energized about is writing the css, and it's a bit of a mess right now, which is why I'm asking now. I have never made an open-source project myself before, so tips are very welcome. Thanks5
-
Me and my friends decided to start a film company, much like roosterteeth. Throughout high school we had a talented group, actors, musicians, writers etc and those of us behind the scenes editing and shooting footage, graphic design and web development. My best friends passion is film, he's a good director and editor and wanted to start this company and was blessed enough to have a group of friends with all of these talents.
Naturally I was the teams web developer/designer.
Well this morning he texts me saying he's sending an old friend of ours my way to help on the website. My first thought is "why?". I code alone, I've never made a website as a team, that just seems like a mess.
Well the friend of ours texts me shortly after saying he was LEARNING to code and wanted to know if he could be in the dev team. I am the dev team. It's not a group to be joined. I don't want my first team experience to be one where I'll have to be teaching along the way, bc I may as well do it alone at that point. I haven't responded to either person yet as I was waiting to share with devRant 😂3 -
!rant
I have no face. If i choose a face, can i go back to having no face? I've made it this far and as others have agreed, a regular ol plumbus doesn't have a face. So i don't want to be stuck with a face. I really want to just mess with the color of my facelessness.2 -
2014
I did some cool projects with node JS.
We had this project where we had several embedded sensor box components communicating via a node js server backend with some fancy visualization.
And one of the guys was a total idiot. His part was to write some embedded code for a sensor box. He also wrote some data receiver in C# which was a totally over patterned mess and nothing worked.
For some unknown reason this guy made me his arch nemesis. He also never liked the team. While the rest of the team actually was super cool.
So in the final presentation out of a sudden in his part of the presentation (He had a Mac and had his slides done in some nasty whatever incompatible format) he pulled out some slides with code metrics. The best part was where he compared the embedded C code with my js code in terms of cyclomatic complexity. I will never forget this moment. Some nice bar chart.
Good I loved that guy for this moment.
And that made my year! -
I was 7 years old, and my mom’s friend brought me their old computer as a new year present. I was absolutely happy that day, because I wanted my own computer as far back as I can remember. I spent that evening exploring russian psychological (!) sex quiz (!!) with pictures (!!!) :D I found it on C:\
Actually no, there is an earlier memory. I was four, and I really wanted to mess around with my sis’ computer, it was some kind of holiday, maybe the new year as well. They won’t let me do it, and being an engineer, I took a rectangle-shaped candy box and made a “laptop” out of it. I remember drawing the screen, the icons and stuff. And plastic mold that actually handles candy, I turned upside down, and the candy cavities became sort of “buttons” I could press.2 -
Maybe you people will like this story.
The past semester I studied Java in class. First time doing object oriented programming, I had an annoying teacher but got the hang of it. I still miss C from the last year.
As a final project we had to do any program and apply some stuff we saw in class (The program should have an array list, use interfaces, bla bla bla bery simple stuff). It also must have a complete documentation, a manual and a diary explaining what was developed every week. Bonus points if it was in a repository like GitLab.
I wanted to do an RPG game in a matrix, like a rougelike or an old FF game, that should be a map or two, a few monsters and items and that's it. Enough to show what can I do and to have enough excuses to apply everything that the teacher asked. I had a team with two friends who wanted to do the same.
After making accounts in three different pages that apparently would help us to be more organized (One to make charts and two task trackers) I lost all patience and made an account in GitLab, made the basic classes that we had defined in a chart, divided the tasks and put them in to do on GitLab and we started to work.
One of my companions caused a lot of problems. First, he didin't wanted to learn how to use GitLab (I simply asked them to do merge requests) and he insisted to use GitHub. Then he started to say that using the console version was even better (Pretty sure he said thet he never used Git, but maybe was gas poisoning). The GitLab repository never had a single commit to his name.
BUT WAIT IT GETS BETTER all the entire time, he was complaining about the graphical interface of the game, wanting to use some SDK for RPGs that he found. I told him that we will see that at the end, that first we should have all the mechanics done, test it in ASCII in the console and then, if we have time, we will put the visual interface, separated and optional from the main program to avoid problems.
After two weeks where he gave me very simple standard stuff late, half done and through Google Drive, I discovered he was most of the time working on... the graphical interface SDK! He took the job already done by me and the other guy and making a pretty hardcoded integration with the graphical interface and making everything that he tought it would be necesary. Soon enough the GitLab repository was totally outdated and completly useless. He had the totallity of the project in his half broken laptop, and sometimes he gave us a zip with all the code, outdated after a few minutes. Most of the stuff that I made was modified, a lot of the code was totally unknown to what it was and I had no idea even of how the folders were organised.
We had a month to finish it. I got totally disconected from the project and just hoped for the best, sometimes doing a handful of generic and adaptable lines of code for a specific thing (Funny enough, many core mechanics were nonexistent). The other guy managed to work more on the project, mostly fixing the mess that the guy did: apparently he didin't read the documentation of the SDK and just experimented and saw tutorials and tried to figure out how to do what he wanted.
Talking about documentation: we dont had yet. The code wasn't even commented propely. We did all that the last week and some stuff was finished the last night. The program apparently worked but I had no idea.
Thank God, the teacher just looked over everything and was very impressed by the working camera and the FF tiles. I don't think he saw the code or read too much of the documentation, much less when I directly wrote how I lost all access to the project.
I had a 10/10. I didin't complained. Most easy and annoying ten I ever had. I will never do a project with that guy. -
So I've been using Duet on my iPad Pro for a couple years now (lets me use it as an external monitor via Lightning cable) and without issue. Shit, I've been quite happy with it. Then the other day, whilst hooked up to my work laptop, there was a power fluctuation that caused my laptop to stop sending power to connected devices. Which is fine - I have it plugged into a surge protector so these fluctuations shouldn't matter. After a few seconds the laptop resumed normal operation and my connected devices were up and running again.
But the iPad Pro, for some reason, went into an infinite boot loop sequence. It reboots, gets to the white Apple logo, then reboots again.
In the end, after putting the iPad into recovery mode and running Apple's update in iTunes (as they recommend), it proceeds to wipe all my data. Without warning. I lost more than a couple of years of notes, illustrations and photos. All in one fucking swoop.
To be clear, you get 2 options in iTunes when performing a device update:
1. UPDATE - will not mess with your data, will just update the OS (in this case iPadOS)
2. RESTORE - will delete everything, basically a factory reset
I clicked UPDATE. After the first attempt, it still kept bootlooping. So I did it again, I made sure I clicked UPDATE because I had not yet backed up my data. It then proceeds to do a RESTORE even though I clicked UPDATE.
Why, Apple? WHY.
After a solemn weekend lamenting my lost data, I've come a conclusion: fuck you Apple for designing very shitty software. I mean, why can't I access my device data over a cabled connection in the event I can't boot into the OS? If you need some form of authentication to keep out thieves, surely the mutltiple times you ask me to log in with my Apple ID on iTunes upon connecting the damn thing is more than sufficient?! You keep spouting that you have a secure boot chain and shit, surely it can verify a legitimate user using authenticated hardware without having to boot into the device OS?
And on the subject of backing up my data, you really only have 2 manual options here. Either (a) open iTunes, select your device, select the installed app, then selectively download the files onto my system; or (b) do a full device backup. Neither of those procedures is time-efficient nor straightforward. And if you want to do option b wirelessly, it can only be on iCloud. Which is bullshit. And you can't even access the files in the device backup - you can only get to them by restoring to your device. Even MORE bullshit.
Conversely, on my Android phone I can automate backups of individual apps, directories or files to my cloud provider of choice, or even to an external microSD card. I can schedule when the backups happen. I can access my files ANYTIME.
I got the iPad Pro because I wanted the best drawing experience, and Apple Pencil at the time was really the best you could get. But I see now it's not worth compromise of having shitty software. I mean, It's already 2021 but these dated piles of excrement that are iOS and iPadOS still act like it's 2011; they need to be seriously reviewed and re-engineered, because eventually they're going to end up as nothing but all UI fluff to hide these extremely glaring problems.2 -
It's 3AM and here I am trying to fix the mess that I made last night when I was drunk and the deadline is 12PM (only 9 hours left).. You don't but if you do know how do I kill my boss so that I would look like a bug from a software made by our company killed him to take revenge of killing the bugs?1
-
I uncommented the line inside a custom "library" made by a friend on a college project.
We spent 3 hours trying to make it work...the bug line was supposed to call one of the result functions, but the code had been made in a way that it was a mess and impossible to find at first.
That felt good. -
During the last two weeks I have come to realize that I dislike holidays. Or maybe I don't, maybe it's just now that almost everyone is forced to use their holidays at the same time... anyway, I just know some junior has made a hot spaghetti mess that needs a'fixin and I don't look fwd to attending to those issues when I get back to the office... worst case the buggy spaghetti poo is already in prod1
-
I want to stdout a bunch of logging data
but also create a HUD over it
evidently not an easy task
so let's say you have libraries you made that print logs to stdout
well they would mess up the terminal output...
and then I guess you have to capture what they're trying to print and process it differently
annoying
no easy way to convert logging apps to terminal HUDs I guess
it has to be designed as a terminal app to begin with
ueeegghhh1 -
Luulz
I hate react, ok it is now a knows thing about me...
But i have to maintain a huuuuge app made on react.
And the old developer mixed the nodejs backend with the frontend... And it is already a russian doll mess in components, cuz he seems to develop it during 2 years and only after one year he discovered redux !
Gosh... For a lil simple feature there is so many files involved... Gonna go crazy !
Happy that at least client pay big money for that1 -
I don't wanna be specific today, so I'll just post a song exerpt.
I love you, I hate you, I'm on the fence, it all depends
Whether I'm up or down, I'm on the mend, transcending all reality
I like you, despise you, admire you
What are we gonna do when everything all falls through?
I must confess, I've made a mess of what should be a small success
But I digress, at least I've tried my very best, I guess
This, that, the other, why even bother?
It won't be with me on my deathbed, but I'll still be in your head
Put me on a pedestal and I'll only disappoint you
Tell me I'm exceptional, I promise to exploit you
Give me all your money, and I'll make some origami, honey
I think you're a joke, but I don't find you very funny
https://youtu.be/o-nr1nNC3ds -
I've just joined a new company out of despair after several month out of jobs without being able to even get interviews.
I've been warned about the code being a bit behind with modern Android stack, they needed to migrate from rx to coroutine and compose is not a priority at the moment.
Fine with it, I like handling and planning migration, that's a nice challenge.
But if only that were the only problems !! Far from it, the code is a formidable mess, I've never seen so much amateurism... Most of it was written from the previous Lead Dev who stayed there for years and touched everything with their very bad practices.
I don't even know where to start honestly...
While the code is in Kotlin, it stink Java. Nothing wrong about Java, but if you code in kotlin, you need to understand what kotlin try to achieve. And that's not the case here. There is freaking nullable everywhere, for no reason at all, the data classes contains lot of var in their constructors, equals are override to compare only one or 2 params and no hashcode override with it.
Sealed class, what for ?! Let me just write a List<Pair<Enum, Any>> and cast your any depending on the enum !
Oh and you know what, let's cast everywhere, no check, and for once no null safe, there is enough nullable in the code !
What about the reactive part ? well let's recreate a kind of broken eventbus with rx ! Cause why not ?!
The viewmodel observable don't contain data, they just contain enum for the progress of the states we're checking.
In the viewmodel function we update that enum states and emit it to be observed and make the data available as a var for the view to pick it up when needed.
But why put the business logic in the viewmodel, let's put in the views, and grab and check the variable contain in the viewmodel whenever it fits.
Testing the business logic ? uh let me just test my variable initialisation in the viewmodel instead.
The vm, the views, make about 2000 lines, the test over 3000, and not a single test really test the business logic in it ! I've made big refactoring we're all the tests stayed green, while the function are full of side effects ! WTF ?!
Oh and what about that migration from rx to coroutine ? well better not break the existing code and continue writting like rx, everything is cold flow ! We just need to store a boolean saying if we already did our call to the data layer then we decide to start our flow or not.
As for the RecyclerView, having too many viewHolder is just so annoying, let's put all our different views in one, and hide what we don't need.
Keystore has been push on the repo, but it's private no ? So who cares ?!
And wait i'm not done ! Some of the main brick of the apps depends on library that hasn't been updated for years, and you know what... yes they were hosted on Jcenter and it's only now that they decide to do something about it, we we're warned about the sunset of jcenter 2 years ago !!!!
So what about compose ? What do you want with compose ?! there is no design system in that app obviously, so don't even think about it !
And there... among all of that mess, I'm supposed to do code review... how the fuck do you do a code review when all the code that is around stink ?!
And there is so much more but by now I'm afraid you're thinking i'm just pissing on the old code like everyone... but damn I guarantee, that's the worst code I've ever seen, and i've work on more than 15 app from small to big on different contract with a lot of legacy code, but nothing that bad !1 -
So I'm new to NestJS, Node, etc. and I just noticed that the guy working on the API made every request call a different service class, instead of using a single service class. For example.
get() {
return await this.getObj.run()
}
post(myDto){
return await this.storeObj.run()
}
update(myDtoUpdate){
return await this.updateObj.run()
}
And I'm not sure why. He's also injecting the request into those classes, instead of passing the DTO to the method call. I mean, it's still injecting the data into it I guess, but it seems so roundabout. Something like this:
public constructor(
@Inject(REQUEST) private request: Request,
){}
I'm scared, but I'm not sure if it's just my own ignorance or a sixth sense telling me that this is gonna be a mess.
Have you seen APIs implemented this way? I can see the benefit of dividing the code into smaller classes, but it just seems overkill to me, specially when there's a big chance that code will be repeated (getting an entity by ID when updating it, for example).
I'm still in time to kill this with fire before a new monster is born though, so that's something.1 -
A lot of you here rant about devs being arogant or expecting you to think for a little bit with own head and then write a proper string that will help dev answer straightforward without guessing what the author smoked or so for which there's even a tutorial made (wasn't there always). But I don't see any rants about the other side of the coin.
Let's say you are a random dude, not even that arogant type. You see a question, no answers, everyone piss on that question because it's just a mess. Yet you find yourself in a good mood, so let's help the poor soul with th trouble. Answer like from a book for kids, fully explained example and...
No points, no accepted answer, but not even any feedback! Was my answer wrong? Did I miss something? How can I improve it? Was the example too complicated?
This is exactly the type of idiot that deserves a kick in the ass. It's no site, for hanging spam! Why the hell does that kind of idiot think there's even an option for own answer? People will come back to the question eventually and what will they found? An answer, which probably isn't even correct!
(not really talking about a specific answer/question, so no need to search) -
One of our partners sent me a Key Injection Tool to inject encryption keys into a PINPAD with. Looks like they were short on developers and had to hire Python typists who have made a mess of a simple AES encryption/decryption. When do these companies learn that writing a security related software in Python is not really secure? I had to read the rubbish in Python and read it from scratch in C++ to get it to work, and am now contemplating whether to provide that company with my version of their Key Injection Tool or not...2
-
Does anyone from here working by GMX? I am specially looking for a sysadmin.
The story is the following. We can't send emails to GMX addresses in general. I've contacted my provider, and they said, that they've contacted GMX several times but no solution has been made so far. This was almost a month ago and the problem still persists.
If anyone from here willing to help me clear this mess, or just give some explanation, I would be grateful. We are loosing reputation as a company having to answer from a different email address.
If it is a sensitive info please give me a channel where we can speak about the details.
Please note I am not a sysadmin by the hosting company, i am simply a customer of theirs.14 -
Started with VB.Net, moved to websites with WordPress. Shortly after I wanted more control over the output and started using CodeIgniter, then FuelPHP.
In the meantime, I learned Java to try making Android apps (and quickly gave up because both regular Java and Android APIs are a mess).
A robotics club started in school which made me go back to BASIC for programming Picaxe microcontrollers, then C++ for Arduinos.
Eventually I started embracing Javascript (nodejs and browser) and made it my primary language.
Currently, I focus on progressive web apps and sometimes native libraries/programs with C++ when performance is critical.
All the learning was mostly done on YouTube (thenewboston channel) -
I don't know if this counts but wrote a generator that replaced a shitty linq to sql dal to use our system so I didn't have to mess with a web app I'd written. In place replacement with a few methods that made the other transaction lock field updates and calls etc
Most risky I can think of
Everything else was data migrations but there were always backups1 -
Just discovered https://twitter.com/ExpertBeginner1. It's the story of my life. Giant classes, copying and pasting, and architects who create frameworks. It's great when we combine all three: A "framework" created by an architect which is made of giant classes that you copy and paste. Imagine a giant generic class where the generic argument is only used by dead code. Pause for a moment and try to visualize that.
It inherits from a base class with lots of virtual methods called by base methods that throw NotImplementedException, so if you don't need them you have to override them to return empty collections. If you're going to do something so messed up you could just put those default implementations in the base. But no, you can inherit, it compiles, and then it throws a runtime error unless you override methods the compiler doesn't require you to override.
The one method you're required to override has a TODO comment telling you what to put there. Except don't ever do what the comment says because that's the old standard. The new standard says never, ever do that.
Most of the time when I read about copy-and-paste coding it's about devs who copy and paste because they don't know how to write or reuse code. They don't mention the environments where copying and pasting the same classes over and over again is the requirement and you're not allowed to write your own code.
Creating base classes where you just override a method or two can potentially work, but only in the right scenarios and only if you do it right. If you're copying and pasting a class that inherits from the base class and consists entirely of repeated code, why the heck isn't that the base class? It could be a total mess, but at least it would be out of sight and each successive developer wouldn't become responsible for it by including it in their own code.
It's a temporary engagement, but I feel almost violated. I know it's a first-world problem, and I get to work indoors and take vacations. I'm grateful for those things.
Before leaving I had to document the entire process of copying and pasting an entire repo, making a ton of baseline edits that should just be in the template but aren't, and then copying and pasting from other places into the copied and pasted code. That makes me a collaborator. I apologize more than once in the documentation, all 20 pages of it that you have to read and follow before you even get to the part where you write the code for what you actually need it to do.
This architect has succeeded in making every single thing anyone does more about servicing the needs of his "framework" than about writing actual code to do what needs doing. Now that the framework is in and around everything it creates the illusion that it's a critical part of our operations. It's not. It's useless overhead.
Because management is deceived into thinking they need it they overlook the fact that it blows up, big and small, every single day. The log is full of failures that I know no one ever sees. A big chunk of what they think it does fails silently, and they don't even notice until months later when they realize how much data they're missing. But if they lose, say, 25% they'll never notice.
When they do notice they just act like it's normal, go into fire drill mode, and fix it. Doom. You're all doomed. I'm standing on the deck of the Titanic next to my jet ski.1 -
In a country, a long time ago there was a programmer by the name of Alex. He was a programming genius and apart from a few hours of sleep, he was busy developing unique programs for new generation technology firms. Alex was a bachelor and he happily and proudly lived the way he wanted to. He did not have duties, authority over him, bosses to report to, children to take care of, and distractions. He could sit and code for the entire day without getting any break or feeling a bit tired. However, he had no idea that everything in his life was soon going to turn around. Before Marriage: The Bachelor’s Life Alex was the epitome of a modern ‘Play Boy ‘ or every man’s dream. He was fairly dressed, had a classy house, a snazzy car, and a good-paying job. He was in the habit of spending his mornings drinking coffee while browsing through the different coding topics. He comes in the afternoon and spends the evening part of the day with his friends. Life has never been this good. Alex was able to work hard and the more he was innovative, he enjoyed it. It illustrates how a young person would sit for many hours coding at night and not bother about other people around him. He was alone as a bird and as per him, that’s what he wanted to be. He had no peer to tell the truth to, no wife to prepare meals for, no maids to babysit his mess. A man could chow down a pizza for breakfast, lunch, and supper with not even a raised eyebrow from onlookers. He was profiting from living the best life he possibly could. After Marriage: Married Life: Alex & Sarah The climax for Alex is when he marries Sarah on a sunny morning on a fine day. Young people met, and after becoming enamored, started a family and got married to find a new home. Sarah was friendly with people and it was very easy for her to make friends; however, she had little knowledge of technology. Alex had it in his mind that marriage does not change the life you lead and how wrong he was. It was a fairy-tale to have such a perfect life for several days after the marriage. Their nights would be spent in front of the television set with their arms wrapped around each other, eating takeout. Despite this, when the number of days stretched into weeks, and the weeks into months, Alex felt the beginning of a shift in his behavior. The Coding Cave That Transformed into A Home Office Due to the pandemic the coding cave Alex used to have became a home office. Sarah had made up her mind to open her business from home, therefore, she required a home office. Thus, she moved inside the cubicle that Alex had created as his coding cave and left him with no space to code. He now had to code in the living room, because Sarah would incessantly request him to either lower the auditory input of the keys he was typing or to switch off the LCD screen. The Once-Clean Apartment Turns into a Mess Alex was a neat freak, and he adored tidiness, especially in his apartment. But after marriage, his once clean and neat-looking apartment was changed into a dirty one. Although Sarah was not very neat, she used to litter her things anywhere she felt like without being conscious of it. Alex was a programmer and his coding notes were mixed with Sarah's business papers, it irritated him so much. Alex’s to-do list before marriage The to-do list before marriage only comprised coding-related tasks. At marriage, however, he seemed to have developed a longer list of things to do than ever before. Instead of just going to the grocery store to buy some food, Alex seemed to have endless tasks to do mostly around the house. He had to cook for himself, sweep the house, and wash the dishes among other things. This was a new world as far as he was concerned. The Pizza Days Are Over Gone there is no more time for Alex could eat pizza in the morning, afternoon as well and evening. Sarah was very conscious of what she took as food or what her family took as food and therefore ensured that Alex took healthy home-cooked foods. He could not have the pizza anymore but the meals prepared by Sarah were really tasty. Conclusion Therefore from a life before marriage to the life after marriage, it was evident that Alex led two different lives. He went from a playful man with not much responsibility to a man with more responsibilities as a husband and a father. Still, he wouldn’t have it any other way, despite these changes. Later he cherished Sarah and the life they had, and nothing in this world could make him exchange what he had now. Essentially, it was a tricky business being married, but a blessing, and an addition of love, company, and much hilarity too. Therefore, if you are a bachelor reading this, embrace your coding cave and your pizza days because once you utter the words ‘I do,’ all those will be things of the past.But trust me, it's all worth it.
-
I kinder have two phones now and I bought one only for fun and testing apps &dev rant , I made a simple java app where I can control one phone only because I don't wanna mess anything on the other , trying to find a way to hide a simcard inside ,so when I lost it I can always find it, or just run a custom ROM ,but too scared to mess it up haha4
-
Maybe I am picky, but:
Some people made a "FileStorage" API where in the open method you have flags like READ, WRITE, APPEND... And they made it like when you check WRITE the API opens/overwites to an empty file.
And when someon made a github Issue about this behaviour, they flagged it as a feature request. I'm so anoyed by not being able to overwite my data, thats just rude. Like should I use an file storage API to overwrite data like this:
0- Save file inner structure (you can't extract it from the API)
1- Open the file, parse the structure
2- Find file to overwrite
3- Save all the mess again
4- write your own API
5- sigh4 -
Obviously the top item on the table is NN, the "end users" from both sides of the connection on the net are for the saving it, and the middlemen that only own the "cables" want it to be repealed.
We have the solution to end this issue forever. It wont be easy, nor will it be fast.. unless certain "entities" team with us in secrecy. (There's a reason why certain "entities" have stayed silent regarding NN, due to agreements to not get involved due to the risk of backlash. AND if NN is repealed Those Entities cannot fix the problem as their hands are tied to continue to provide content to the end users.) Read between the lines you will understand it will all make sense later.
I will make The Official Public Statement within 24 hours of the FCC Vote. That statement will be how to get involved, help, get us jump started in your area, funding, the ENTIRE details of the plan, goals, and timeline. AS WELL as how to contact us. This will take time and we are not a magic solution that will fix the problem overnight.
We are however THE solution to the underlying problem with ISPs of today. We have been researching for quite a while and digging deep into the entities that have caused us to get where we are now. The further you go digging into 'THEM' the more pissed off you become as you truly realize whats going on and has been on among the ISPs its MUCH deeper than you are being told.
OUR solution will remove all of "them" from the equation completely as well as being faster, and cheaper than the Tier 1 as you wont be paying for the connection or speed, you would be paying for the hardware/overhead cost. AND we will be bringing you closer to the content providers than EVER before.
AND we will be the only solution capable for competing in the current Tier1 Monopoly zones, I promise you they cannot match our plan's price, IF they did it would be only as a loss leader and NOT a sustainable long term solution for those competing with us at are for-profit....
In order for our solution to work, and to keep the internet service non-bias, well non-bias from OUR members :) this will need to be a collective effort, focused one clearly defined vision. WE WILL AND WE MUST ALL set "profits" aside on this as profits in selling nothing other "connection" to the internet has gotten us in the mess we are in now. AND YES we realize profits help maintain and upgrade the infrastructure, BUT that isn't true in this case...Overhead from our view includes those anticipated costs.
Smaller ISPs will need to make a decision, give up profits, become one with us, and be apart of the mission OR they will be left to suffer at the mercy of the ISPs above them setting the cost of bandwidth eventually leading to their demise.
This will happen because we wont be bound by the T1s .... WE would be the "Tier 0" that doesn't exist ;)
This sounds crazy, impossible, BUT its not, it will work WILL happen, regardless of the FCC's vote. as if the FCC choices to keep NN, its only a matter of time till the big lawyers of the ISPs find some loophole, or lobby enough to bring us back to this.
Legistlation is NOT the solution its just a band-aid fix as the cancer continues to grow within.
PLEASE understand that
Until the vote is made, and we release what we are doing, stay put, hang in, it will all be explained later, we are the only true solution.
BIG-ISPs WILL REGRET WHAT THEY HAVE DONE!
What needs to be understood by all is with net neutrality inplace the ability to compete aginst the Tier 1s directly over customers and reinvent the internet to lower or remove costs completely, increase speeds AND expand to underserved/unserved communities ITS NOT POSSIBLE WITH NN
NN REPEAL is the only way to the fixing the problem for good... yes the For profit BIG ISPs will benefit but not forever.. as repealing it opens the doors for outside the box big picture innovators to come in and offer something different, the big ISPs have clearly over looked this small detail being the possibility of a “NonProfit CoOp TIER 1 ISP” entering into the game thru end users and businesses working together as one entity to defeat them... THE FOR PROFIT ISPs over looked this because they are blinded by the profit potential of NN Repeal, never did they consider our option as a possible outcome because no one has attempted it....
We will unite as one
Be the first to know! -stay updated
SnapChat: theqsolution