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 - "one more fix"
-
School time, programming class:
Girl: Hey, Can you help me?
Me: Sure, what's up?
G: I have an error but I don't know why
M: *looks at error stack trace* You're missing a semicolon in line 133 *puts comma, run... 27 more errors* Well, you have more issues up there, why don't you try to fix them?
G: Oh, Ok, thanks
-- 1 hour later --
G: Hey, can you come? I already fixed the other issues but I still have one I can't fix
M: *checks code, same mistake I fixed, missing semicolon, same line* Why did you erase the semicolon?
G: Oh, because if I erase it, I only have 1 error, but if I leave it, I have 27 so....
M: *turn around, walk away*19 -
Boss: I need to demo our product but it looks smaller on my laptop.
Me: That is because you have a 1920x1080 monitor and your laptop is 1280x800
Boss: Is that something you can fix?
Me: No you will need a new laptop, but the company has a sales laptop with that resolution.
Boss: No just get the company credit card and buy me one today!
*Bosses son hears*
Bosses Son: Here take the sales laptop
Boss: Will that be quick enough
Bosses Son: It has a 8 core i7 Processor, 16GB ram and a dedicated GPU
Boss: *looks at me confused*
Me: Your demoing a web browser, that will be more then ok. But were using chrome so 16GB of ram will be pushing it.
*me and bosses son laughs*
Boss: Can we upgrade it?17 -
One of our web developers reported a bug with my image api that shrunk large images to a thumbnail size. Basically looked like this img = ResizeImage(largeImage, 50); // shrink the image by 50%
The 'bug' was when he was passed in the thumbnail image and requesting a 300% increase, and the image was too pixelated.
I tried to explain that if you need the larger image, use the image from disk (since the images were already sized optimally for display) and the api was just for resizing downward.
Thinking I was done, the next day I was called into a large conference room with the company vice-president, two of the web-dev managers, and several of the web developers.
VP: "I received an alarming email saying you refused to fix that bug in your code. Is that correct?"
Me: "Bug? No, there is no bug. The image api is executing just as it is supposed to."
MGR1: "Uh...no it isn't. Images using *your* code is pixelated and unfit for our site and our customers."
MGR2: "Yes, I looked at your code and don't understand what the big deal is. Looks like a simple fix."
<web developers nodding their heads>
Me: "OK, I'll bite. What is the simple fix?"
<MGR2 looks over at one of the devs>
Dev1: "Well, for example, if we request an image resize of 300, and the image is only 50x50, only increase the size by 10. Maybe 15."
Me: "Wow..OK. So what if the image is, for example, 640x480?"
MGR1: "75. Maybe 80 if it's a picture of boots."
VP: "Oh yes, boots. We need good pictures of boots."
Me: "I'm not exactly sure how to break this to you, but my code doesn't do 'maybe'. I mean, you have the image from disk.
You obviously used the api to create the thumbnail, but are trying to use the thumbnail to go back to the regular size. Why not use the original image?"
<Web-Dev managers look awkwardly towards the web devs>
Dev3: "Yea, well uh...um...that would require us to create a variable or something to store the original image. The place in the code where we need the regular image, it's easier to call your method."
Me: "Um, not really. You still have to resolve the product name from the URL path. Deriving the original file name is what you are doing already. Just do the same thing in your part of the code."
Dev2: "But we'd have to change our code"
Mgr2: "I know..I know. How about if we, for example, send you 12345.jpg and request a resize greater than 100, you go to disk and look for that image?"
<VP, mgrs, and devs nod happily>
Me: "Um, no that won't work. All I see is the image stream. I have no idea what file is and the api shouldn't be guessing, going to disk or anything like that."
Dev1: "What if we pass you the file name?"
<VP, mgrs, and devs nod happily again>
Me: "No, that would break the API contract and ...uh..wait...I'm familiar with your code. How about I make the change? I'm pretty sure I'll only have to change one method"
VP: "What! No...it’s gotta be more than that. Our site is huge."
<Mgrs and devs grumble and shift around in their chairs>
Me: "I'm done talking about this. I can change your code for you or you can do it. There is no bug and I'm not changing the api because you can't use it correctly."
Later I discovered they stopped using the resize api and wrote dynamic html to 'resize' the images on the client (download the 5+ meg images, and use the length and width properties)22 -
Holy fucking shit. I just went to my first Java class at uni (3 1/2 hour long one at that) and I havent felt so damn irritated in a while.
Some background:
So first, I only had about an hour of sleep last night and a full day of work before this class so I was more cranky than normal.
Theres only 7 students in the class, 6 others plus me. I am the only one with any resemblence of programming experience. The teacher also claims to be a linux developer.
This is a three part course series. Java 1, 2, and 3. All taught by the same teacher.
The fuckery:
-teacher spends 48 minutes talking about text editors. Not even IDEs. Just talking in depth as fuck about notepad (notepad. Not notepad++ )and atom and textpad. Those three only though, nothing on vim or emacs or ACTUAL IDEs. 48 minutes.
- I briefly mentioned learning node.js on the side and am now the "javascript girl" to my teacher. I'm probably less experienced with js than any other thing i ever practised or studied.
-professor saw linux on laptop and asked what distro. When I said arch he said "oh no you shouldnt be using that Its not really for beginners" ... Uhh what makes you think I'm a beginner to linux? Or does he not think I should be using arch while learning java? Either way its really ridiculous and irritates me that he would discourage anyone from using any software/OS/anything, regardless of what it is or skill level.
-teacher moved a bunch of content out of the course because theyre either "concepts that are never implemented anymore" or "arent critical to know to master the language". These particular topics that were removed? Multi-dimensional arrays, scopes, and exception handling. EXCEPTION HANDLING.
-he writes a hello world program and displays it on the board, proof of it working and everything. He tells the class to write the same program, compile and run it. Never did I guess we would spend the remaining hour and ten minutes of class struggling with fucking hello world programs. Especially when the correct code is on the fucking projector.
And I get it guys, everyone starts somewhere. People have to learn from square one. But these kids have no fucking interest in this. One of them literally admitted to pursuing this degree for the "lavish life" that comes with the salary. Others just picked programming because they didnt know what else to choose to get into the school. It fucking saddens me. I hope that one or some of them end up caring and finding a passion in this field, otherwise I feel fucking sorry for them having to spaghetti code their way through life to get a paycheck cause they couldnt be bothered to put in the effort. I feel even more sorry for any devs they work with in the future too.
The other annoying bit is that I can't test out of this class!! so it looks like for either 7 hours a week ill be bored out of my fucking mind with these beginner concepts or ill be helping others fix really stupid shit in their code (like putting quotes around hello world so it would actually print the string).
Fucking hell. Waste of a semester class.44 -
If Doctors Were Like Coders
(cross-posted from https://medium.com/@c09b6133a238/...)
Problem: The patient has a broken leg.
Solution:
1. Ask the patient to reproduce the exact scenario that resulted in the broken leg. Watch closely to see if the leg breaks again. Check for consistency by repeating the scenario a few more times.
2. Explain that this isn’t an intended use case for the leg, and besides, it only affects one person. Ask the patient if, all things considered, he really wants to prioritize his broken leg over your other work.
3. Point out that the patient’s other leg performs just fine under the same circumstances. Ask if he can use his other leg instead, at least as a workaround.
4. Attach several accelerometers to the broken leg and break it again. Stare at the data received from the accelerometers, then shrug and declare it useless.
5. Decide that the patient’s problem must be in his spleen. After all, that’s the only part of his body you don’t really understand.
6. Track down the people who created the patient. Ask them if he’s ever had spleen problems before. When they seem confused, explain that he has a broken leg. Ignore them when they tell you that the spleen they created could not possibly cause a broken leg.
7. Ask Google where a person’s spleen is. Spend half an hour reading the Wikipedia article on Splenomegaly.
8. Open the patient and grumble about how tightly-coupled his spleen and circulatory system are. Examine the spleen’s outer surface to see if there are any obvious problems. Inform him that several of his organs are very old and he should consider replacing them with something more modern.
9. Compare the spleen to some pictures of spleens online. If anything looks different, try to make it look the same.
10. Remove the spleen completely. See if the patient’s leg is still broken. If so, put the spleen back in.
11. Tell the patient that you’ve noticed his body is made almost entirely out of cellular tissue, whereas most bodies these days are made out of cardboard. Explain that cardboard is a lot easier for beginners to understand, it’s more forgiving of newbie mistakes, and it’s the tissue franca of the Internet. Ask if he’d like you to rebuild his body with cardboard. It will take you longer, but then his body would be future-proof and dead simple. He could probably even fix it himself the next time it breaks.
12. Spend some time exploring the lymph nodes in the patient’s abdominal cavity. Accidentally discover that if the patient’s leg is held immobile for six weeks, it gets better.
13. Charge the patient for six weeks of work.14 -
I'm really down.
I spent 10 years building on an application worth 800K$ revenue per year.
I tried to build a technical team. All left, because of fights with stupid account managers, CEO, business managers.
I was left alone for almost one year alone, working like 60-70 hours per week to keep the things going and adapt to more customers.
And looking for potential partners to outsource things.
Now out of the blue, 3 weeks before my summer holiday, investors introduce me to a "partner" that will rent to us a "developer" for 2 months. from tomorrow.
What the fuck I'm gonna do with him in 2 weeks I don't know.
Actually I understand that this "partner" will take over the whole project.
They used the word "to help me", but actually during the meeting they said to fix things that are not working, and to develop new features because the project is blocked.
Of course there are bugs, I have no developers with me and hundred of features and integrations to maintain. And of course everything is blocked because I have to think hard about priorities.
I feel humiliated in the worst way.
I don't know what will be my future position.
I wasted time contacting potential partners and the answer was always "there are no money".
The business strategist, entered one year ago and said "no more IT investment".
Basically as cofounder and cto (of myself), they will not fire me, if I stay silent. If I accept to be a puppet. And eat, eat eat a lot of shit. I'll grow fat from the shit I'll eat.
I feel I've lost all my hard work, and I'm alone.40 -
My boss is technically restricted shall we say.
As the cto I have also been designated office IT guy. Which means apparently fixing the printer. Which is ok I guess. I mean it's bullsh*t but hey.
Anyway, about 6 months ago he said he needed a new laptop. He lives his life in excel and outlook, and even though the whole company uses google docs for everything he still exports everything to excel, makes a copy, then saves it back to drive so everything gets out of sync.
It's a fun problem that I have banned everyone from doing obviously but he continues.
Anyway, anyway, he wanted a new windows laptop naturally. I said to spend about £700 on a decent machine rather than buying something cheap that will frustrate and not last long.
He doesn't listen and gets some old windows 7 machine for £300. It's an alright spec for 2009; he must not have got the memo about it being 2017.
4 months go by and he says he needs a new laptop because this one is too slow (not least because he opens 400 chrome tabs and never reboots his machine). Anyway, I fix the problem of uninstalling all his bloatware and it runs quicker but he has his heart set on a new machine.
He insists.
I suggest he spend the money this time so he literally doesn't buy a new one in 4 months. I suggest the surface book that's £1200. A little overpriced but he will love the touch screen, it's powerful enough and it's windows. Ticks all the boxes for him.
He suddenly decides he wants a Mac.
I tell him it will be a nightmare for everyone if he does that.
He insists.
I suggest the Mac book pro as I've had mine for 6 years now and it's still going strong. It's a little more expensive than the surface but it will last.
He then says he wants the air.
I say they haven't updated them in ages and they aren't actually that powerful.
He insists.
That night he just buys an air from the Apple Store.
WHY THE FU*k ARE YOU ASKING ME FOR ADVICE IF YOURE NOT GOING TO LISTEN YOU MOTHERFUC*er. WASTING MY TIME AND YOURS.
Was very close to rage quitting when he wanted me to back up his old machine but didn't bring in his hard drive and didn't want to put it in the cloud. #whatDoYouWantMeToDoWithYourOldPornCollection
To top it all off I ran some benchmarks and my 6 year old Mac book pro is more powerful than his "brand new" air.23 -
"Let's go for the low hanging fruit first" 🤢
"I think we should do some market research" 🤢
"Yeah that is also on my radar" 🤢
OKAY YOU FUCKING CUNT, STOP WITH YOUR PATRONIZING SHIT.
FIRST OF ALL, ARE YOU REALLY SO SMALL MINDED THAT YOU CAN'T REACH ANY HIGHER? THIS TREE IS FUCKING RAW AMD BARE ON THE BOTTOM, WITH YOUR FILTHY CLAWS GRASPING FOR ALL THOSE EASY NARROW FIXES.
SECONDLY, A FUCKING EMAIL SURVEY WITH BIASED QUESTIONS ANSWERED BY 3 HOBOS IS NOT BLOODY MARKET RESEARCH.
THIRDLY, IF THIS NUCLEAR ICBM OF AN INFRASTRUCTURE PROBLEM IS ON YOUR RADAR, MAYBE STOP FONDLING YOUR SWEATY BALLS FOR A MINUTE AND TAKE ACTION.
"Okay lets peel this onion, so we hit the ground running" 😩🤢😞
NO, LET'S NOT "HIT THE GROUND RUNNING", YOU'RE GOING TO FUCKING TRIP AND MESS UP YOUR FACE EVEN MORE. HOW ABOUT GET YOUR PILE OF SHIT IN ORDER FOR ONCE, PREPARE FOR A MEETING? HOW ABOUT THOUGHTFUL ACTION, SOME FEATURE DESIGN?
"No, just implement it quick and dirty" 🤢😡👿
OH YOU WANT IT QUICK AND DIRTY? IS THAT HOW YOU FUCK YOUR DAD AS WELL?
"Let's evaluate the fix in a few weeks. We really had good synergy here team" 🤢😫
YEAH SURE, LET'S EVALUATE THIS.... BUT LET'S EVALUATE IT RIGHT NOW: 😡
"Ahem....
1. You're always late for meetings.
2. After 6 months, you still barely know what we do as a company, you still don't know the teams, and you still don't know the product.
3. You do not listen to engineers flooding you with red flags, requiring time for a redesign to fix serious scaling issues.
4. Everything must be a quickfix, nothing is allowed to require thought, because you CAN ABSOLUTELY NOT think ahead for more than 30 seconds.
OH AND IF YOU EVER AGAIN COVER UP ONE OF YOUR MANY SHORTCOMINGS WITH THAT FUCKING SLIMEY DOUCHEBAG MANAGER VOCABULARY OF YOURS, LET'S SEE HOW MUCH SYNERGY YOU FEEL WHEN YOU'RE DEEPTHROATHING A CACTUS."18 -
Summary of the summary: Boss is an asshole. Root gets angry; boss leaves instead of picking a fight for once. This makes Root sad (and really angry).
Summary: Root has another interaction with her boss. The boss is an asshole. Root is a bitch. Root would have been so so so much more of a bitch if the boss actually fucking responded. Root is sad this didn't happen. Root might have gotten fired. That would have made Root happy. :<
-------------
Le wild blackout appears!
-- Conference call (the short-short version) --
Boss: *freaks out* Fix it! Why aren't you fixing it? You have to fix it.
Me: I'm already fixing it. 😕
Boss: You have to fix it! This is important!
Me: Then let's get off this call so I can focus on fixing it!
Boss: Okay but fix it! *begrudgingly hangs up*
-- Slack --
Me: (posting a running log of what I'm doing) This is what i discovered. this is the cause. these are the possible fixes. I picked this one because it's quick and has few consequences, though it may break ____ so it'll need followup fixes. I'll do those tomorrow. Blackout resolved!
Boss: (apparently doesn't even noticed I fixed his shitty service)
-- Next day --
Boss: I want you to work on [stupid shit] instead.
Me: But what about the followup fixes?
Boss: Top priority! because customer service!
Me: ... fine.
-- Next week (verbatim because wtf) --
Boss: Did we test that [resolution] on ______? No one thought to test this. It didnt cross anyones mind at all? Either you guys can make good decisions and document concerns or I have to be part of every decision [...]. But this is basic. SHould have been a team heads up and said if we are switching this what can it break and can we test it. [sic]
Me: Did you want me to resolve the blackout quickly and allow people to actually use our service, or spend two days checking everything that might possibly have gone wrong? I weighed the possibilities and picked the solution with the quickest implementation with the fewest consequences. You're welcome.
Me: (Quotes boss's "SHould have been a team heads up" and links my "this is what could go wrong" heads-up in Slack)
Boss: (pretends not to even notice)
Boss: (talks about customer service related crap)
What a fucking loser.
I'm so angry he didn't respond and start in on me over it. I wanted to tear him to shreds in front of everyone.
Related:
He tried adding another huge project to my plate earlier today, and I started flipping out on him for all these shitty sales features he keeps dumping on me in place of real work that i still get blamed for not finishing. The contractor stepped in before it got too heated, though, which is probably best because my reaction was pretty unprovoked. The above rant, though? Asshole doesn't read, just blames and yells when he's angry.
I really hate him.20 -
*On a programming support forum*
Guy: My compiler keeps throwing null pointer exception at line 128.
Me: Ok. Can you post your code real quick so I could figure out what is null at line 128?
Guy: No I'm not going to show my code to someone on the internet. What if you want to steal my code?
My mind: "Dude wtf why would I steal someone's code on a support forum?"
Me: *Use the next 15 minutes explaining that showing the code is necessary so that others can actually help him, and that no one on a support forum is going to steal his code.*
Guy: "You know what I'm more convinced that you want to copy my code. I might as well just try to fix this on my own."
What?14 -
Last day on the contract from hell. I'd written a project with one other person in our spare time that performed a critical business function. The following conversation was had between myself, the job thief who was handed my job and their manager, with the 10 other IBM GS "dev domain experts" assigned to that team sitting silently on zoom:
Moi: hey all, what seems to be the problem?
JT: how to update the java for requirement?
Moi: I would assume a text editor, have you tried intellij
JTM: she's talking about ticket BS-101, the data is wrong
Moi: ah, well, you might want to fix that
JT: how to fix?
Moi: update the database and update the logic that depends on it
JTM: what changes are those?
Moi: the ones described in the ticket, I would assume, I'm no longer on that project
JTM: didn't you write this application?
Moi: yes.
JTM: ok, so do you know how to fix the issue?
Moi: definitely
JTM: ok... ... Can you tell us how to fix it?
Moi: yes.
*The sound of silence*
JTM: *will* you tell us?
Moi: I would, but I'm already off the clock, and as of an hour ago I no longer have a contract. And even if I did, I don't have a contract or authorization to work on that system. I'm not actually being paid for this call.
JTM: ... What are we going to do about this?
Moi: I have no idea
JTM: ok, so we can look at getting a 1 month contract to support this
Moi: I'm sure our firm has someone who can definitely help you out
JTM: *heavy raging* ... Can you do the work?
Moi: Unfortunatley, I'm already committed to a new contract at another customer. I also don't do one month contracts. I'm an engineer, not a car wash employee
JTM: well, I don't understand how you can just leave us in the lurch like this?!
Moi: well, respectfully, it was your decision to cut me from the budget because you thought you were close enough to end of the project to get it across the line with junior resources.
Interjecting-JT: I am senior!
Moi: Right. So, basically, you took ownership of the product before go live. We advised against it, in writing, numerous times. We also notified you that we would not carry a bench, so the project resources are now working on other things. We can provide you with new resources for a minimum 6 month duration who can help you out. Also, since we've cycled out, our rate has increased per the terms of our MSA.
JTM: we don't have budget for that! How are we supposed to do this?!
Moi: *zoom glare at JT* that question is more appropriate for your finance officer and the IT director. I can send a few emails and schedule a call with your account representative and the aforementioned individuals so you can hash this out.
-_---------------
I'm free! 🥳 That said, still plenty of residual fodder I need to get out of my system on these guys. Might need to start my own Dilbert.12 -
Client: Please fix the logo.
Me: Okay, what needs to be fixed exactly?
Client: Put this word next to that word(shows me an example).
Me: Okay, no problem.
*after 5 minutes*
Client: You did not do what I asked for. Please fix the logo. Make it look better. Make it bigger and more outstanding. Dont change my logo
Me: Okay, I will revert the changes.
*Reverts to the old logo, and only does that as I do not fucking know what to do with oudstanding for fucks sake*
Client: I will talk to your boss. No one cares. My web site is not even finished and no one cares.
*It is finished, now the client looks for small things to make a big issue of*
Me: Could you please tell me in detail, what do you need to be fixes?
Client: I want the wording better. Im going to talk to your boss...
well fuuuck fucking fuck Im pissing blood!!!!!!!!!8 -
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
Hey, Root? How do you test your slow query ticket, again? I didn't bother reading the giant green "Testing notes:" box on the ticket. Yeah, could you explain it while I don't bother to listen and talk over you? Thanks.
And later:
Hey Root. I'm the DBA. Could you explain exactly what you're doing in this ticket, because i can't understand it. What are these new columns? Where is the new query? What are you doing? And why? Oh, the ticket? Yeah, I didn't bother to read it. There was too much text filled with things like implementation details, query optimization findings, overall benchmarking results, the purpose of the new columns, and i just couldn't care enough to read any of that. Yeah, I also don't know how to find the query it's running now. Yep, have complete access to the console and DB and query log. Still can't figure it out.
And later:
Hey Root. We pulled your urgent fix ticket from the release. You know, the one that SysOps and Data and even execs have been demanding? The one you finished three months ago? Yep, the problem is still taking down production every week or so, but we just can't verify that your fix is good enough. Even though the changes are pretty minimal, you've said it's 8x faster, and provided benchmark findings, we just ... don't know how to get the query it's running out of the code. or how check the query logs to find it. So. we just don't know if it's good enough.
Also, we goofed up when deploying and the testing database is gone, so now we can't test it since there are no records. Nevermind that you provided snippets to remedy exactly scenario in the ticket description you wrote three months ago.
And later:
Hey Root: Why did you take so long on this ticket? It has sat for so long now that someone else filed a ticket for it, with investigation findings. You know it's bringing down production, and it's kind of urgent. Maybe you should have prioritized it more, or written up better notes. You really need to communicate better. This is why we can't trust you to get things out.
*twitchy smile*rant useless people you suck because we are incompetent what's a query log? it's all your fault this is super urgent let's defer it ticket notes too long; didn't read21 -
This one colleague at my work.
I'm pretty new to a lot stuff and I stress out about some stuff a lot more than the other guys, mostly because I'm scared I might not be able to fix it.
But whenever that happens, I explain this guy what's going on and then, while making jokes, talking in a very calming way, he always knows to fix it in no time!
For everyone who does this, thanks for being there for the little/new guys :)1 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
Story about an obscure bug: https://twitter.com/mmalex/status/...
"We had a ‘fun’ one on LittleBigPlanet 1: 2 weeks to gold, a Japanese QA tester started reliably crashing the game by leaving it on over night. We could not repro. Like you, days of confirmation of identical environment, os, hardware, etc; each attempt took over 24h, plus time differences, and still no repro.
"Eventually we realised they had an eye toy plugged in, and set to record audio (that took 2 days of iterating) still no joy.
"Finally we noticed the crash was always around 4am. Why? What happened only in Japan at 4am? We begged to find out.
"Eventually the answer came: cleaners arrived. They were more thorough than our cleaners! One hour of vacuuming near the eye toy- white noise- caused the in game chat audio compression to leak a few bytes of memory (only with white noise). Long enough? Crash.
"Our final repro: radios tuned to noise, turned up, and we could reliably crash the game. Fix took 5 minutes after that. Oh, gamedev...."5 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
Manager: Hey how come you left so many comments on my PR?
Dev: Well you’ve just recently learned how to code so there’s going to be a lot of things to learn beyond what you’ve picked up in your online coding tutorials. Don’t worry it’s only minor things like you put everything all in one function, left outdated comments in the code, have if statements 4 levels deep, have a console.log after every line of code some of which log .env variables, skipped error handling, cast to “any” a bunch instead of using more specific types, didn’t write any tests and some unrelated tests are now failing due to a circular dependancy.
Manager: THAT IS SO DISRESPECTFUL!!APPROVE MY PR IMMEDIATELY. IT WASN’T EVEN EASY FOR ME TO CREATE THE PR, NOW I HAVE TO MAKE AN UPDATE!? YOU’RE THE DEV, YOU SHOULD FIX IT NOT ME!! NEVER COMMENT ON ANY OF MY PRS AGAIN.10 -
I am starting to get more pissed off than I should be by one particular type of rant on here.
Quote:
My boss/senior/coworker did not know how to do XXX even though he is supposed to have more experience than me. I had to fix his goddamn problem blah blah blah.
If you'd have that attitude on my team I'd be spending a lot of time trying to get you off of it. A team MUST help each other. If you think you're better than others you either teach them or get the fuck out. If you don't understand or know something that's fine and it perfectly normal to have others explain it to you.9 -
Wrote 800-1200 LOC
It went through code review which was apparently my first code being reviewed
Took me 1 month and more to fix most changes (per day more than 10-12 hrs of effort)..
That 1 month was a nightmare. Every day I thought of giving up programming. I shouted to myself every night why did I never considered these myself. How can I be so dumb.
Half of the reviews I didn't even know how to implement. Didn't even know what to Google.
I consider it as one of my toughest phase as a developer till date.
I still get goosebumps remembering those days.9 -
So today (or a day ago or whatever), Pavel Durov attacked Signal by saying that he wouldn't be surprised if a backdoor would be discovered in Signal because it's partially funded by the US government (or, some part of the us govt).
Let's break down why this is utter bullshit.
First, he wouldn't be surprised if a backdoor would be discovered 'within 5 years from now'.
- Teeny tiny little detail: THE FUCKING APP IS OPEN SOURCE. So yeah sure, go look through the code! Good idea! You might actually learn something from it as your own crypto seems to be broken! (for the record, I never said anything about telegram not being open source as it is)
sources:
http://cryptofails.com/post/...
http://theregister.co.uk/2015/11/...
https://security.stackexchange.com/...
- The server side code is closed (of signal and telegram both). Well, if your app is open source, enrolled with one of the strongest cryptographic protocols in the world and has been audited, then even if the server gets compromised, the hackers are still nowhere.
- Metadata. Signal saves the following and ONLY the following: timestamp of registration, timestamp of the last connection with the server (both rounded to the day so not on the second), your phone number and your contact details (if you authorize it) (only phone numbers) in HASHED (BCrypt I thought?) format.
There have been multiple telegram metadata leaks and it's pretty known that it saves way more than neccesary.
So, before you start judging an app which is open, uses one of the best crypto protocols in the world while you use your own homegrown horribly insecure protocol AND actually tries its best to save the least possible, maybe try to fix your own shit!
*gets ready for heavy criticism*19 -
My boss is still forcing us to support IE11. Recently, we started having even more bugs with one of our vendors on IE. We filed bug reports with the vendor to fix it, and they came back with "no. Why would we fix anything for IE11? Not even Microsoft is fixing anything for IE11." Boss's answer: well, let's make a separate component for IE11. Probably using flash and/or silverlight. We asked about redirecting IE traffic to Edge, he said that's "the nuclear option." So, doing the thing that Microsoft suggests, that involves not much work at all is "the nuclear option"; ignoring industry standards and recommendations, introducing well known security vulnerabilities, losing money, and trying to circumvent the vendor that serves out our major product, however, is totally reasonable. Our IE traffic is less than 3% of our users at this point.24
-
I have been 6 hours trying to fix a bug in more than 3000 lines of code.
Removed one line and bug fixed...
WHAT THE FUCK
I will pack my things and go home...4 -
Here's a true story about a "fight" between me and my project manager...
I've been working as a Frontend developer for nearly two years, managed to acquire a decent amount of knowledge, in some cases well above the rest of my coworkers, and one day I got into a bit of a disagreement with my project manager.
Basically he wanted me to copy/paste some feature from another project (needless to say, that... "thing" has more bugs than an ant farm), and against his orders I started doing that feature from scratch, to build a solid foundation from the very start.
I had a lengthy deadline to deliver that feature, they were expecting me to take some time to fix some of the bugs as well, but my idea was to make it bug-free from the moment the feature was released. Both my method and the one I should be copying worked the exact same, but mine was superior in every way, had no bugs, was scalable and upgradeable with little effort, there was no reason not to accept it.
We use scrum as our work methodology, so we have daily meetings. In one of those, the project manager asked me how was the progress on that new feature, and I told him I was just polishing up the code and integrating it with the rest of the project, to make sure everything was working properly. I still had a full day left before the deadline set for that feature, and I was expecting to take about half an hour to finish up a couple lines of code and test everything, no issues so far...
But then he exploded, and demanded to know why wasn't I copying the code from the other project, to which I answered "because this way things will work better".
Right after he said that the feature was working on the other project, copying and pasting it should take a few minutes to do and maybe a couple of extra hours to fix any issues that might have appeared...
The problem here is, the other project was made by trainees, I honestly can't navigate through 3 pages without bumping into an average of 2 errors per page, I was placed into this new project because they know I do quality code, and they wanted this project to be properly made, unlike the previous one, so I was baffled when he said that he preferred me to copy code instead of doing "good" code...
My next reply was "just because something has been made and is working that doesn't mean that it has been properly made nor will work as it should, I could save a few hours copying code (except I wouldn't save any, it would take me more time to adapt the code than to do it from scratch) but then I'll be wasting weeks of work because of new bugs that will be reported over time, because trust me, they will appear... "
I told him this in a very calm manner, but everybody in the meeting room paused and started staring at me, not many dare challenge that specific project manager, and I had just done that...
After a few seconds of silence the PM finally said... "look, if you manage to finish your task inside the set deadline I'll forget we ever had this conversation, but I'll leave a note on my book, just in case..."
I finished that task in about 30 mins, as expected, still had 7 hours till deadline, and I completely forgot about that feature until now because it has never given any issues whatsoever, and is now being used for other projects as well.
It was one of my proudest/rage inducing moments in this project, and honestly, I think I have hit my PM with a very big white glove because some weeks after this event the CEO himself came to the whole team to congratulate us on the outstanding work being made so far, in a project that acted against the PM's orders 90% of the time.11 -
At the data restaurant:
Chef: Our freezer is broken and our pots and pans are rusty. We need to refactor our kitchen.
Manager: Bring me a detailed plan on why we need each equipment, what can we do with each, three price estimates for each item from different vendors, a business case for the technical activities required and an extremely detailed timeline. Oh, and do not stop doing your job while doing all this paperwork.
Chef: ...
Boss: ...
Some time later a customer gets to the restaurant.
Waiter: This VIP wants a burguer.
Boss: Go make the burger!
Chef: Our frying pan is rusty and we do not have most of the ingredients. I told you we need to refactor our kitchen. And that I cannot work while doing that mountain of paperwork you wanted!
Boss: Let's do it like this, fix the tech mumbo jumbo just enough to make this VIP's burguer. Then we can talk about the rest.
The chef then runs to the grocery store and back and prepares to make a health hazard hurried burguer with a rusty pan.
Waiter: We got six more clients waiting.
Boss: They are hungry! Stop whatever useless nonsense you were doing and cook their requests!
Cook: Stop cooking the order of the client who got here first?
Boss: The others are urgent!
Cook: This one had said so as well, but fine. What do they want?
Waiter: Two more burgers, a new kind of modern gaseous dessert, two whole chickens and an eleven seat sofa.
Chef: Why would they even ask for a sofa?!? We are a restaurant!
Boss: They don't care about your Linux techno bullshit! They just want their orders!
Cook: Their orders make no sense!
Boss: You know nothing about the client's needs!
Cook: ...
Boss: ...
That is how I feel every time I have to deal with a boss who can't tell a PostgreSQL database from a robots.txt file.
Or everytime someone assumes we have a pristine SQL table with every single column imaginable.
Or that a couple hundred terabytes of cold storage data must be scanned entirely in a fraction of a second on a shoestring budget.
Or that years of never stored historical data can be retrieved from the limbo.
Or when I'm told that refactoring has no ROI.
Fuck data stack cluelessness.
Fuck clients that lack of basic logical skills.5 -
Multiple weird ones but one specifically where I fixed a bug over and over again and the second I pushed and deployed, the fix was gone both locally and remote.
I kept going more and more crazy and had rage attacks and such.
"Wait what, I changed and fixed this.. Let's try again"
"Huh, I definitely changed this..."
"Oh no, I fucking changed you"
"Go fuck yourself, I fixed this and pushed already, you can't just fucking disappear on me!"
"Oh yeah no of course, disappeared again, totally fucking logical. GET BACK HERE"
"I FIXED YOU A GAZILLION TIMES ALREADY, DON'T YOU DISAPPEAR ON ME AGAIN"
*NO. NO. NO. NO. NO. I. FUCKING. FIXED. YOU"
It went worse and worse for a while and then I woke up with a "....ahh" feeling 😅2 -
I'm the sole developer at work.
Literally the entire company, save myself, is sales people. (We have one remote mobile contractor as well, but he only does mobile; I'm responsible for everything else.)
I inherited a gigantic pile of nightmare from the previous "senior-level intern" solitary dev/CTO, and I'm still trying to figure out the bulk of it, meaning everything takes longer.
Anyway, we have a meeting roughly once a week, and during each of these -- and several times throughout each week -- the salespeople say things like "We should address this" or "This should be our top focus" or "We really need ___ so I can sell more merchants" or "___ doesn't work right; we should fix it." All of these "we"'s and "our"'s, of course, mean me.
So, today, I decided I'd make a list of everything I have to do, and their general size. Assuming large projects will take one month, medium projects will take one week, and small projects will take one day... I have four months, two weeks, and four days of work ahead of me. (yet I know one of those large projects will take at least two months...)
Make it stop ;;14 -
18 hours can't fix a bug
go to stack overflow spend 2h writing the question
post question
of course get a downvote in less than 50 seconds
then i thought: hold on while people answer me here, let me try one more thing
i try one more thing
it works
EVERY TIME, JUST AFTER ASKING SOMEBODY FOR HELP, I SOLVE IT BY MYSELF A FEW MINUTES LATER.
DOES THIS HAPPEN TO ANYONE ELSE?14 -
11:45am: "Ok one more issue to fix and then I can take a nice long break and relax a little bit. My next meeting isn't until 2.
12:45pm: "Well this issue is taking longer than expected but that's okay. I can grab lunch and still relax a little bit."
1:59pm starving, thirsty and really need to pee and can only choose one. Oh, and the issue still isn't fixed: "god dammit."6 -
I have my best moments but the first time I felt badass about computers was when I was at kindergarten.
There was one computer with one cool game with skateboard. I wanted to play but the other kids didn’t let me.
I thought that if it look like I fix the computer they will let me. I took me month or little more but I made shutdown bat(I didn’t really understood fully) and I added it to the game shortcut from usb.
One of the other kids started the game and the computer turned itself off. Hi tried a few times and then I offered to fix it, I created new shortcut replacing the “hacked” one and the game ran.
From that moment the computer and the game were always free for me.7 -
Prologue
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Part 1
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Part 2
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
TerminarzeController.DeleteTerminarzShematyDlaLekarza
Part 3
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Epilogue
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1 -
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 -
!rant
Let's take a moment to appreciate interested and enthousiastic non-developers who really want to learn a programming language.
I am studying Medical IT at my college and most of my classmates aren't coming from an IT background.
We're currently working with Java, PHP, JavaScript and some require Node for their semester projects.
Some of my classmates approach me when they're stuck while coding and I try to teach them as much as possible so they understand what they are doing wrong and how to fix it.
I also show them how they can optimise their code step by step and they love it!
As a classmate told me yesterday:
"It's always so much fun working with you. I come up with a small problem, but I end up learning so much more about programming when solving a problem with you. I appreciate that."
It's a mindset I've learned when I was doing my developer apprenticeship back in the day. One of my colleagues told me: "if they want your help because they need a quick fix, tell them to kiss your ass. If you know they've already tried everything they could and ask you specifically because they want to understand what they are doing wrong, they are future developers with great potential, so go teach them."
May the force be with you, my enthousiastic little non-devs ❤️6 -
So this is how I met my girl on github.
I wanted to built something like a media center, primary for music, but using YouTube as source. I started looking for a lib. Found a broken one. Opened an issue but got a comment: "Can't fix because, you get ... [read more]13 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
Worst client request.
Craziest client.
Worst accident.
Accident you thought were impossible in the dev world.
Story time, that one time where you f*cked up really bad.
Best boss.
Nicest client.
Most satisfying hobby project.
Best dev food.
Most helpful accident.
Your favorite project you had to trash, explain why.
Weirdest thing someone asked you to fix because you worked with computers.
Most memorable thing from devRant.
Best thing to happen to you because of devRant.
Its 6am and i feel productive, its not even my app got dammit.
Project you took too far.
Best/worst drunk coding experience.
Weirdest thing you ever ended up fixing because you know stuff about computers.
Worst setup you have seen someone have.
Worst treated hardware you have ever seen.
Best skill to have picked up because of your interest for development, but isnt completely dev related.
Best/worst choice in your carreer, what happened.
Sketchiest email a coworker, friend, boss or client sent.
That one accident that prevented you from using your computer or the internet.
Moment when you thought your dev environment would get a huge boost, but ended with a plot twist.
Worst disturbance while working.
If i come up with more ill either post again, or comment here. This was all i could get off the top of my head, believe it or not.
Edit, gotta add this one: Cable porn3 -
Okay lets write this before i go mad...
I'm one of those guys who says "use the os which suits you the most, or you're most familiar with", and i'v always been a windows guy, didn't really have any reason to use linux, because for school stuff, or programming (java and android and c) windows was great enough...
BUT MOTHERF@CKERS at microsoft, i'v had enough...
First my handheld computer goes nuts, because windows is eating 80% of processor, and if i fix it, then some other kind of windows related thing eats up that much, and you know what? I've been okay with that, because thats only a handheld computer, but boy, didn't my main computer start to do the same?!?
I cannot do anything, basically i start something trivial up (by trivial i mean trivial, like idk, a texteditor not even a browser, or an ide or anything that would take a bit of more ram) and my computer cant do shit....
I'm so mad.... Currently installing elemantary os... F@ck this shit i'm out...
(And lets not forget the hours of 'updates' which dont do shit....)13 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*6 -
I recently joined this big MNC after shutting down my own startup. I was trying to automate their build process properly. They were currently using grunt and I favor gulp, so I offered to replace the build process with gulp and manage it properly.
I was almost done with it in development environment and QA was being done for production.
In the meantime I was trying to fix some random bug in a chrome extension backend. I pushed some minor changes to production which was not going to affect the main site. That was in the afternoon.
This Friday my senior rushed to me. It was like he ran six floors to reach me. He asked, did you push the new build system to production, I refused. He then went to the computer nearby and opened the code.
It was Friday and I was about to leave. But being a good developer, I asked what's the problem. He told me that one complete module is down and the developers responsible for them left for the day already and are unreachable.
I worked on that module multiple times last month, so I offered my help. He agreed and we get to work.
The problem was in the Angular front end. So we immediately knew that the build process is screwed. I accidentally kept the gulp process open for anyone, so I immediately rebuilt using grunt and deployed again, but to no success.
Then I carefully analyzed all the commits to the module to find out that I was the one who pushed the change last. That was the chrome extention. I quickly reverted the changes and deployed and the module was live again. The senior asked, how did you do that? I told the truth.
He was surprised that how come that change affect the complete site too. We identified it after an hour. It was the grunt task which includes all the files from that particular module, including chrome extension in the build process.
He mailed the QA team to put Gulp in increased priority and approved the more structural changes, including more scrutiny before deployment and backup builds.
The module was down for more than 5 hours and we got to know only after the client used it for their own process. I was supposed to be fired for this. But instead everyone appreciated my efforts to fix things.
I guess I am in a good company 😉4 -
"I strive for code quality and maintainability. I actually do. And i will not work for a company that does not care about it and just wants something done as fast as possible.
The only time i will do something quick and dirty is if it's actually urgent. And even then with one condition - my next task will be to fix it properly.
I do not care about your deadlines. I will do my best to meet them, but not at the expense of code quality. I've seen too many projects fall into technical debt, where productivity is so low, that the only way to move forward is hire more people and start working on a project 2.0
And please do not lie about how great your company is, if it's not. These kind of things surface very soon, and you will have wasted both of our time, because as i said - i will not work for a company that does not care about code quality."
you think i'll ever get a job again if i put this on my CV ? :D10 -
i am BEYOND pissed at google.
as some of you know, i recently got android studio to run on a chromebook (you read that right), but it being a chromebook and google being a protective fucktard of their crappy operating system, i had to boot into bios every time i started it.
when i was with some friends, i started up the chromebook, and left, after telling my friends how to boot the chromebook.
ten seconds and literally one press of the esc button later, he broke the entire thing.
but that's not what that rant was about, i honestly knew it would happen eventually (although, this wasn't the best time).
so now this screen pops up.
"chrome os is damaged or missing, please insert a usb recovery drive" or something like that.
well, i'll create one. simple enough.
no wait, this is google, just your average 750 billion dollar company who cares more about responsive design then a product actually responding.
i started to create the recovery usb. of course, chrome developers thought it would be a good idea to convert the old, working fine, windows executable usb recoverer, and replace with with a fucking chrome extension.
i truly hope someone got fired.
so, after doing everything fine with the instructions, it got to the part where it wrote the os image to the usb. the writing stayed at 0%.
now this was a disk thing, writing os's and shit, so i didn't want to fuck it up. after waiting ten minutes, i pressed 'cancel.'
i tried again many times, looked things up, and frantically googled the error. i even tried the same search queries on bing, yahoo, duckduckgo and ecosia because i had the feeling google secretly had tracked me over the past 7 years and decided to not help me after all the times i said google was a fucker or something similar.
google is a fucker.
after that, i decided to fuck with it, even if it formats my fucking c drive.
i got to the same point where the writing got stuck at 0% and proceeded to fuck. i start spamming random keys, and guess what?
after i press enter, it started.
what the fuck google?
1000s of people read the article on how to make the recovery drive. why not tell them to press the goddamn enter key?
i swear there are hundreds of other people in my same situation. and all they have to do is press one fucking key???
maybe tell those people who tried to fix the shit product you sold them.
fuck you google.9 -
Fibonacci for developers.
One Developer writes bad code and leaves. Company hires two more to fix the code and cycle continues. Now you know why software developers are in demand.2 -
!rant
Sad to make my first post here a depressing one, but I really hope that some of you have some tips to help in this line of work.
If anyone of you suffer from depression, how do you cope with it? How do you keep yourself motivated and don't start this self-loathing that I'm currently in? Other than antidepressants or therapy (already have meds).
Why I'm asking is because I have a very tough time getting motivated these days and right now I really need to be most active. I need to do a lot of small and big stuff at my work and at the same time try to graduate from school. The deadline for my thesis is at the start of May, which surely seems far away now, but it does not feel like enough.
The more I understand the systems that I'm working with, the more I can see how much I may have f*cked everything up and I build this never-ending list of tasks for myself in my head to try and fix everything. Which leads to a complete lockup with anxiety and I can't get anything done.
I don't believe in myself or my code anymore. I'm afraid of pushing anything to production. I also don't have anyone else to help me with my work, as I'm the only developer in the company (we have a service provider where most of the big stuff happens).
To add to all this, I have been sick for the last 4 days.
I truly am in a bad place right now.22 -
So this fucktard decided to write the most inefficient way to collect thousands of records.
The system I am working on allows users to book facilities. There is one feature where an admin can generate reports on the bookings made between any two dates. A report for bookings made between January and April generates 7878 records.
So this shithead, after making a call to the server and receiving 7878 records decides to put it through 4 fucking foreach loops (this takes around 44.94 seconds).
After doing that, he passes it to the controller to go through ANOTHER foreach loop to convert those records into a JSON string, using..string..manipulation. (this takes bloody 1 minute and 30 seconds).
Now, my dear, dear supervisor is asking me to fix this saying that there must be a typo somewhere. Typo my arse. This system has been up for more than a year. What have they been doing all this time??? Bloody hell. Fucking idiots everywhere. I now have to refactor
..fucking refactor.2 -
The only hacked sites I had to fix were running on ... [prepare your stomach] ... Joomla.
I'm not sure if there is even one single solid developer for Joomla. This shit piece has more vulnerabilities than a crack hobo infested with pest-ebola-hyperAIDS.
The sites were full of hidden viagra and pr0n ads and links so the crawlers would list them.
Luckily for me, I was able to pursuade the clients in all 3 cases to build a new site from scratch on a different CMS.2 -
What an absolute fucking disaster of a day. Strap in, folks; it's time for a bumpy ride!
I got a whole hour of work done today. The first hour of my morning because I went to work a bit early. Then people started complaining about Jenkins jobs failing on that one Jenkins server our team has been wanting to decom for two years but management won't let us force people to move to new servers. It's a single server with over four thousand projects, some of which run massive data processing jobs that last DAYS. The server was originally set up by people who have since quit, of course, and left it behind for my team to adopt with zero documentation.
Anyway, the 500GB disk is 100% full. The memory (all 64GB of it) is fully consumed by stuck jobs. We can't track down large old files to delete because du chokes on the workspace folder with thousands of subfolders with no Ram to spare. We decide to basically take a hacksaw to it, deleting the workspace for every job not currently in progress. This of course fucked up some really poorly-designed pipelines that relied on workspaces persisting between jobs, so we had to deal with complaints about that as well.
So we get the Jenkins server up and running again just in time for AWS to have a major incident affecting EC2 instance provisioning in our primary region. People keep bugging me to fix it, I keep telling them that it's Amazon's problem to solve, they wait a few minutes and ask me to fix it again. Emails flying back and forth until that was done.
Lunch time already. But the fun isn't over yet!
I get back to my desk to find out that new hires or people who got new Mac laptops recently can't even install our toolchain, because management has started handing out M1 Macs without telling us and all our tools are compiled solely for x86_64. That took some troubleshooting to even figure out what the problem was because the only error people got from homebrew was that the formula was empty when it clearly wasn't.
After figuring out that problem (but not fully solving it yet), one team starts complaining to us about a Github problem because we manage the github org. Except it's not a github problem and I already knew this because they are a Problem Team that uses some technical authoring software with Git integration but they only have even the barest understanding of what Git actually does. Turns out it's a Git problem. An update for Git was pushed out recently that patches a big bad vulnerability and the way it was patched causes problems because they're using Git wrong (multiple users accessing the same local repo on a samba share). It's a huge vulnerability so my entire conversation with them went sort of like:
"Please don't."
"We have to."
"Fine, here's a workaround, this will allow arbitrary code execution by anyone with physical or virtual access to this computer that you have sitting in an unlocked office somewhere."
"How do I run a Git command I don't use Git."
So that dealt with, I start taking a look at our toolchain, trying to figure out if I can easily just cross-compile it to arm64 for the M1 macbooks or if it will be a more involved fix. And I find all kinds of horrendous shit left behind by the people who wrote the tools that, naturally, they left for us to adopt when they quit over a year ago. I'm talking entire functions in a tool used by hundreds of people that were put in as a joke, poorly documented functions I am still trying to puzzle out, and exactly zero comments in the code and abbreviated function names like "gars", "snh", and "jgajawwawstai".
While I'm looking into that, the person from our team who is responsible for incident communication finally gets the AWS EC2 provisioning issue reported to IT Operations, who sent out an alert to affected users that should have gone out hours earlier.
Meanwhile, according to the health dashboard in AWS, the issue had already been resolved three hours before the communication went out and the ticket remains open at this moment, as far as I know.5 -
I had a huge epiphany on Friday... not all developers enjoy coding.
Discovered when they brought down 2 of our environments, well told them what was wrong with the changes in their code that caused the environments to break, gave them links directly to the file in the gitlab repo that needed to be updated, and...
They fucking went home. The change would’ve taken all of about 30-45 seconds to update and they fucking left.
This person’s team lead come storming in pissed off because her manager is furious about 2 environments going down and preventing everyone else from being able to deploy their changes.
We provide the exact same details to the team lead about what needs to be changed, and advise that her team member took off....
30 mins later, her manager is storming up to us (devops/sre) livid as hell.
Explain the situation for a third time... manager is like, why can’t you guys fix it?
Look here you dense motherfuckers, we can fix the code. We can be the plumbers that clean up your shit. But what value do you gain as a developer if you don’t understand how the systems work and you keep pushing shit in?
Made the changes, fixed the environments, done right? Wrong.
The original developer made more changes not knowing what would happen and thoroughly fucked the environments again.
This dumb-fucking dumpster fire of a dude then sends us a slack message. “It’s down again, can you fix it?”
Our manager steps in and tells us to send him a link to the logs and have him fix it himself!
Thank goodness we have a badass manager.
Send logs, send repo file links (again), and send line numbers in the logs to try and help just a bit more. Dude goes almost the whole day without fixing it, environments are down, other devs are pissed, we throw this dude to the wolves. His manager starts to head over and was about to talk with my team lead when our manager steps out of his office and tells him the in’s and out’s of the situation and that our job isn’t to play log parser/error fixer for the developers. This dude that’s breaking the environments needs to be the one to fix the issue and his team lead should be aware of the problems and should have been able to correct his errors before it ever came to us.
The amount of hand-holding we do is ridiculous.
(Disclaimer, this one guy making some mistakes doesn’t sound too bad, but this is actually a common occurrence for like 40% of all of our developers)
We literally have interns still in college running circles around some of our full time devs. I know I’m not a developer, but for anyone that’s new-ish to developing, when you see shit like that please don’t lose hope. Those ass-hats got into programming purely for a paycheck, not because of passion.
Stick with it and your greatness will know no bounds 👍
As for you craptastic dipstick lickers, FUCK YOU!!! Go back to school and learn how to give a damn.4 -
PM: Ok Android, i've reviewed the latest build, you are good to release. Waiting on iOS's build to test.
Me: ... are we not holding all builds until we hear back from backend about that bug?, as we likely have to change something on our side?
PM: Which bug?
Me: ... the only one we discussed yesterday in the team meeting.
PM: How many customers is it affecting?
Me: that we know of, one ... the CEO of our company
PM: oh that one, yeah were not doing that anymore.
Me: WHAT? i've been waiting all day / night to hear back. Why are we not doing this?
PM: ¯\_(ツ)_/¯ ... Everything is too messy at the minute anyway, the release plan is changing every day. Need to keep it back in line.
Me: ... the plan has changed exactly once. We had a plan at the start of last week for the last release, we changed it YESTERDAY to include 2 critical bug fixes. The only issue with the plan changing is nobody telling us these aren't bugs anymore
PM: We can discuss tomorrow in the team meeting.
CEO: oh hey guys, yeah we pulled that bug fix. Its not really a bug, more like a missing feature. No way it will get done before xmas. Going to live with the way it works for now and fix it properly next year.
Me: Ok, fair enough, but we really need to be told these decisions.
CEO: sure, sorry, didn't think anyone was blocked by this. What was the blocker?
Me: ..... you asked me yesterday to get this bug fix in the build ... you asked for the final build to be made today so we can go through the app store review. As we all discussed yesterday, today is kind of the last day we can really do this.
CEO: ok, its late, we can discuss this tomorrow in the team meeting.
Me: ..... ..... ..... ..... sure7 -
It's my first week working at shithole.co (can i say that?). My boss is a micromanaging asshole who knows the bare minimum re: programming. He thinks css is hard (no offense). I'm fresh outta college. He expects me to be able to do a very complicated api development through an equally complicated authorization process. Every fucking day "Is it working yet?" [This is my first week on the job]. I don't think he's read the documentation and I don't think he understands how to. As I am typing this out I realize I'm more educated than this dumb ass. Oh, some more context. Our senior dev is working on a more important project So we don't have time to bother him? So I am doing his job for 1/10 the cost. Oh, and i'm not allowed to contact him because he is too important. When the app inevitably crashes and no one knows how to fix it. I will give them my nutsack to swallow (can i say that?).14
-
I didn't scream.. just told him to jump off of terrace..
What ticked me?! He was a support guy..slowest mofo ever..
I was in the middle of fixing major fuckup on prod, when our VPN to client disconnected. I rushed over to support to ask if it is 'just' an expired session (which he was in charge of renewing but constantly fucked up) or if there is some other problem, so I know how to proceed..do I need to contact our sysadmins, client's support guys etc..
He
started
to
slooooooooowly
explain
I
am
not
the
only
one
with
VPN
problems
...
Was that what I asked you?! // he had an annoying habit of slooooowly talking and explaining unrelated things & personal stuff that bothered him & most of the times he chose the most time sensitive period to drone off..
So I cut him of saying, that others were probably not 'tinkering' with production and that I need this back ASAP, so if he could tell me when the session will be renewed or if there is something else problematic..
He said he will check..I didn't move.. he looked at me insurprise, you want me to check *NOW*?! Yeah, it's urgent.. He proceeded very very veeeery slooooowly, taking the support phone../* he was even eating sandwich during that, so only one hand free, typing one letter at a min */
I was finaly notified that the session expired and that he will fix it soon (meaning in 15-20mins o.O which should not take him more than 5).. and was like 'can I do sth else for you'?! Yeah, do the backflip.. you know the rest..3 -
PM: Can we have it so the usernames are case-sensitive?
Me: uhh, sure I guess.. But thats like really pointless and adds no real usefulness.. In fact makes the whole logging in thing a tad more complicated for no reason..
PM: Well this one other product we have uses "Admin" for the login versus yours that used "admin" so it needs to be implemented.
(note that mine accepted "Admin" anyways...) *implemented it*
PM: So there's a problem with the username sort, it sorts by capitals then lowercase.. eg:
alpha
beta
Alpha
Me: Yeah, you asked for case-sensitive usernames..
PM: Well can you fix it?
Me: I could create a second field within the user data that is the username in all lowercase and sort by that. But that negates like all of the whole case-sensitive usernames thing.. OR I could drop all this actually important work I'm doing and do a whole bunch of work on a custom sort for this useless fucking feature you wanted me to put in..
*it's been 2 weeks and still no reply...* -
So following from this rant:
https://devrant.io/rants/618679/...
Warning long rant ahead
I resigned and my last day is tomorrow, I've released the app updates a week ago, patched a couple bugs for iOS.
My boss and the idiot who can't open an email on his phone go off to use the app as part of some training thing for the company.
I got a call yesterday saying the Android app has issues and I proceeded to ask my boss what type of phone they have:
"Samsung and Huawei"
I thought okay I need more info "what type of phone..." He responds with wouldn't have a clue....
I can't see the phone, didn't get a screenshot or anything like that but I'm expected to just know what the phone is.
My boss goes on to say yeah it's the app (he is literally the most computer illiterate person I could think of aside from guy who can't open emails on phone, how the fuck do you know that?)
Me: "From all the testing I've done the app works"
Look if you want a more robust error free update hire more than one developer I can't test every single fucking use case to determine the app is 100% bug free, I've tested on at least 10 phones before releasing the update just to be absolutely sure I got everything done and okay I missed something.
So I proceed to get my boss to tell the guy who has the issue I'll sign him up to the testing app to find out the cause and hopefully fix the issue, I setup crashlytics send the email and get a call from my boss saying the guy didn't get the email.
Well okay is it my problem that we have two emails for the same person where one of them is a typo? No it's the guy who asked and wrote down the email instead of actually forwarding a blank email from him to be absolutely sure, I sent the email to both just to be on the safe side.
I swear if he is another idiot who can't open emails on his phone well I can't help him, app works on my phone and the phones at work.
I need a phone where it doesn't work so I can get a solution I know works but if I have to deal with these idiots that can't even check an email how the fuck do I do that?
Sorry about the formatting just needed to get this off my chest before I start work.
Oh and I get asked "so who'll fix the bugs when you're gone" well I can't (in reality I'm not working for free, I'm not traveling 1 1/2 commute time to fix one bug for free, go hire someone you think will love to work for minimum wage and let's see if this guy can do what I did)8 -
So recently we re-orged to a product vs engineering (yes, I meant vs, it’s contentious) organizational structure. One of the former dev leads got picked for product and went on this lovely ass-kissing spiel about how great this was in front of our new bosses. The next day(!) he was telling his old team what to do directly to his buddy the scrum master, who works for me and casually mentioned it. How am I supposed to run engineering and deliver if every P.O. can end run around the structure? I hate all this.
Also, if the new PE tells me one more time all my problems can be solved with SQS, I’m gonna explode. Not all dev problems are a nail to fix with an sns hammer. Asynch comms has its uses, it is not the *only solution.
I feel like I’m over reacting, and yet, I still feel rage…and happy to find an anonymous place to rant about it.11 -
Had 2 days of vacation. Theoretically (plus weekend, plus 2 days) 6 days.
Worked today… At Saturday.
Some administrators forgot to properly check bandwidth limitations....
*rolls eyes*
We had a major version upgrade of some server software at Monday.
Guess why I got called...
Of course it MUST be the software upgrade.
It couldn't be the new hardware that was setup 2 weeks ago and on which a lot of "important" VMs were migrated.
*eyes roll inside till only white is visible*
The even more annoying thing is that it wasn't that hard to figure out.
Looking at monitoring, we had spikes on 20 Gbit/s (roughly 2.x Gigabyte/sec - Ethernet) connection of some server at roughly 1.9 plus Gigabyte/sec.
IO latency spikes that made the graph look like a heartbeat EKG with severe tachycardia...
*additionally to white eyes starts cursing in reverse latin*
Incompetent admin answer: Booboo that can only be your fault - the developers must investigate.
Me (just a tad more polite): Meep Meep mother fucker, get your shit together. If the software would eat that much, the network would be a niece chunk of charcoal. Plus the time (sending instead of links to monitoring pictures… guess the lazy fucktard who's brain is a vacuum didn't even bother to check it)...
NOTICE SOMETHING?!
Incompetent admin: It starts at the same time. Always.
After wasting roughly another hour of time discussing with him, I just hanged up the video call.
Called someone I knew from the admin department and turns out that - drumrolls please - the incompetent admin was someone who got recruited 3 months ago…
*turning into antichrist*
I then had a not so polite discussion about how the only competent people could take days off (all except incompetent admin were on vacation) and the seemingly incompetent fresh recruit - who by the way NEVER mentioned this - was the only one left of the admin department. Which would be bad alone, but no - he even got the 24/7 emergency support role for the whole weekend.
Sometimes this company and HR especially notoriously drive me insane...
Guess next week there will be some HR barbecue.
But yeah. After a lot of raging around we nailed it down to the traffic of backups and could fix it.
Roughly 4 hours of analysis, communication, raging and hatred.
Just one hour implementing shit.
*goozfraba*11 -
Saw some cheapie little radio in the dollar store, bought 2 of them for reverse engineering. Powered it from my lab bench power supply as usual, and tested whether it actually works before doing anything else.. then I noticed that the tunes were actually quite catchy, so I just ended up listening.
Then I started to notice that the audio wire I was using (the one I've spent a couple of days building earlier) had intermittent audio issues where the right driver would drop out when the wire was held in certain positions. Oscilloscope probing showed that there was some sort of disconnect, with only the 50Hz noise from the power lines showing up. Opened up the connector and noticed that the ground wire had detached. An 28AWG electrical wire that was inside a jack that was meant for stress relief! Yet the copper strands must've detached one by one regardless. What do I need then, huh?! 18AWG which wouldn't even fit on the connector, only to see the strands in that eventually detach as well?! You know what, let's go fancy.. 1AWG which is meant for extremely high current applications!!
At that point I was literally shouting "FUCK!!! Why does this shit always happen to me?!! ONE FUCKING PROJECT THAT FINISHED SUCCESSFULLY, YET STILL BROKE?!!!! WHY!!!!!!"
Clearly I need some fresh air to cool down. On my way to the fast food restaurant to get some Bicky burgers. More shit, humans. One stupid driver who slowed down on me, which of all things I hate the most. GO FASTER ALREADY YOU SLOWFUCK, AND GET THE FUCK OUT OF MY SIGHT!!! Next a pedestrian with a dog.. I swear motherfucker, if that dog comes anywhere near me I'll personally turn it into fucking fricassee.
Ah and then comes the killer.. in this stupid fucking summer, all that's needed to fix any issue is a fucking stupid DESPACITO, right?! More like DeSPASTICo!! FUCK!!!!
.. Back home, rather tired. So essentially a wire that was specifically built to have high endurance broke on me. Back to Bluetooth I guess.rant fuck the planet fuck humanity fuck everything fuck despacito fuck despastico fuck life fuck me fuck humans fuck the world fuck this shit fuck society2 -
My father's PC is almost dead.
The PSU is damaged and it turns on correctly 1 time out of 250 or more.
There are days that he tries to turn it on at 8am, and it can finally use it at 8pm.
Also the other HW components are old, so I tried to convince him to buy a new PC, there was an offer where they also give you for free a new 24 inches monitor (now he has a fucking 19 inches old one).
But he doesn't want to invest in a PC.
Even if he spends almost the entire day by surfing on internet and watching movies!
So, I recommended him to change only the PSU, the same identical model costs only €39.
But he doesn't want to invest in it... he prefers to lose the entire day trying to use his fucking PC.
I really don't understand why some people just don't want to spend a bit to improve their life!
The comfort is worth it... the time of life you're wasting to use that fucking PC is more important than €39.
I tried different times to find other possible issues, but it's clearly a PSU problem, so obviously I can't fix it using magic.
Not in my father's opinion... "You don't know anything about computer science... nothing! Go to your fucking university (I'm studing Computer Engineering), and study how to fix it!".
While he was saying that sentence, he was beating the case, because he's convinced that it's a better way to fix it.
I want to leave this fucking house right now.10 -
TL;DR; I unfucked a micro sd used by a nintendo switch with one command: fsck
I had noticed that the nintendo switch displayed way more storage usage then it should. I didn't mind at first, but at some point I couldn't download any games. When I checked I saw some ridiculous storage usage.
According to the system, all games summed up ~20Gb, but >100Gb was in use? Sounds retarded, so I did the following:
* Plugged it into laptop
* Spend one our searching for a way to to access this seemingly unknown filesystem
* Find out this filesystem is actually exFAT
* Find out that 2/3 sd adapters suck
* check filesystem with dust (A visually more pleasing version of du)
* Find 20Gb of files, nothing hidden or whatever
* run fsck
* "File system contains some errors want me to fix then?"
* "Sure"
* check usage
* 17%
As for the reason why this happened in the first place, my guess is that the switch labels the whole segment of the card as used before downloading a game and it something goes wrong, it shits itself.
Anyways, fsck is a pretty useful command.1 -
> pic related
This is what I've been putting up with on my personal machine for months.
tl;dr: Suggestions for a wlan card/adapter for Debian9? My current RealTek wnic is barely functional, and my replacement (a TPLink... something) is completely incompatible.
I don't need anything super fancy, though I would ofc love support for AC/AD if at all possible.
I don't care (too much) about price, since I'm only going to buy one and very likely won't replace it for years.
------
I'm running Debian9 and have a have a RealTek card. Even when it's not arbitrarily dropping packets like in the screenie, it randomly caches them for up to 90 seconds and dumps them hilariously out of order. I can't play games like that. I can barely even browse devRant. Steam goes offline about once every 30 seconds, and therefore spams all of my friends with online/offline notifications. Streaming "works" on good days. Git works fine, however, so most days I don't notice the connection issues.
And yes, I'm using a community-patched driver (rtl8188ce) that's supposed to fix some of RealTek's more major screwups and increase the transmit power by ~20x. The driver helps, but only a little.
I've done some reasearch on wlan linux support, but haven't found anything very reassuring. Mostly just forum posts saying things like "Intel cards usually work fine!" I don't want to gamble. I just want to buy a card that will work and be done with it. :(
Suggestions? Insight?10 -
Craziest bug, not so much in the sense of what it was (although it was itself wacky too), but in what I went through to fix it.
The year was 1986. I was finishing up coding on a C64 demo that I had promised would be out on a specific weekend. I had invented a new demo effect for it, which was pretty much the thing we all tried to do back then because it would guarantee a modicum of "fame", and we were all hyper-ego driven back then :) So, I knew I wanted to have it perfect when people saw it, to maximize impressiveness!
The problem was that I had this ONE little pixel in the corner of the screen that would cycle through colors as the effect proceeded. A pixel totally apart from the effect itself. A pixel that should have been totally inactive the entire time as part of a black background.
A pixel that REALLY pissed me off because it ruined the utter perfection otherwise on display, and I just couldn't have that!
Now, back then, all demos were coded in straight Assembly. If you've ever done anything of even mild complexity in Assembly, then you know how much of a PITA it can be to find bugs sometimes.
This one was no exception.
This happened on a Friday, and like I said, I promised it for the weekend. Thus began my 53 hours of hell, which to this day is still the single longest stretch of time straight that I've stayed awake.
Yes, I spent literally over 2+ days, sitting in front of my computer, really only ever taking bio breaks and getting snacks (pretty sure I didn't even shower)... all to get one damn pixel to obey me. I would conquer that f'ing pixel even if it killed me in the process!
And, eventually, I did fix it. The problem?
An 'i' instead of an 'l'. I shit you not!
After all these years I really don't remember the details, except for the big one that sticks in my mind, that I had an 'i' character in some line of code where an 'l' should have been. I just kept missing it, over and over and over again. I mean, I kinda understand after many hours, your brain turns to mush. and you make more mistakes, so I get missing it after a while... but missing it early on when I was still fresh just blows my mind.
As I recall, I finally uploaded the demo to the distro sight at around 11:30pm, so at least I made my deadline before practically dropping dead in bed (and then having to get up for school the next morning- D'oh!). And it WAS a pretty impressive demo... though I never did get the fame I expected from it (most likely because it didn't get distributed far and wide enough).
And that's the story of what I'd say was my craziest bug ever, the one that probably came closest to killing me :)5 -
I hate being a fucking tech support dude. Everyone thinks it is my job to fix their device. Some girl asked me to replace her iPhone 6 plus screen a few days ago. I reluctantly said yes. I bought a screen. And I started the process. I opened the box for the new screen and it was just the screen with no digitizer. That was completely my fault. I was an idiot. I immediately buy the correct one on amazon and tell the girl, I'm sorry you won't have a phone for two days. As soon as the new package comes in, I will do the repair.
3 Days Later: Today.
Her: Has it come in yet?
Me: No, I'm going to call Amazon
Amazon: We're sorry, the thing you asked for was out of stock, you'll have to buy it again.
He was very nice, and he gave me free shipping, but this was not my fault!
Her: I have to wait 2 more days? That's like a whole week without a phone!
I had to do this for free and pay $40 for the new part. I am never telling anyone I am a developer again. I feel so fucking bad, and she's mad. And I can't do anything about it.6 -
Heh, so I was working in tech doing the physical side of the department (going and moving computers or hardware fixes etc.)
Anyways since I got that job I noticed some of our recurring systems tickets are time consuming so I wrote some scripts to speed up the parts that I could.
(Like getting us all the useful information for hunting down missing machines or machines that haven't been able to be backed up in a while)
So yeah, made the scripts and some higher ups were like great you should submit them to our repo so they don't just disappear. Do it and get told by one of the like cto kinda guys that, "instead of doing a script to do what the original script should do, maybe go in and fix our original one."
So I told him, I don't get paid enough to fix your guys scripts, I don't know perl(which is what those ones are in) and honestly it's not my department for fixing those scripts, it's yours.
I had made a big post about what my scripts did and gave access to them and what they could have fixed in an hour they argued with me for months about just fixing their originals instead.
So now I've just actually gotten promoted out of that dept and into another where I will finally get paid to do more code, so I was closing my last tickets and the "trying to add my scripts to their repo" was one. The guy had denied my PReq Esso I closed the ticket thinking meh.
This guy re opens and again says just fix the scripts. Luckily I had done a personal repo for the scripts so others in my (now old) dept can keep using them. So I said I'm not in that department anymore, I made them available to the others and I still don't know perl. Not sure what your wanting me to do...
Got a laugh when he replied "oh yeah, just heard about the promotion... Congrats.. Where's the repo?"
I feel like I won finally5 -
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 -
I suddenly realized all the technical debt shit I told my boss would happen years ago given the way things were done/heading then... Just occurred pretty much all at once last week in the form of critical production issues...
The teams like:
-we need real time server process monitoring
-structured logging for apps
-containerization so one app didn't affect others
Me thinking: yes.... I told you so like 3/4 years ago when I first joined the team and kept repeating so much I got tired of saying at every annual review...
This is exactly what happens when you let technical debt grow and have no free time for developers to look into and fix then while they were small and not critical production processes... Or properly document and peer review them... (Got a shit pile of projects that no one knows how to use or even exists because the devs left the team) and they'll have a lot more when I finally leave... Hopefully this year.... If I can find another role and not need another medical procedure... (Doubtful)3 -
TLDR - you shouldn't expect common sense from idiots who have access to databases.
I joined a startup recently. I know startups are not known for their stable architecture, but this was next level stuff.
There is one prod mongodb server.
The db has 300 collections.
200 of those 300 collections are backups/test collections.
25 collections are used to store LOGS!! They decided to store millions of logs in a nosql db because setting up a mysql server requires effort, why do that when you've already set up mongodb. Lol 😂
Each field is indexed separately in the log.
1 collection is of 2 tb and has more than 1 billion records.
Out of the 1 billion records, 1 million records are required, the rest are obsolete. Each field has an index. Apparently the asshole DBA never knew there's something called capped collection or partial indexes.
Trying to get approval to clean up the db since 3 months, but fucking bureaucracy. Extremely high server costs plus every week the db goes down since some idiot runs a query on this mammoth collection. There's one single set of credentials for everything. Everyone from applications to interns use the same creds.
And the asshole DBA left, making me in charge of handling this shit now. I am trying to fix this but am stuck to get approval from business management. Devs like these make me feel sad that they have zero respect for their work and inability to listen to people trying to improve the system.
Going to leave this place really soon. No point in working somewhere where you are expected to show up for 8 hours, irrespective of whether you even switch on your laptop.
Wish me luck folks.3 -
We've had a bunch of flaky tests in our repo for a while now that no one could be bothered to fix; we'd just re-run ci until it's green. Today I looked into it and I was inspired to make this meme, because I lived through it.
Adding logs to investigate just lowered the fail rate making investigation more difficult. I do have an idea of what it might be though so, we'll see tomorrow.3 -
I got my first programming job half a year ago, the lead developer there is really fucked up... he is old fashioned and stubborn as hell. He developed a platform that is a mess, his comment: “it works”... but now I have to fix it... I argued with my boss and convinced him to put more time in making it more scalable and feature proof. But the lead developer back then... he didn’t agree it seems like he want to do everything as quickly as possible... now half a year later he stopped working for us and I’m the lead developer now.
And I’m discovering more and more bad decisions... HOWWWW
WHAT DID THIS GUY DO???
At one time I was arguing with him and he backfired a comment: “I’m doing it like this for 10 years”... so I guess that’s the problem... he didn’t put effort in keeping up with the latest developments...
There is literally no structure in his work, every file is different... HOW DO I FIX THIS IN A NICE WAY??? I’m thinking to just start over again...11 -
So... remember my first rants about my network at my last ship?
https://devrant.com/rants/2076759/...
https://devrant.com/rants/2076890/...
https://devrant.com/rants/2077084/...
Well... I had to visit them for an unrelated matter and found out that they are to pass general inspection the next week. Among the inspectors is a member of the cyber defence team. I took a quick look at the network, finding the things I'd expect:
- No updates passed to the server or installed since I left
- No antivirus updates since I left
- All certificates were expired
- Most services were shut down or unused
- All security policies were shut down
- Passwords (without expiration now) were written on post-it and stuck on screens
- ... and more!
I told the XO (the same idiot that complained about them CONSTANTLY) and he just shrugged me off and told me to """fix""" it. In one fucking afternoon.
I. SHIT. YOU. NOT.
The new admin there is a low ranking person who hasn't the faintest idea of how this works, and isn't willing to learn, either. They just dumped the duty on him, and he seems not to care. The cyber security inspector is going to have a field day. Or get grey hairs.
I told the XO that I needed at least a week to get them into working order (I have to re-set up my virtual Windows 2012 R2 server, download 2 years' worth of updates, repair 2 years of neglect etc.). The answer was what I expected:
"You know computers, you can do your magic and get it done in an afternoon."
Thank god I got transferred and don't have to answer to that idiot any more. Now, popcorn time, as I watch the fireworks.
Yes, I am a vengeful guy. I have told them, twice now, of what would happen. They didn't listen. At least now, with an official report on their heads, they just might.3 -
Lead Dev: Could you please make blahblah for us to use while making blah?
Me: Sure, np
Me: (to friend) hey could i test the connection for blahblah on ur pc
Friend: Sure, not doing anything anyway
Me: Thanks!
Me: Finds issues, fixes, and finishes blahblah
Me: Can i just borrow ur pc one more time
Friend: Ok... looks like its working
( i leave the room to fix small bug )
Lead Dev: (Friend) just showed me blahblah,he really did a good job on it
Me: ... Oh, yeah, he didnt rlly do anything though.. I just needed his pc to test it
Lead Dev: oh yeah, but, yknow he really did a good job on it, im sure u did too..
Me: ...2 -
dear api author at my company pt. 2:
If you're gonna create an api method that takes some arguments.
And one of those arguments is an array.
THEN MAKE THE FUCKING ARGUMENT'S NAME PLURAL YOU FUCKING PIECE OF SHIT.
REPEAT WITH ME, MOTHERFUCKER.
ARRAY, PLURAL, NON-ARRAY, SINGULAR.
I need to pass a shitload of filters for the data for this table, and for every suckin fuckin filter I need to singularize this shit. Thank god for es6.
I know this sounds like nitpick, but I swear to fucking alpha omega this guy is inconsistent as fuck.
Every time it feels like he makes up a new rule.
Sometimes I need to send arrays of ids, other times arrays of objects with an id property on each.
He uses synonyms too, sometimes it's remove, other times erase.
PICK ONE MOTHERFUCKER.
If you can't do the basic things well, then what is to expect of more advanced stuff?
Naming conventions you fucking idiot, follow them. It's programming 101.
You're already sending them as plural in the fucking response. Why change them for the request?
And that's just style, conventions.
This idiot asshole also RARELY DOES ANY FUCKING CHECK ON THE ARGUMENTS.
"Oh, you sent a required argument as null? 500"
We get exceptions on sentry UP THE ASS thanks to this useless bone container.
YOU'RE SEEING THE EXCEPTIONS TOO!!!!! 500'S ARE BUGS YOU NEED TO FIX, YOU CUMCHUGGER
And sometimes he does send 400, you know what the messages usually are?
"Validation failed".
WHYYYYYY YOU GODDAMN APATHETIC TASTELESS FUCK???
WHAT EXACTLY CAUSED THE FUCKING VALIDATION TO FAIL????
EXCEPTIONS HAPPEN AND THANKS TO YOU I HAVE NO IDEA WHY.
The worst of all... the worst of fucking all is that everytime I make a suggestion to change shit, every time, you act like you care.
You act like the api is the way it is because you designed it in a calculated manner.
MOTHERFUCKER. IF A USER HAS ONLY PRODUCT A, THEN HE SHOULDN'T BE ABLE TO ACCESS DATA FOR PRODUCT B. IT IS NOT ENOUGH TO JUST RESTRICT SHIT WITH ADMIN ROLES. IDIOT!!!!!
This is the work of someone who has no passion for programming.10 -
A couple of months back we were discussing sh with a third party vendor for a very large ass fuck system that another department uses. I had been called into the meeting because the entire I.T department counts on me to at least act as an assessor to the many issues that other departments might have.
the department for which i was working with manages the databases that our institution uses, and in this particular question the DBA (my best friend mind you) was part of the meeting.
Mind you, issues that the third party vendor were having were all fixed by our DBA, and he had documented and mentioned these items to me as I provided assistance to him through the 3 weeks prior to this meetings. Once such case was that we needed a transitioning as well as intermediary system for some processes to happen from one DB to the other and a lot of other technical babble. Well, the DBA used to be an excellent (fuck you) VB developer who recently re-learned the language into .net. He had shown me many of his old programs and even by the limitations of the language they were elegant and fascinating. They really are and ya'll devrant fam know that I ain't one to hate on tech at all.
When the DBA explained how he went around some of the issues by generating programs that could assist him, he mentioned the tech stack, I had coached him into knowing that being descriptive about the tools he used would be beneficial to everyone else. While he mentioned VB.NET the vendor snickered and my boy got quiet.
Then I broke the silence, fuck you. "what was that?" and the dude said "nothing, sorry"
So I said "no no, I want to know, I am not going past this point until you, the dude getting paid over $100 an hour for something YOU couldn't fix explain to me the little hehe moment you had"
The mfker went silent. then explained how he was aware that people were moving past vb.net and shit like that, me "imagine that, someone used a tech stack that your ignorance thought obsolete to fix something you could not solve, even though we are paying you for it, were it me or in my hands, and mind you i have direct access to the VP so this foolishness might change, I would have cut you and your little sect loose months ago, I have no patience, or appreciation from leeches like you or the rest of the "professionals" that work for your company or other similar entities, much less, as you can see, my patience runs even less when you people snicker at the solutions that our staff has to take when you all slack"
The entire meeting was uncomfortable as high heaven.
Fuck you, if someone I know manages to run shit on fucking liberty basic then so fucking be it. I will slap you 10 fucking times over, and then fuck your girl, if you try to put someone else down for the tech stacks you use.
I hate neck beards, BUT I hate fake ass neckbeards ever more
*Colin Farrell in true detective mode: FUCK....YOU13 -
THE FUCK WHY did the company which made the website I'm maintaining now ADD CUSTOM FACEBOOK LIKES AND TWITTER FOLLOWER WIDGETS - IN A SUBDIRECTORY OF THE THEME?
Guess what, you motherfuckers: One year after you made that damn page the Facebook API changed and your stinking widget is broken REQUIRING ME TO REWRITE MOST OF IT!
Also WHO THE FUCK LEFT HIS BRAIN ON HIS BEDSIDE TABLE the day he decided to HARDCODE ASSETS WITH AN http:// (no tls) URL? YES, browsers will block that shift if the website itself is delivered over tls, because it's a GAPING SECURITY HOLE!
People who sells websites that have user management and thus request authentication without AT LEAST OFFERING FUCKING STANDARD TLS SHOUD BE TARRED AND FEATHERED AND THEN PUT IN A PILLORY IN FRONT OF @ALEXDELARGE'S HOUSE!
Maybe I should be a bit more thankful - I mean I get payed to fix their incompetence. But what kind of doctor is thankful for the broken bones of his patient?9 -
Man, most memorable has to be the lead devops engineer from the first startup I worked at. My immediate team/friends called him Mr. DW - DW being short for Done and Working.
You see, Mr. DW was a brilliant devops engineer. He came up with excellent solutions to a lot of release, deployment, and data storage problems faced at the company (small genetics firm that ships servers with our analysis software on them). I am still very impressed by some of the solutions he came up with, and wish I had more time to study and learn about them before I left that company.
BUT - despite his brilliance, Mr. DW ALWAYS shipped broken stuff. For some reason this guy thinks that only testing a single happiest of happy path scenarios for whatever he is developing constitutes "everything will work as expected!" As soon as he said it was "done", but golly for him was it "done". By fucking God was that never the truth.
So, let me provide a basic example of how things would go:
my team: "Hey DW, we have a problem with X, can you fix this?"
DW: "Oh, sure. I bet it's a problem with <insert long explanations we don't care about we just want it fixed>"
my team: "....uhh, cool! Looking forward to the fix!"
... however long later...
DW: "OK, it's done. Here you go!"
my team: "Thanks! We'll get the fix into the processing pipelines"
... another short time later...
my team: "DW, this thing is broken. Look at all these failures"
DW: "How can that be? It was done! I tested it and it worked!"
my team: "Well, the failures say otherwise. How did you test?"
DW: "I just did <insert super basic thing>"
my team: "...... you know that's, like, not how things actually work for this part of the pipeline. right?"
DW: "..... But I thought it was XYZ?"
my team: "uhhhh, no, not even close. Can you please fix and let us know when it's done and working?"
DW: "... I'll fix it..."
And rinse and repeat the "it's done.. oh wait, it's broken" a good half dozen times on average. But, anyways, the birth of Mr. Done and Working - very often stuff was done, but rarely did it ever work!
I'm still friends with my team mates, and whenever we're talking and someone says something is done, we just have to ask if it's done AND working. We always get a laugh, sadly at the excuse of Mr. DW, but he dug his own hole in this regard.
Little cherry on top: So, the above happened with one of my friends. Mr. DW created installation media for one of our servers that was deployed in China. He tested it and "it was done!" Well, my friend flies out to China for on-site installation. He plugs the install medium in and goes for the install and it crashes and burns in a fire. Thankfully my friend knew the system well enough to be able to get everything installed and configured correctly minus the broken install media, but definitely the most insane example of "it's done!" but sure as he'll "it doesn't work!" we had from Mr. DW.2 -
Fuck. I can't take this shit anymore.
There was a project where we had to implement third-party system for government agency processes management. For some reason, probably because my work is cheap for my boss, the task was assigned to me. Just as a reminder, I'm a .NET Dev. Zero experience in server management. Zero experience in external services implementation.
Anyway, system producent, also an government agency, got angry, becasue they can only earn money on implementation. They have to give the software to other agencies for free. Because of that I've got client program, incomplete documentation and broken scripts for database creation. It took me 2 months to get it all to work but at the end client was happy, my boss got paid and I've got 500 PLN (~130 USD) bonus.
Everything was fine for a while, but after a month server has started freezing everyday, some time before 7 am. The only way I found to make it work again was to restore snapshot made everyday at 10 pm. For a month I was waking up earlier and restored snapshot, and after that my boss took it upon himself. I tried few times to find a bug and fix it, but to no effect. Even person with much more experience with it tried to help but also couldn't find anything.
My solution? Copy all the data and configuration, create new machine, copy everything and check if the problem persists. If not, kill old server. Client won't even notice. But nooooooooo... It would cost my boss a bit of money and I'd need to work on it and he can't let it be, because I'm the only developer working on his flagship product. He'd rather wake up everyday and restore snapshot. Okay, as you wish.
And today, finally, everything went downhill. Snapshot wasn't created, server froze, backup can't be created. Nothing can be done. Client is furious, because they have had reported this problem and a few times restoration was too late and they couldn't work. No one knows how to fix it, I'm not working today (I'm still studying and am available only 2 days) and situation is really shitty.
BUT SURE. ITS BETTER TO RESTORE SERVER EVERYDAY THAN JUST FUCKING FIX IT.
Oh, also, there's no staging or any other real backup. We have snapshots for each day and that's that. Boss' order. Why do I even care...7 -
@Apple iPadOS an iOS teams: you puZies.
You release one buggy iOS / iPadOS after another, each piling on features and bugs, without fixing crowd documented long standing defects.
But what really pisses me off is when you don't have the balls to own up to your mistakes. This is at least the 3rd time you have re-released an iOS / iPadOS update under the same version number. This time it is 14.5.1
I have iPadOS 14.5.1 installed and the iPad is now telling me I need to update to 14.5.1. Just own up to it, you released buggy shit and you need to release another bug fix days after... call it 14.5.2. Call it like it is and we respect you. Try to hide it and you lose our respect, you pussies.
If Microsoft did one thing right, they defined the release sequencing:
X.Y.Z
Changing X means rewrite the manual it is so new and improved (🖕🏻 you Adobe and FileMaker)
Changing Y means it is an update with more features than bug fixes but not a generational change that constitutes a rewrite of anything (🖕🏻 you macOS team for bastardizing with 10.X.Y)
Changing Z means you fixed your stuff, we respect you for owning up to your mistakes.
Man-up Apple, grow some balls and stop confusing people with trying to cover up your screw ups. It's all about the Z.3 -
Commas.
I fix one display, and another breaks.
Now I’m getting “$$1002.99” and can’t figure out why. Where is this popup coming from? Where does the encrypted URL point to? What does this ajax call do? Where does the amount go? When does it change? Why is it a string now? Where does the total get defined? How far down the rabbit hole do I need to go?
Short short version:
I found something to try fixing. I made some changes, forced a crash to inspect, and… Joy! My log stopped updating. How long have I been debugging on stale data?
Skipping a long debugging session…
I discover a suspect instance var in a suspect method, and… i have no freaking clue where it’s being defined. It’s used in the class, but never defined in it. Oh, and the name is pretty generic, so searching for it is even more fun.
Just.
Qxfrfjkalstf.
WHO WRITES THIS CRAP?!
AND WHY DO PEOPLE CALL THEM “LEGENDS”? Like, really. That’s the word they use. “Legends.” I still can’t believe it.8 -
Is it just me who sees this? JS development in a somewhat more complex setting (like vue-storefront) is just a horrible mess.
I have 10+ experience in java, c# and python, and I've never needed more than a a few hours to get into a new codebase, understanding the overall system, being able to guess where to fix a given problem.
But with JS (and also TS for that matter) I'm at my limits. Most of the files look like they don't do anything. There seems to be no structure, both from a file system point of view, nor from a code point of view.
It start with little things like 300 char long lines including various lambdas, closures and ifs with useless variables names, over overly generic and minified method/function names to inconsistent naming of files, classes and basically everything else.
I used to just set a breakpoint somewhere in my code (or in a compiled dependency) wait this it is being hit and go back and forth to learn how the system state changes.
This seems to be highly limited in JS. I didn't find the one way to just being able to debug, everything that is. There are weird things like transpilers, compiler, minifiers, bablers and what not else. There is an error? Go f... yourself ...
And what do I find as the number one tipp all across the internet? Console.log?? are you kidding me, sure just tell me, your kidding me right?
If I would have to describe the JS world in one word, I would use "inconsistency". It's all just a pain in the ass.
I remember when I switcher from VisualStudio/C# to Eclipse/Java I felt like traveling back in time for about 10 years. Everyting seemd so ... old-schoolish, buggy, weird.
When I now switch from java to JS it makes me feel the same way. It's all so highly unproductive, inconsistent, undeterministic, cobbled together.
For one inconveinience the JS communinity seems to like to build huge shitloads of stuff around it, instead of fixing the obvious. And noone seems to see that.
It's like they are all blinded somehow. Currently I'm also trying to implement a small react app based on react-admin. The simplest things to develop and debug are a nightmare. There is so much boilerplate that to write that most people in the internet just keep copying stuff, without even trying to understand what it actually does.
I've always been a guy that tries to understand what the fuck this code actuall does. And for most of the parts I just thing, that the stuff there is useless or could be done in a way more readable way. But instead, all the devs out there just seem to chose the "copy and fix somehow-ish" way.
I'm all in for component-izing stuff. I like encapsulation, I'm a OOP guy by heart. But what react and similar frameworks do is just insane. It's just not right (for some part).
Especially when you have to remember so much stuff that is just mechanics/boilerplate without having any actual "business logical function".
People always say java is so verbose. I don't think it is, there is so few syntax that it almost reads like a prose story. When I look at JS and TS instead, I'm overwhelmed by all the syntax, almost wondering every second line, what the actual fuck this could mean. The boilerplate/logic ration seems way to off ..
So it really makes me wonder, if all you JS devs out there are just so used to that stuff, that you cannot imagine how it could be done better? I still remember my C# days, but I admin that I just got used to java. So I can somehow understand that all. But JS is just another few levels less deeper.
But maybe I'm just lazy and too old ...4 -
Lisp code was live-debugged and fixed with REPL on a spacecraft 100 million miles away
“An even more impressive instance of remote debugging occurred on NASA's 1998 Deep Space 1 mission. A half year after the space craft launched, a bit of Lisp code was going to control the spacecraft for two days while conducting a sequence of experiments. Unfortunately, a subtle race condition in the code had escaped detection during ground testing and was already in space. When the bug manifested in the wild--100 million miles away from Earth--the team was able to diagnose and fix the running code, allowing the experiments to complete. One of the programmers described it as follows:
Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem.”
https://gigamonkeys.com/book/...4 -
Found that out that one of our company's internal API (I hope it's only internal) is exposing some personal data. After finally getting the right people involved they said they'd fix it 'immediately'.
5 days later I check and now there is more personal data exposed...which includes personal security questions and the hashed answers to said questions.
And of course they are using a secure hashing mechanism...right? Wrong. md5, no salt
Sigh...5 -
Ok friends let's try to compile Flownet2 with Torch. It's made by NVIDIA themselves so there won't be any problem at all with dependencies right?????? /s
Let's use Deep Learning AMI with a K80 on AWS, totally updated and ready to go super great always works with everything else.
> CUDA error
> CuDNN version mismatch
> CUDA versions overwrite
> Library paths not updated ever
> Torch 0.4.1 doesn't work so have to go back to Torch 0.4
> Flownet doesn't compile, get bunch of CUDA errors piece of shit code
> online forums have lots of questions and 0 answers
> Decide to skip straight to vid2vid
> More cuda errors
> Can't compile the fucking 2d kernel
> Through some act of God reinstalling cuda and CuDNN, manage to finally compile Flownet2
> Try running
> "Kernel image" error
> excusemewhatthefuck.jpg
> Try without a label map because fuck it the instructions and flags they gave are basically guaranteed not to work, it's fucking Nvidia amirite
> Enormous fucking CUDA error and Torch error, makes no sense, online no one agrees and 0 answers again
> Try again but this time on a clean machine
> Still no go
> Last resort, use the docker image they themselves provided of flownet
> Same fucking error
> While in the process of debugging, realize my training image set is also bound to have bad results because "directly concatenating" images together as they claim in the paper actually has horrible results, and the network doesn't accept 6 channel input no matter what, so the only way to get around this is to make 2 images (3 * 2 = 6 quick maths)
> Fix my training data, fuck Nvidia dude who gave me wrong info
> Try again
> Same fucking errors
> Doesn't give nay helpful information, just spits out a bunch of fucking memory addresses and long function names from the CUDA core
> Try reinstalling and then making a basic torch network, works perfectly fine
> FINALLY.png
> Setup vid2vid and flownet again
> SAME FUCKING ERROR
> Try to build the entire network in tensorflow
> CUDA error
> CuDNN version mismatch
> Doesn't work with TF
> HAVE TO FUCKING DOWNGEADE DRIVERS TOO
> TF doesn't support latest cuda because no one in the ML community can be bothered to support anything other than their own machine
> After setting up everything again, realize have no space left on 75gb machine
> Try torch again, hoping that the entire change will fix things
At this point I'll leave a space so you can try to guess what happened next before seeing the result.
Ready?
3
2
1
> SAME FUCKING ERROR
In conclusion, NVIDIA is a fucking piece of shit that can't make their own libraries compatible with themselves, and can't be fucked to write instructions that actually work.
If anyone has vid2vid working or has gotten around the kernel image error for AWS K80s please throw me a lifeline, in exchange you can have my soul or what little is left of it5 -
Certified Enganeers: 0, Internet Connectivity Issues: 1
Those idiots couldn't even understand why I'd connected a second router (a DLink DIR 816) for better WiFi than their default garbage modem/router. And one of them told me that he'd login to the router by "putting the address in Google" (and proceeded to type 192.168.1.251 in the search bar, after I explained to him that Firefox was a browser too, just like Chrome -.-)
And they didn't even fix the problem, which is most probably on their end since everything checks out here. Brilliant. More shitty 3G/4G for me.
YOU CERTIFIED PIECES OF CRAP4 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
A discussion about writing tests for frontend applications.
Context: my frontend coworkers don't write tests, at all. Yeah, really. Our testing process is very manual. We test manually when developing. We test manually when reviewing code. After merging, the application is deployed to a staging server and the design team does a QA Sprint. Lots of manual testing and some bugs still crawl by.
So I decided to start pushing my coworkers to start writing tests. One of the reasons I constantly hear them say to not write tests in the frontend is: "It's not worth the time, because design keeps changing, which means we have to take time to fix the tests. Time that we usually don't have."
I've been thinking about this a lot and it seems to me that this is more related to bad tests than to tests in general.
Tests should not break with design changes (small changes at least). They should test funcionality, not how things look. A form should not break if the submit button's style changes, so why should its tests fail? I also think that tests help save time, as they prevent some back and forth because of bugs.
Writing good tests is the hard part. Tests that cover what's really important and aren't frail and break with things that shouldn't break them. What (and how) should we test? And what shouldn't be tested?
Writing them fast is another hard thing. Are you doing it right if they take more time to write than the actual code?
What do you think about this? Do you write tests for your frontend applications? What do you test? How much time do you spend writing tests? What are your testing tools/frameworks?6 -
If I hear anyone utter the words "technical debt" one more time, I swear to God, I will fucking kill them :-/
It's your fault your design smells like piss in the first place. It's your responsibility to fucking fix it. You can't just sit on your arse all day, coming up with new, "innovative" ideas that will build up more technical debt :-/ it's making the life of everyone around you, a big, irreparable mess.10 -
My roommate: why do you look so mad.
Me: stupid program is broke
My roommate: didn't you fix it yesterday?
Me: yes. I broke some thing else
Roommate: oh on a different project?
Me: nope same one.
Roommate: [walks away more confused than when the conversation started]1 -
Before becoming a developer, I used to work as a sales rep at this company that spent a good amount of time building what they believed to be an innovative state-of-the-art “code generator”. It was basically a scaffolding tool for generating software.
They were using it to auto generate customized iOS and Android native mobile app templates, along with a web backed.
The problem was that the generated code was shit, and the developers on the team basically spent more time fixing bugs than if they had built everything from scratch. But their passion for the product meant they just kept using it.
For some reason they never fixed issues in the original templates, so basically all the bugs that were found, kept showing up with each new app!
I have never seen apps like this that essentially had more bugs than features. Opening more than 10 app screen meant the app would freeze and crash. Sign up forms were actually dummy forms. The list goes on...
All the apps had the same shitty UI. For example, Product pages had a product image area that was like 5% of the screen view!
Last but not least, apps had a backend IP address hardcoded pointing to a server with an IP address that was temporary. So one day they had to restart the server and suddenly all customer apps stopped working and required a software update to work!
It was amazing seeing how a team of 3 developers trying to fix messy autogenerated code, couldn’t accomplish what was essentially a website on an app that I managed to build in my free time.
That’s how I knew it was time to quit my job and code full time.2 -
I’m a team lead in the tech team, myself and another team lead manage the on call processes for the department, so when stuff breaks we need to fix it. I assume there is sufficient documentation available for me to fix a process that is not mine.
one of the other managers processes breaks. He’s on annual leave and is away for another week. I attempt to fix the process. No documentation. What do i do?
I go to my manager the next day and tell her the process is broken and I can’t fix it because there’s no documentation and I don’t know what the full impacts are. She agreed we should leave it until he comes back from AL.
He comes back a week later. I tell him the process is broken and it’s been failing since he went on AL.
Him: we had a handover before I went on holiday
Me: no, you showed me where the ‘documentation’ was. Said documentation is not defined enough and is out of date. I didn’t want to break it further by trying to repair it when it’s not completely critical
Him: but it is critical, it has to run every day
Me: so why doesn’t it say that in the documentation?
Him: ............
Me: can you fix it please
Him: no, I’ve got too much to do having just come back from holiday
Me: more critical that a process that has to run EVERY DAY and has been failing for the past 10 DAYS??
Him: I’ll see if I have time
2 hours later...
Him: Lets put in some time for handover so you can understand the process. Is an hour long enough?
Me: I don’t know, you tell me, it’s your process, you know what’s involved and how long it should take to explain
Him: well is an hour long enough?
Me: I don’t know, it takes however long it takes you to explain it
Him: I’m asking you
...........
At this point I’m getting more and more angry, how can you not know how long your process is gonna take to explain when you’re the one that wrote it?! I fully well know that it’s gonna take longer than an hour because it’s an SSIS package that looks like a plate of spaghetti, you spend 15 minutes working out what box flows to where before even looking at any SQL, and he’s still asking me how long it’s gonna take and distracting me from my ACTUAL critical work
Man is a waste of space, so quick to give you work that isn’t his but never takes responsibility for his own... honestly have no clue whatsoever how he became a manager....
This rant doesn’t seem like much reading it back but I swear it’s the last in a looooonnngggg like of his fuck ups that other people have had to deal with 🙄🙄3 -
Recently I disassembled this Remington beard trimmer that I have, right. Thinking that I probably just depleted the battery or something like that, and that that's why the fucking thing would turn off after 10 seconds, with a miserable motor speed that could only be caused by what.. 2.5V or something like that? So I kept up with it for a while, and then a few days ago, I finally disassembled the fucking thing.
New 4.2V LiPo battery of my own attached, wicked! The thing has a 2Ah capacity and is fully charged, so fuck all in a big ship, I'ma shave my fucking hair without protection, who cares with 2Ah anyway, given that motors at 4.2V consume only 800-ish mA, right. So I shaved my head, and figured.. holy shit mate, I fucking beat this fucking cunt, fuck you Remington! Planned obsolescence my ass!!!
Just now @xewl sent me a request that made me reconsider this shaver. Some PS3 controller, should be easy enough to fix. But I referenced my shaver so I figured that I might actually check it beforehand.
The original fucking battery has 4V left on it. 4 fucking volts! That ain't gonna trip shit for an overdischarge protection circuit!!! WHY THE FUCK REMINGTON, WHY THE FUCK DID IT (IF ANYTHING) TRIP?! And more importantly, why did you make the motor turn for only 10-ish seconds after charging, 1 year after purchase, despite the fucking cell having 4 fucking volts in it, which is more than plenty to get the thing turning for at least a 60% charge?! Planned obsolescence perhaps, hmm?
But let's say that it was bad contacts or something like that. After all, my probing was a bit intermittent, showing 1.5V (if it's shorting, shouldn't it be in the mV range?) and then 4V at times, until I separated the nickel connectors from the 16500 cell. Why the fuck should that thing short, considering that it's unprotected?! The fucking cell is unprotected, and you Remington are going to let it short? What kind of fucking engineering is that, you fucking braindead morons?!!!
And why do you use a 16500 cell which isn't very standard over a 18650 cell, which is? Again, planned obsolescence? Fucking vile pieces of shit.
Now what's more.. I tried to power on the shaver for a picture for this fucking rant, using a LiPo cell of my own that I used to shave my hair with the other day, to get a nice picture of my little hack. But the fucking thing, despite having 3.89V left in it after that fucking shave, which is more than plenty for a lithium cell, the fucking unit doesn't power on. WHAT THE FUCK REMINGTON?!! That's planned obsolescence at its best, init?!! You vile fucking pieces of shit.
So I guess that this rant is no more one of "I beat these Remington cunts". It is one of "you can bet your fucking ass that planned obsolescence is a thing!!"7 -
DON'T. INSTALL. BETA. SOFTWARE. BY. DEFAULT.
RAZER
When I plugged my $250 keyboard (Which I have had for years and love beyond measure) into my new install of Windows, it popped up with a cute little message to install Razer Synapse, which manages the lighting on Razer devices, like my keyboards (One mechanical and one not - for silence during voice chat), mouse and headset.
"Wow, this looks different", I mutter to myself, as I unknowingly and non-optionally install software which is IN BETA.
I notice that my other keyboard and mouse don't show up. I don't customize my mouse much, I leave it in spectrum cycling. Easy, works well. My other keyboard is much cheaper and does not offer very much customization (three colors. whoop. I don't touch that either much)
Since I only really touch this keyboard, I am not bothered in the slightest and carry on for a couple months. Fast forwards to yesterday when my mouse stops lighting up. Fuck, now its just a black blob. I'll open synapse tomorrow and fix that.
No I won't
After uninstalling devices, uninstalling synapse, restart restart restart, uninstall again, install again, blah blah blah, download a tool that didn't detect the device either, etc etc, for about two hours, I was about ready to accept my dark fate. But then, I saw (screenshot attached) this little itty-bitty beta tag next to the software (again) installed by default.
I about flipped my shit, uninstalled Razer Synapse 3 so hard it sent a tsunami towards some coastal country, and then angrily installed Razer Synapse 2.
That looks more familiar. Oh, there we are, all three devices. Ah, very well, my mouse is working correctly once again. I know its at the header of this rant, but let's reiterate (or, reiterage, in this case):
DON'T. INSTALL. BETA. SOFTWARE. BY. DEFAULT.
Thank you.3 -
Google -> Niantic -> shit
Hate them for biting off more than they can chew, they successfully fucked up two of their games, now they are launching the third one.. Can you just fix the stuff you fucked up before you continue with new stuff?? Okithxbye9 -
I really wanna share this with you guys.
We have a couple of physical servers (yeah, I know) provided by a company owned by a friend of my boss. One of them, which I'll refer to as S1, hosted a couple of websites based on Drupal 7... Long story short, every php file got compromised after someone used a vulnerability within D7's core to inject malicious code. Whatver, wasn't a project of mine, and no one bothered to do anything about it... The client was even happy about not doing anything about it. We did stop making backups of such websites however, to avoid spreading the damage (right?). So, no one cared about this for months!
But last monday? The physical server was offline. I powered it on again via its web management interface... Dead after less than an hour. No backups. Oh well, I guess I couls keep powering it on to check what's wrong with it and attempt to fix it...
That's when I've learned how the web management interface works: power on/reboot requests prompted actual workers to reach the physical server and press the power on/reboot buttons.
That took a while to sink in. I mean, ok, theu are physical servers... But aren't they managed anyhow? They are just... Whatever. Rebooting over and over wasn't the solution, so I asked if they could move the HDD to another of our servers... The answer was it required to buy a "server installation" package. In short, we'd have had to buy a new physical server, or renew the subscription of one we already owned for 6 months.
So... I've literally spent the rest of the day bothering their emoloyeea to reboot S1, until I've reached the "daily reboot reauests limit" (which amounts to 3 reauests. seriously), whicj magically opened a support ticket where a random guy advised to stop using VNC as "the server was responsive" and offeres to help me with the command line.
Fiiine, I sort of appreciate it. My next message has been a kernel log which shows how the OS dying out was due to physical components becoming unavailable after a while, and how S1 lacked a VNC server, being accessible only via ssh. So, the daily reboot limit was removes for S1. Yay.
...What to do though? S1 was down, we had no backups, and asking for manual rebooting every time was slow as Hell. ....Then I went insane. I asked for 1 more reboot. su. crontab -e. */15 * * * * /sbin/shutdown -r +5. while true; do; rsync --timeout=20 --append S1:/stuff .; sleep 60; done.
It worked. We have now again access to 4 hacked, shitty Drupal 7 websites. My boss stopped shouting. I can get back to my own projects.
Apparently, those D7 websites got back online too, still with malicious php code within them. Well, not my problem (for now).
Meanwhile, S1 is still rebooting.3 -
Oh man. I have been waiting for this one. Gather round lil' chil'rens it's story time.
So. I was looking for a new project because my old one was wrapping up and that's what my company does. So I was offered some simulation type stuff. I was like "sure why not, I want to make a computer pretend it isn't a computer no more." Side note I should not be a psychiatrist.
So, prior to coming on to this job I felt stifled by my old job's process. This job was a smaller team so I thought the process would be a little smoother. But it turned out they had NO process. Like they had a bug tracking system and they held the meeting to add things to the system, but that was just fucking lip service to a process.
First of all, they used the local disk on the test box as their version control. and had no real scheme as to how they organized it. We had a CM tool but gods forbid they ever fucking use it. I would be handed problem reports and interface change requests, write a bug to track it, go into the code and about 75% of the time or more it had already been worked. However, there was no record of it being worked and I would have to fucking hunt that shit down in a terribly shitty baseline (standardize your gods damned indentation for fuck's sake) and half the time only found out it was done because when I finally located the piece of code that needed changing, the work was already done.
Then, on top of all that, they ask me what time I want to come in. I said 10am, they said okay. One day I roll in at 10 and my boss is mad. Because I missed a meeting. That was at 9. That I wasn't told about. He says I can keep coming in at 10am though (I asked and volunteered to help get him up to speed on the things I was working he said it wasn't necessary) so I did, but every time I missed a 9am meeting he would get pissed. I'm like PICK ONE!!! They move the meeting to 9:30am (which is not 10am).
This shit starts affecting my health negatively. Stress is apt to do that. It triggered an anxiety relapse that pushed me back in to therapy for the first time in 7 years. On top of that the air quality in the office is so bad that I am getting back to back sinus infections and I get put on heavy antibiotics that tear up my stomach along with the stress and new meds tearing up my stomach. So one day as I am laid out in pain, I call out sick. Two days in a row. (Such a heinous crime right.) Well I missed a test event, that I wasn't even the primary or secondary on.
So fast forward to the most pissed off I have ever been. I get called in to a meeting with my boss's boss. As it turns out, my coworkers are not satisfied by the work that I'm doing (funny because I thought I was doing pretty good given that my only direction was fix the interface change reports and problem reports. And there was no priority assigned to any of them).
And rather than tell me any of this, they go behind my back to the boss and boss's boss. They tell me I need to communicate (which I did) and ask for help when I need it (I never did). That I missed an important event (that I played no part in and gods forbid I be sick) and that it seemed like I didn't want to be there (I didn't but who WANTS to work a corporate job).
They put me on a performance improvement plan and I jumped to another project. I am much happier now. Old coworkers won't even say hi, not even those I was friendly with, but fuck them anyway.5 -
No, I'm not going to approve your one-line fix. It will introduce more problems in the future. Fix it the way we agreed on this morning!2
-
A couple of months ago, the father of a friend of mine, asked me if I wanted to help him out with a project.
His late father, whom he inherited a one-person upholstering company from, once created a system in filemaker to do, among others, his financial administration. This system, however, grew organically as time went by, but he passed away before he explained to his son how it worked.
Now this man was running the company, using the parts of the system that he knows, but things were starting to break down. He asked me if I could help him understand what is going on and fix a couple of things.
However, the more I look at it, the more I realize what a monstrosity this has become, because the system has never been cleaned up. For example:
- There is a suppliers table, with the columns "E-MAIL" and "EMAIL". The latter one containing the supplier's website address.
- In order to be able to generate year reports, at the start of a year he copies the previous year's file, removes all records from it and starts using that as the new year's file. (This year, he accidentally created a shortcut instead of copying...)
- Some tables have a misterious column called "#1". It always contains a 1.
- The system consists of about 20 files, each of them containing a single table, although only 10 of them are really used. The other ones are just legacy.
- File, table, column, and layout names are capitalized randomly (all caps, no cap, starting uppercase) and are usually abbreviations, like "st2", "oms3", "off\rek", "b", "VERDBEST6" and "antst".
- One table has 92 columns.
- Of those 92 columns, only about 20, maybe 30, are in use.
Now, my task is finding out what parts are useful and in use, extracting those and create a baby monster out of the giant monster this system has become.
Sidenote: I actually enjoy having to learn a bit about accounting in order to understand this. Planning to use the knowledge I gain to keep track of my own finances.6 -
I swear to God if “Microsoft testicle supprt” calls me one more time I’m going to flip. I think it may be time to set up a sandbox and get the fucks to “fix my computer.”
It would be a shame if instead of payment for their “support” their computers became infected with ransomeware...
I know what I’m doing today.10 -
New episode on my clients being morons.
Got a call this morning:
Client: hello, we've got a problem here...
Me: tell me about it
C: well... Do you remember the 1200 account we loaded last week ?
Me: yes? What's wrong, we tested them, everything was alright.
C: yeah... But we just noticed we loaded them in the wrong status... Fix that!
Me: easy, we clear the database and load the correct data back.
C: NO WAY! We already worked on 3 accounts. Don't want to lose any of that. Just change the status, it's easy
Me: well not really, there's a lot more going on when you go from one status to another.
C: Don't care, just do it
So... now I need to delete the bad data, checking nothing else gets impacted in the application. And then reload that same data with the proper status this time.
As weird as this sounds like, this is the reason why I love my job. You get challenges like that every single day.4 -
Google
I used to be a fan, but recently they really stopped listening to users. No one asked for a wide angle selfie cam. If you give us that huge notch at least provide a FaceID equivalent or something that makes up for the notch.
Remove the headphone jack, cool. But then make the adapter and Bluetooth reliable. Even after a year the adapter isn’t working and the Bluetooth doesn’t connect on the first attempt. Never. The fix is constantly “coming”.
Google copies Apple without thinking. Apple gets away with shit because they provide something in return.
I was an Android user for almost 10 years, and I’ll say this: I bought the iPhone XS (I’m a purist, non-stock OS is a massive no-no) and it’s a much more usable device than the Pixels or other Android devices I used. It’s lacking in a lot of ways, but overall it’s a much better phone.
Google really needs to hire people who understand what people actually want. An amazing camera on its own isn’t enough these days.11 -
We've all had shitty jobs at one point or another, maybe some of us already had software engineering experience while having to work in a different field for a variety of reasons.
Well check this shit.
At one point(during my second year of school) for various reasons I had to work in retail. For those that know, retail can be a soul crushing experience...the trick is not letting management to convince you that it is an actual good job, it is not, and I have respect and sympathy for everyone currently working in it. The mind numbing retarded customers that we get are absolutely fantastic in every sense of the word.
My position in retail was as a phone salesman, for MetroPCS (which for all of y'all european ninjas is one of the low end phone carriers here in the U.S) and the people that we get as customers where I live are normally very poor which apparently in Mexican culture stands for annoyingly ignorant (I am Mexican myself, so I can really vouch for this shit)
One day a customer came in telling me that there was an app that he was using that kept giving him troubles, it was a map application for truck drivers. Now, obviously, this had nothing to do with my line of work(phone salesman) and as such I normally tried to explain that and let them be, but I imagined that it was a settings issue so I reluctantly agreed to help him. I explained to him that the app was no longer maintained and that the reason for it was probably that the developer abandoned it and that he would just have to look into the app, upon closer inspection the app itself was nothing more than a wrapper over google maps with trucker icons and a "trucker" interface, he was using the app as a GPS navigator and he could as well just have been using google maps.
The conversation was like this:
Me: Well this app is no longer supported, it will probably be taken off the google store soon, you can look for something similar or just change to Google maps
Retard: What? no! I came here in order for you to fix it, Metro needs to fix their own apps!
Me (in complete disbelief): We have no control over third party apps, and even for the ones that we provide the store has no control over them. But this app is not ours and so we can't really do anything about it.
Retard: Well WTF should I do? I have been having many issues with youtube and spotify, shouldn't Metro fix their Google store?
Me: Those apps are not ours.....wait, you seem to believe that we own youtube and spotify, those are not ours
Retard: How the fuck they are not yours! its your phone isn't it?
Me: Eh no.....Metro does not(at this point I was sort of smiling because I wanted to laugh) own youtube or spotify or the play store or even this phone, metro does not own Android or Samsung(his phone was a samsung core prime)
Retard: Well You need to fix this
Me: No I do not and I can not, the developer for this app abandoned it and has nothing to do with us
Retard: Well call the developer and tell him to fix it
At this point I was on a very bad mode since this dude was being obnoxiously rude from the beginning and it annoyed me how he was asking for dumb shit.
Me: Did you pay for this app?
Retard: No
Me: So you expect that some developer out there will just go about and get working for something that you did not pay for?
Why don't you just use Google maps as your GPS?
Retard: Don't be stupid, Google has no maps
At this point I show him the screen where there is a lil app that said maps, pressed it and voila! map comes to life
Retard: Well....I did not know
Me: Yeah....but I am the stupid one right?
** throws phone for him to catch
Me: Have a good one bud.
And my manager was right next to me, he was just trying to control his laughter the whole time. I really despised working in there and was glad when I left. Retail man.......such a horrible fucking world.7 -
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
Yesterday I was hanging with the guys from our Records dpt in the staff lounge. Their manager is a pretty nice talkative guy. Everything was going well until this happened..
Him: Hey you, I have an idea for an app. You can"definitely" help me, right? Or someone you know who also does the code thing..
Me: It depends. Just before you tell me about this idea, know that you'll be paying me or whoever will be doing this job unt..i..l *he interrupts
Him: Paying? I thought it was a one time or few hundreds of dollars. Why do I have to keep paying when you haven't finished the app?
Me: Did you finish your entire work this week?...but you're still getting paid next week, right?
Him: Oh crap, makes sense. Ok, how about I pay you the amount you charge then, that's it?
Me: See, you don't get it. I know once the app is done, you'll come back to me to fix and update things. When that time comes, you'll have to pay me again. And with the initial payment, don't just think you pay me and that's all... you'll...
Him: Crap, I have think more and come up with a plan for this.. nevermind, I'll keep you updated.
I think I made him sad knowing that, this sort of things doesn't happen easily.2 -
Update to my "I broke prod" rant:
- I managed to unfuck it on the same evening.
- Worked fine for one day
- Crashed today morning
- Can't fix it because I had surgery yesterday and am on sick leave currently
=> Probably gonna result in me VPNing into the comp network and RDPing into the prod instance to analyse the failure
Yep, ladies and gents, more open heart surgery on the menu!11 -
Sometimes I feel people underestimate us.
During all my life, people has asked me if I can fix their *any device* because it goes slowly/something doesn't work.
But, of course, for free. Because they think the only thing we do is pushing 3 buttons and everything is done. They think everything solves itself easily.
Then is the fact that we should be able to fix everything always. Even if the hardware is broken. Even if there isn't any way to solve the problem.
I think we deserve a little bit more from society. I don't expect people to understand what we do but at least something better than the guy who formats your computer when it starts to go slow.
(Maybe I'm the only one who feels that way or it's just where I live, idk)2 -
It’s still to easy.
I hope one day software will get so complicated no one will be able to fix it.
Somewhere in future :
- government established law that new AI system is only one that can accept new law
- every financial operation is monitored by government supervision AI
- we developed robots that are taking care of us
- everyone is happy cause work for money, shelter and food is now optional
- education is fully digital and managed by AI
- whole knowledge is based on asking questions, we don’t need to write and read anymore
- we use one common language and our knowledge specialization increased
A little more time passed by in this utopia.
- after power loss most of data got corrupted
- last man who knew how to restore backup died last night ( R.I.P. admin we will not forget you )
- people trying to save knowledge base to rebuild part of this civilization but no one knows how to make a paper because it haven’t been used for ages
- we decided to put what is left from knowledge on stone but we forgot how to write since everything is audio or video and most of time we were spending in VR
- someone decided that we draw some pictures
- all of use are now drawing animal heads like we remember ourselves from VR, let people know our tech is good
- some people love cats so they try to make cats from stones
- volcano eruptions destroyed most of stones that we made
Starving waiting for another respawn of my DNA sequence. I hope we manage to survive this time.4 -
You do know that "why do I need you if I can copy-paste code from SO?" joke floating around, right? Today I had a real-life situation perfectly illustrating it.
So I bought a set of parking sensors. Cheap ones, from AliExpress. Prolly the cheapest ones I could find. Installed them w/ engine turned off. All seemed fine. Cleaned it all up, got ready to go, started the engine and beeeep beeep beeepeeeeep beepp ..... beeeeeeeeep.
fuck.
Tried unplugging/replugging them one-by-one to find the faulty one. Nada. Apparently they all were false-alarming. They must all be bad, bcz they seem to work well w/ engine turned off (ignition on) and only false-alarm when engine is on.
Allright, I'll get a new set next weekend, a more expensive one and replace them again.
There goes my €20 and another week basically w/o parking sensors (car length is >5 meters, so sensors do help a lot).
Today I spend a few hours removing my rear bumper again, replacint all the sensors, wiring, etc. Tests show promising results - all sensors seem OK even w/ engine on! Close it all up, start a car again and.... beeep bep bep beeep beeee..eeeeppp.
MOTHER FUCK!
Another 30min-hour goes by while looking for a possible culprit. And I found it. The fix could did not take longer than 5 seconds. Apparently a wire feedint the sensors' controller was too close to sensors' wires. All I had to do is to push that wire a lil further from the controller with my index finger.
I could have saved €30, a week of time, half a day of work if I only knew what wire to [literally] poke.
shit...4 -
Help. I'm drowning in spaghetti code
I've been working at a working student (15 hours/ week) at a local software company for about a month now... and with everything I learned at college I'm kind of getting eye cancer here.
We still use SVN
We don't have any coding guidelines. No checkstyle, no overview over the program. When I started there I was just giving a ticket and they said good luck.
We just have some basic RCPTT Tests inside Eclipse and most of Themen don't work in the trunk because the gui got changed...
At least we have a ticket system but it doesn't get used by most of the working students.
I found 10 other bugs while reproducing and trying to fix 1 bug.
And I've never seen Java raped so badly. Today I saw a line that started with 6 brackets because whoever wrote it wanted to cast like there was no tomorrow. I see more instanceof in one day than in my whole devlife before.
The only thing we have is two normal employees that review our code before we are allowed to commit it into the trunk.
So yeah... I'm drowning in spaghetti-code.2 -
I wish my classmates didn’t know that I’m good at programming.
Recently, more and more often I am being reached out to by my classmates (and especially by one individual) about the problems they’re having issues with. For example yesterday, a guy fucked up his Git commit and made a bunch of merge conflicts, so I helped him fix this, which then lead to WinForms having multiple declarations of same objects.
And I really don’t wanna be rude, and I always try to help, for the love of god - stop bothering me every 5 minutes while I code, or at 10 PM while I wanna chill out.
Most of the things they have problems with can be solved by 2 minute Googling and I strongly believe that at the university level, you should be able to find solutions for your problems yourself - especially when you’re a programmer.18 -
Aaaaaaaargh!! Fing ashole!!
I got a major blocker reported, tried to connect to client, two of the user accounts were locked out because some genious used the last months password too many times.. FUUUU!! This happens almost every month!! FU! I go to the support dpt to check WTH is with those user accounts and got told the VPN is fucked up anyway so I will not be able to connect in any casr (disconnecting, bad transfer rate, it has a flue or prebirth cramps...whatever...). Ok, I ask if anyone notified our network admins and theirs.. And in response one guy mumbles something... I asked really really pissed off (due to the seriousnrs of the situation, we have max 8h to fix blockers and must check what is going on in minutes) if he is talking to me and answering my question or just talking to himself. He then a little bit more audiably said: we all are unable to work, you are not the only one with this problem & if you have a solutio... I already stormed out. Yes, everyone has problems connecting, no not everyone has a fucking blocker assigned to them!! Mayor malfunction on our system is not the same as archiving old processing data!!!
Simple yes or no question: did anyone notify our network admins & client's network admins?! And client's management that we have technical problems and cannot check the blocker situation immediately?! And I get a mumbling incompetents guy response... OmFG yes, I have a solution for you!! Go and jump of of the terrace!!4 -
So, a few months back my mother had some issues with her windows 10 box not being able to do proper backups to a backup partition. At the same time I was pulling insane hours at work and writing on a eBook on commission for a guy, besides having small kids with on and off flu and shit.
Needless to say, I didn't have time to look at the backup issues. Well, even though my mom is one of those dogs you can't teach new tricks, she has always been resourceful enough to get help with things.
This time she picked up the phone and called Microsoft Support, got some guys to remote in and take a look. They messed around a bit and said they were done.
She phoned me up later that day to tell me how proud she was of herself for doing that. Of course, she skipped telling me the important bit about she actually calling them, rather describing it as "Microsoft was just on my computer and fixed it".
You can imagine my immediate reaction, cold sweat running down my back, adrenalin rushing in as I dug through the details of what had happened.
A few days later she calls me up again and tells me the problem is back, and we agree that even though the MS dudes was not able to fix it at first, she should try again, as she had a ticket to reference.
The next attempt by MS actually fried her partitions, and apparently they had f-ed up trying to delete and recreate the backup partition.
That's not the worst of it though. Since they fried her disk, her computer crashed and naturally the remoting won't work. In our country, they have no people on the ground to do hands on help, and they didn't have a partner near by. Her not having a win 10 usb stick, nor a spare computer to make one, she was in a surreal predicament.
She was also quite pissed, and pissed off mums are not to be messed with. She managed to get Microsoft to agree to cover the costs of a non-partner to visit her to fix the problems, and using her as the middle man, they made an agreement with the 3rd-party tech support company.
After the box was fixed though, some more issues arose... regarding billing. The 3rd-party tech support was unable to get in contact with the person at MS that was going to sign off on the bill, and again using my mom as the middle man, it was agreed that my mom, as the customer, was to be reimbursed for the bill to the 3rd-party.
Guess what... 3 months went by, with weekly follow-ups and nagging from my mom, and still no money...
At this time, I had time to help her, and after some digging and borderline stalking, we managed to get the phone numbers of some of the higher ups in my country, and she started calling them directly.
After talking to a couple who refused to help, she reached the Vice President of the country branch, and was finally able to talk to someone who gave a shit.
Still took over a month more to actually get the money, but now she had someone who actually gave her statuses, receipts and ETAs.
FUCK!2 -
This happened 3 years ago in my previous company. It was a small start up company and we worked on PHP stack. One of the its ex-founders had written Windows Mobile App which now had to be upgraded with new features. So we hired this new dot net guy. I always thought dot net guys were ELITE coders and was excited to see how they work.
While I played Xbox and had fun, our dot net guy stuck to his workstation furiously working. My boss who was casually strolling out of his office for a stretch saw dot net guy working hard and suggested we all developers should take him as an example.
20 days went by and each day the dot net guy did the same. He came, he silently worked on his workstation, he left in the evening. In those 20 days my boss asked twice to the dot net guy if he has finished features he was assigned but he said he did not. After a month when he said the same negative answer and had nothing to show for the work he has done he was fired.
I was so curious to see what code that ELITE coder had written for a month but could not deliver a feature(Maybe some error he could not fix?). So I open the code repo on which he worked and I see 30 commits from that guy to it. He had made a single commit each day(Fair enough he wants to commit everday before leaving). It was time to check his commit diffs to see his ELITE code. What do I find? In every fucking commit he either added a blank line to the DocBlock or removed the same. Nothing less nothing more! So much for the hyped not-so-ELITE dot net guy...1 -
I was asked to fix a critical issue which had high visibility among the higher ups and were blocking QA from testing.
My dev lead (who was more like a dev manager) was having one of his insecure moments of “I need to get credit for helping fix this”, probably because he steals the oxygen from those who actually deserve to be alive and he knows he should be fired, slowly...over a BBQ.
For the next few days, I was bombarded with requests for status updates. Idea after idea of what I could do to fix the issue was hurled at me when all I needed was time to make the fix.
Dev Lead: “Dev X says he knows what the problem is and it’s a simple code fix and should be quick.” (Dev X is in the room as well)
Me: “Tell me, have you actually looked into the issue? Then you know that there are several race conditions causing this issue and the error only manifests itself during a Jenkins build and not locally. In order to know if you’ve fixed it, you have to run the Jenkins job each time which is a lengthy process.”
Dev X: “I don’t know how to access Jenkins.”
And so it continued. Just so you know, I’ve worked at controlling my anger over the years, usually triggered by asinine comments and decisions. I trained for many years with Buddhist monks atop remote mountain ranges, meditated for days under waterfalls, contemplated life in solitude as I crossed the desert, and spent many phone calls talking to Microsoft enterprise support while smiling.
But the next day, I lost my shit.
I had been working out quite a bit too so I could have probably flipped around ten large tables before I got tired. And I’m talking long tables you’d need two people to move.
For context, unresolved comments in our pull request process block the ability to merge. My code was ready and I had two other devs review and approve my code already, but my dev lead, who has never seen the code base, gave up trying to learn how to build the app, and hasn’t coded in years, decided to comment on my pull request that upper management has been waiting on and that he himself has been hounding me about.
Two stood out to me. I read them slowly.
“I think you should name this unit test better” (That unit test existed before my PR)
“This function was deleted and moved to this other file, just so people know”
A devil greeted me when I entered hell. He was quite understanding. It turns out he was also a dev.3 -
My head is melting. Does anyone have a colleague who constantly complains about missing specs, documentation, project organization, bad processes and procedures? Everything needs to be planned. Not a single small code change can be done without reviewed details. 10min job becomes a week-long session of whining and dabbling.
You give the guy a small task and at the end of the day nothing is done. Just page after page of written documents and lists in Word and online notebooks. Version numbers, meaningless measurement results, latencies etc. And all you asked was "could you just fucking fix this one thing and quickly compile and check it". But no. There must be a review and at least 10 people need to be called into conference. Someone needs to approve everything just so that he can later move to blame to others. "Yeah I know it's not working but I showed you the code and you reviewed it!". Yes, you did, but other people have work of their own so sometimes you need to tie your own shoelaces.
And sometimes finally there's some work done. All indentations are shit. There’re code changes everywhere just because the guy didn't like the previous smaller, compact and logical code. The code doesn't even compile properly anymore. And if you complain, the reason is "there's no proper reviewed and stamped process description, so I cannot know if a variable is supposed to be 10 characters long. Besides 200 character long variable names are much more descriptive". For fucks sake.
Some coders should've gone to work in some tax office basement.9 -
Good question, what wasn't bad about 2020?
As far as good things go.. well, COVID-19 actually. Back in February the lockdown began in Belgium, and while many people got bored out of their minds, I actually became a lot more productive. So many projects started back then, and I got a lot better at programming because of it. Now I can confidently write most bash stuff without ever looking anything up. And the code is maintainable, on account of putting everything into functions. You can literally navigate the code just by looking at it. On older code I always had issues with that.
I'm very glad that essential travel even back then wasn't really restricted. Because my bank is retarded about online banking, I have to go to the bank every so often to check my balance. At the time I tended to do that late in the evening, when nobody else was outside and I had the entire town to myself. That was one of the travels considered essential. So I kept doing it and made that my biweekly walk. I really enjoyed that. Gets your mind off things.
Bad things would be the utter stupidity that the general public had shown me during that pandemic. Burning down 5G antennas and not even getting the right ones, toilet paper, 5G death beams in street lamps?! They even sent death threats to telco workers over sensationalist bullshit from what IIRC was just a random Twitch streamer. Those people should just fucking kill themselves, choke yourselves in that pile of toilet paper you got yourself and then called yourself financially challenged. You braindead fucking retards!
Another dev-related thing is the normalization of SJW terminology. Now even "blind playthrough" gets your ass banned on Twitch. I saw a tweet about a Twitch employee (I think) proudly saying that they implemented it. Most upvoted comment on it was from a blind person, asking why they did this and not made the Twitch app more friendly to use for blind users. They too thought this was bullshit. Yet it still got added in, and more and more people are starting to think that "this is fine". Hell even that "this is necessary".
What annoys me the most is that this mostly comes from the US, where around that time they laid their knee on George Floyd, and didn't fix their legal system at all. As a European it baffles me since we have many immigrants here (the Drumpf even called Belgium a hellhole over it) and we just don't give a shit about whether or not they are "truly Belgian". We just let them live their daily lives like everyone else. Imagine just not giving a shit. Imagine not bothering them, not with racism, not with reverse racism, not with anything. Just let them do their thing and that's it. Yet despite Belgium being one of the most inclusive countries in the fucking world, I still got called a racist many times for asking.. why did you implement this? Why this, and not tackling the problem at its actual and pretty fucking obvious core?
So all in all I can only hope that 2021 will get a little bit better. But that's the same thing I said in 2019, and it didn't quite come true.11 -
*me and my manager, during my appraisal meeting
me: *talks about work done in previous project, and the current one under him
manager: but your JIRA throughput is very less.
me: the tickets which I pick are more research oriented and almost always take more time than the other config- fix type ones, and due to me being shifted from another team, there has been an increasing learning curve, I realize that, but...
manager: look at Jack, his throughput has been consistently high.
*me, after realizing my appraisal has obviously gotten affected and this discussion will lead nowhere
me: I would like to have a chat with HR before I sign the form with the percentage increment you are offering.
*me, with hr the next day
hr: your manager tells me that your throughput has been less than satisfactory.
me: *goes on to explain about the type of tickets I have been working on, along with other enhancements done to make people's lives easier
hr: but the throughput...
me: where the f**k do I sign?2 -
My family (dad, mom and I) runs a software business. Things were going decent when I was in college, and just as I was about to finish college, it went slightly bad due to lack of some technical insight. So I figured, I had the knowledge to do so, and joined in the family business as my first job. When I joined, I found out that things were worse that what I expected, (lack of processes in the company to handle day to day business). But we took a year to fix it and solve issues. But during this year, while the company finally runs as a proper company, we went into some serious debt to keep it running, as we were expecting it to get resolved soon. But now, although the company is structurally fine, the sales have seriously dropped. This has us cornered and we aren't able to do anything. We are seriously considering shutting the company down.
Which is not the worst part. The worst part is the debt. Since I, was a part of the company too, I am equally responsible for paying it off. And now, due to both my parents hitting the retirement age, I will be the only one repaying it. I really don't want to invest an estimated 8-10 years of my life living very modestly and spending a large (70-80%) of my income in repaying this.
I don't even know what to do, and things just seem very hopeless for me. Looking for any advice anyone has.
I guess if I had a bit more experience in the real world, I would be better at dealing with this, but I'm literally just 1 year out of my college.42 -
My thoughts on Windows:
Xp: fairly decently stable
Vista: OK wtf
7: what vista should have been. (The best one imo)
8: trash
8.1: an attempt to fix trash
10: slightly less trash with more stupidifying4 -
tl : "hey dotenv, we have a presentation with VP tomorrow, do you want to present any of your achievements in product?"
me: "umm, what achievements ?"
tl : "you know, something that you added in app which made a good impact to various metrics like DAU, MAU, less bad reviews etc"
me: "umm... i coded the tasks and features created by you folks. they got shipped at some point of your liking, and are now being tracked by you for its success failure. So i am not sure what to take credit for"
TL: "no, no.. i mean like any bugs or issues that you fixed outside of your daily jira tasks which you tracked to be a sucess"
me: "well as far as tracking is concerned, then neither i know how to track them nor i did. but yea, i identified a bug where an outdated payload was generating bad request and giving a silent failure instead of success which recently got shipped. maybe its helping users get actual response instead of "we will get back to you in some time" , so this might get considered?
TL : "oh that? that we have already added as one of the team's achievements (=PM+TL's achievement) and have tracked it to be a succes"
me : "what th- okay. then how about that api failure which was identified by AVP as "something is not right" in which the api was intermittently taking a long time to respond. he tagged me and i set up logs to identify which type of users got that issue and the actual cause of that api failure. that was definitely a good fox for app as we ended up with good reviews on playstore for our new release?"
TL : "oh that? how can you take credit for that fix? it was identified by AVP, you just added similar logs that we were using for tracking errors and implemented a fix when it came to you as a sprint task? its a team achievement"
me : "but you guys didn't identified the cause through your logs!? my log was more granular. and even if that's the case, we aren't allowed to pick any task just as is, without getting it added to sprint , right?"
TL : "nah, that was a team win"
*6 months later, during appraisal time"
TL : "Hey dotenv, you haven't displayed any leadership skills and haven't gone put of the box to improve the product. Here's your peanut appraisal 🗑️"
me : 🥲🔫🤯🪦
------------
fuck this stupid neaurocrst structure. i hate being a selfish prick than a team player, but either give credits as well as punishment to the team or gove credits as well as punishment to the single person. but wtf is thos culture of giving reward to team and punishment to individual? fckin communists
------ -
Just learned that yesterday someone suggested putting the dev team on "workspace", when I was on leave.
My first question, "what the hell is workspace?"
"It's a remote environment..."
Okay I get it. Are you kidding me? Doing development on remote desktop?
My second question, "Why the hell did someone suggest that?"
"We have had issues with devs using MySQL but the target prod will be using PostgreSQL. That caused issues, inconsistencies... And we found some issues after deployment."
Okay so much for DB agnostic. I called it out that everyone now install PostgreSQL on local. Problem solved, hopefully.
Why we had MySQL in the first place? Yes DB agnostic is one of the reason. The other being I'm more familiar with MySQL so it's quicker to perform tasks (like "can you clone that environment for me" and "can you fix the data on XYZ"). But that's trivial.
Just some ridiculous suggestion that set me off.7 -
!devButAlsoKindaIsDev
Alright, time to do some explanation.
TL;DR: JavaScript is a fucking nightmare. May god help every web developer out there. Essentially, I was gone because of JavaScript.
Q: where tf are you bruh
A: in your mo-uhhhhh alright, so I was chosen to be the main developer for an interactive promotional video for my school (every year the school holds something called an open day, where kids from 8th grade can come to the school and have a tour in the school first hand. Because of the coronavirus (just gonna call it “the rona” from here) this is now impossible so we are losing the interest and the first impressions so the school decided to make an interactive virtual one). They asked me if I want to do it and I said yes.
Boy, was that ever a mistake... (hint: it was a huge mistake)
So the guy who talked to me and asked if I wanted to do this was my grade’s manager, and he gave me the phone number of my PM. So we talked and stuff, and then this happened: (bruh = PM)
bruh: I’ll send you the API and documentation for the thing that we are working with! They have lots of examples and stuff and they’re Israeli too!
Me: Okay! What language are we talking about here?
bruh: JavaScript.
Me: (questioning life choices) Okay!
I didn’t write any JavaScript for the last 3 years or so. It had to be done because I promised and I can’t let down people who count at me and ask me to show where I shine.
So, what was the objective for me? Build a Firebase client that sends the user’s score and choices to Firestore after he chooses something in the interactive video (for example, go to chemistry or go to physics) while learning JavaScmeme (ECMEMEScript) as I go.
Deadline? A week and a half.
After working almost 12 hours a fucking day, I made it work. Sorta. In order to reconcile with small exceptions and edge cases in the interactive video, I had to hard-code some IDs in the code. I had no choice, since I couldn’t allow myself to spend more and more time to make my code more dynamic than it was because I simply didn’t have time. The code absolutely STINKS but it works.
Today is the day where we (aim) to finish all of the cosmetic things that we need to fix. All of them are non-essential for everything to work, but we want to make this thing presentable because we want to put this on the school’s website.
CONCLUSION:
JavaScript is literal shit. Dynamic weakly-typed languages are cursed AF and need to die in a fire.7 -
My current situation:
Manager: How is Project A coming? Project A is top priority. I would like to see a PR today with fixes to the current tickets.
Me: Project A is priority! Sure!
*after 2hours*
Manager: How is project B coming along? I did not see any PR’s coming in?
Me: I am working on project A as it is priority.
*after 1 hour*
Manager: How is project C coming? There is one ticket pending. We need a fix for it today asap!
Me: Starts project C as project A would take more time. Starts Work on project C.
*after 1 hour*
Boss: How is project A coming? Where is the PR?
Me: As you said you need a fix for project C today, i started working on project C as it has only 1 ticket to be fixed.
Boss: I told you project A is priority, why are you working on project C?
Me: *doesn’t reply*
*after 1 hour*
Boss: There is a ticket pending in project D. Did you make a fix for it?
*This is my usual day at work.
*I am the only developer in my current company. It’s not a software development company.
*Note: I do complete all the work and create PR’s for all “pending” work at the end of the day for all projects and leave for home at around 10pm :)
What do you think? Lol6 -
One day I spent about 11h working on a project, that night I had a dream where I was trying to fix a bug that was in that project, so basically I spent 11h actually working and a few more in a dream.1
-
Most painful code error you've made?
More than I probably care to count.
One in particular where I was asked to integrate our code and converted the wrong value..ex
The correct code was supposed to be ...
var serviceBusMessage = new Message() {ID = dto.InvoiceId ...}
but I wrote ..
var serviceBusMessage = new Message() {ID = dto.OrderId ...}
At the time of the message bus event, the dto.OrderId is zero (it's set after a successful credit card transaction in another process)
Because of a 'true up' job that occurs at EOD, the issue went unnoticed for weeks. One day the credit card system went down and thousands of invoices needed to be re-processed, but seemed to be 'stuck', and 'John' was tasked to investigate, found the issue, and traced back to the code changes.
John: "There is a bug in the event bus, looks like you used the wrong key and all the keys are zero."
Me: "Oh crap, I made that change weeks ago. No one noticed?"
John: "Nah, its not a big deal. The true-up job cleans up anything we missed and in the rare event the credit card system goes down, like now. No worries, I can fix the data and the code."
<about an hour later I'm called into a meeting>
Mgr1: "We're following up on the credit card outage earlier. You made the code changes that prevented the cards from reprocessing?"
Me: "Yes, it was my screw up."
Mgr1: "Why wasn't there a code review? It should have caught this mistake."
Mgr2: "All code that is deployed is reviewed. 'Tom' performed the review."
Mgr1: "Tom, why didn't you catch that mistake."
Tom: "I don't know, that code is over 5 years old written by someone else. I assumed it was correct."
Mgr1: "Aren't there unit tests? Integration tests?"
Tom: "Oh yea, and passed them all. In the scenario, the original developers probably never thought the wrong ID would be passed."
Mgr1: "What are you going to do so this never happens again?"
Tom: "Its an easy addition to the tests. Should only take 5 minutes."
Mgr1: "No, what are *you* going to do so this never happens again?"
Me: "It was my mistake, I need to do a better job in paying attention. I knew what value was supposed to passed, but I screwed up."
Mgr2: "No harm no foul. We didn't lose any money and no customer was negativity affected. Credit card system may go down once, or twice a year? Nothing to lose sleep over. Thanks guys."
A week later Mgr1 fires Tom.
I feel/felt like a total d-bag.
Talking to 'John' later about it, turns out Tom's attention to detail and 'passion' was lacking in other areas. Understandable since he has 2 kids + one with special-needs, and in the middle of a divorce, taking most/all of his vacation+sick time (which 'Mgr1' dislikes people taking more than a few days off, that's another story) and 'Mgr1' didn't like Tom's lack of work ethic (felt he needed to leave his problems at home). The outage and the 'lack of due diligence' was the last straw.1 -
So before the Age of JavaScript, when programming was trying to be an engineering discipline, I felt like we were getting close to figuring out what worked and what didn't. We had rules of thumb (more general than Patterns) and code smells.
Then JavaScript came in and no one had time to think about "engineering" anymore. I'm fine with MVP and small iterations, but the disdain I see for making code clean and extendable and improvable is baffling (and annoying). First-time coders might never have had to fix someone else's code, but two weeks in a chair should have fixed that.
It's not that understanding code is so hard (although it can be); understanding the _intent_ is hard. This MVP is great, but when no one had time to document what is actually supposed to happen, programmers have to reverse-engineer the *design*.4 -
So... About a month ago 2 interns started a project from scratch at my company. My boss gave them a project to follow as an example (more for the api and database side).
Wednesday they ended the internship and I've began to help fix the rest of the kinks that were left to be fixed. Friday we were finishing up the app and api to send to the client for tests. The database was created with 4 tables that were equal in structure... Imagine that you need a table for orders and they have status like pending, cancelled, finished and accepted. What they've done was they created 4 tables, one for each status....
Why the hell would you do this???5 -
First thing, give the schools enough money to buy proper IT equipment and hire at least one person who does IT full-time per school so that the CS teachers or whoever runs the school's IT infrastructure doesn't have to worry about it at all times.
(Hopefully, the ban on cooperation here in Germany will be lifted and the federal government will be able to subsidy all schools at least financially in that aspect.)
Then, educate all the teachers, for fuck's sake.
It is sad to see an otherwise good teacher in a technical subject at a technical college struggle with the basics. Teachers should have continuing education in computer science and also should be comfortable working with technology.
There are some good CS teachers and some who're also nerds but they can't fix everything nor educate every colleague. Unpaid and in their free time, mind you.
Then, update the learning materials for CS. I've seen/worked with some of what is used in schools today and it's definitively not worth the money but it has to be bought anyway. At best, education materials should be open-source so knowledge can grow and be updated more quickly.
Also, don't rely too much on big cooperations just but cause they offer you shiny materials and discounts. -
Does most memorable in a bad way count? 🤔
He left almost 2 years ago..or even more.. left a bunch of bugs and logical fuckups for me to fix.. some already fixed, some still lingering there..
I want to not blame him for everything, since we lack proper code review protocols and all.. but I've asked on several occasions if he understands the problem and what must be done..and the answer was always yes..results, after I got time to check up on him, the code he wrote was most probably copy pasted from stack overflow or somewhere else.. butchered in any and every way possible..
And of course already checked in to TFS.. along with bunch of files that were not even changed (he didn't bother to check that and exclude them) + a bunch of files from other projects... Told him to not do that on several occasions too, but he still managed to fuck things up this way.. leaving all the uncommented debugger; crap and alerts in the js files..
On one occasion I was working on new GUI..api part I already finished..got the order from above to delegate this to him as it is not much he can fuck up so I could focus on more important & complex stuff..
Maybe additional 4h of work + testing for everything..
I show him the prepared files, one controller, one view..explained what parts of code goes where etc.. a little short of writing everything myself.. Ask if he understands what needs to be done & how and told him if he has any problems/questions to ask me asap..
Said he understood what needs to be done.. after a day or two he asks me why something is not workig as expected.. I check the files, correct initialization was commented out and all the code was stuffed in the view file.. Took him another day to move the code to proper files.. Not sure about the possible bugs left there as the client later decided that they will not be using this..
I later found out that years of C# experience on his CV was actually a school course.. he didn't even know why the changes on api are not showing up..because he didn't know that he has to build the code..
I mean, if he was honest when asked about experience with .net, we would've taken a month or two to just explain everything from the start..
But as he didn't and based on his CV (much more experience with .net than me) and 'I understand everything' attitude from the start I assumed he knows WTF was he doing..
Boy was I wrong..
He was also more interested in how much I get payed and if I have a company phone etc..than actually doing his job.. I fucking hate chit chat, and this..well.. he didn't get the hints that this is in no way appropriate to ask.. I've told him that if he has problems with his pay and bonuses that he should talk to the management and not me about this..and that I'm only interested in his actual work and progress..
So yeah, I'll definitely be remembering this guy till the day I die..3 -
Rant time of 'Derp & Co.'
Today I decided that I am going to find another job, I just can't keep with this shit.
They said that use Agile: FALSE.
• Daily (best scenario) take like 1 hour and a half.
• New task enter the sprint and "Fuck you, more task in the same time". This is something regular done.
• "Oh, dev, we need you to check this other project" I am in the middle of my sprint on this project. "But you have to fix this bug here". (3 fucking days the bloody bug) "You are late again with tasks".
• Meeting for fresh sprint: 6 BLOODY hours... nonstop
The workflow is garbage:
• SOMEONE should did all the devops shit on the first sprint, guess what? They did nothing!, guess now who is being blamed for it (not only me, but a few coworkers).
• Nothing is well designed/defined:
~ task are explained like shit
~ times measured wrongly
~ We are in the last fucking SPRINT and still doing de ER of the DataBase cause Oh, apparently no one has work before with SQL (damn you MongoDB! (Not really)) so I am doing my best, but "jezz dev, this is so hard... maybe we can do it WRONG and easy".
~ No one is capable of take responsability of their mess, they just try to push down the problems. (Remember the devops situatuion? Why is.my fault? I came at the 3 or 4 sprint and I am doing backend tasks, I know nothing about devops).
But the big prize, the last one:
• Apparently you can't send whatever you want to the boss, it has to pass a filter previously of coordinators and managers, hell yeah!
And I am an idiot too!
because I see that we can't reach our schedule and do hours on my spare time!
This is because there are a few good coworkers who probably ended with my unfinished tasks... and they are equaly fucked as me...
This is just the tip of the iceberg. I am not a pro, I am not a full stack developer and still need to learn a lot, but this is just not normal, eight months like this...3 -
developer makes a "missed-a-semicolon"-kind of mistake that brings your non-production infrastructure down.
manager goes crazy. rallies the whole team into a meeting to find "whom to hold accountable for this stupid mistake" ( read : whom should I blame? ).
spend 1-hour to investigate the problem. send out another developer to fix the problem.
... continue digging ...
( with every step in the software development lifecycle handbook; the only step missing was to pull the handbook itself out )
finds that the developer followed the development process well ( no hoops jumped ).
the error was missed during the code review because the reviewer didn't actually "review" the code, but reported that they had "reviewed and merged" the code
get asked why we're all spending time trying to fix a problem that occurred in a non-production environment. apparently, now it is about figuring out the root cause so that it doesn't happen in production.
we're ALL now staring at the SAME pull request. now the manager is suddenly more mad because the developer used brackets to indicate the pseudo-path where the change occurred.
"WHY WOULD YOU WASTE 30-SECONDS PUTTING ALL THOSE BRACES? YOU'RE ALREADY ON A BRANCH!"
PS : the reason I didn't quote any of the manager's words until the end was because they were screaming all along, so, I'd have to type in ALL CAPS-case. I'm a CAPS-case-hater by-default ( except for the singular use of "I" ( eye; indicating myself ) )
WTF? I mean, walk your temper off first ( I don't mean literally, right now; for now, consider it a figure of speech. I wish I could ask you to do it literally; but no, I'm not that much of a sadist just yet ). Then come back and decide what you actually want to be pissed about. Then think more; about whether you want to kill everyone else's productivity by rallying the entire team ( OK, I'm exaggerating, it's a small team of 4 people; excluding the manager ) to look at an issue that happened in a non-production environment.
At the end of the week, you're still going to come back and say we're behind schedule because we didn't get any work done.
Well, here's 4 hours of our time consumed away by you.
This manager also has a habit of saying, "getting on X's case". Even if it is a discussion ( and not a debate ). What is that supposed to mean? Did X commit such a grave crime that they need to be condemned to hell?
I miss my old organization where there was a strict no-blame policy. Their strategy was, "OK, we have an issue, let's fix it and move on."
I've gotten involved ( not caused it ) in even bigger issues ( like an almost-data-breach ) and nobody ever pointed a finger at another person.
Even though we all knew who caused the issue. Some even went beyond and defended the person. Like, "Them. No, that's not possible. They won't do such dumb mistakes. They're very thorough with their work."
No one even talked about the person behind their back either ( at least I wasn't involved in any such conversation ). Even later, after the whole issue had settled down. I don't think people brought it up later either ( though it was kind of a hush-hush need-to-know event )
Now I realize the other unsaid-advantage of the no-blame policy. You don't lose 4 hours of your so-called "quarantine productivity". We're already short on productivity. Please don't add anymore. 🙏11 -
Depressed since yesterday.
Updated all our clients Dialers. Stellar performance. Suddenly one of 15 can’t hang up three way calls.
It’s one of our biggest clients. And they just started. We upgraded the dialers so the answering machine detection would improve for them and it did, along with vast performance upgrades as well. Suddenly, this issue.
2 days in they pull the plug until we fix it. The issue is sporadic and we cannot reproduce. No one else is having the issue. I can’t even debug it properly as it’s a third party dialer with no customizations on it. I found out where the error is, but no idea the workflow they got it to happen with or why. It’s so frustrating. It happens using the dialer native interface, and our integration via api calls. The channel doesn’t get sent to the command for some random reason, and only sometimes.
So even if it’s fixed they don’t trust the system. Now they are losing the full integration we have with the crm and dialer and it’s going to be a mess of data for them. All because of this one issue. They love the CRM though...
If they had just stayed on one more day I’m sure I could have found it. Now I have to play forensic scientist and look through old data, without being able to see the client code that was causing the issue.
Just threw some cash down to be able to talk to the dialer engineers and hopefully see what’s up. What a nightmare. And I have so many other projects for the platform due so soon...
Sigh. Super depressing.1 -
!story
As is the case with many of you, I am also the de facto technology fixer for my family, and usually the first one they call when something goes wrong.
Usually it's a 'something wants to update, should I do it?' simple issue. Other times I have to remote connect to see why Word isn't uploading templates correctly or whatever.
Yesterday was different though.
Me: So whatcha need?
Mom: Well, my office has recently wanted me to be remote-capable in case they need me for something and they don't have the right people to fix it (she's been working at the same office for 20+ years and knows basically everything)
Me: Okay. So I guess they're setting up a VPN for this?
Mom: Yes. And I was calling because they might try and install it on my personal laptop and I wanted to know whether or not I should be concerned about our IT guys being able to look at or steal all my personal data.
I then proceeded to explain how a VPN works and that convincing her company to provide her with a separate computer would be the safest option and whatnot. But I was honestly really surprised that she was concerned to begin with.
For a while now, it seems there's been one story after another of companies being irresponsible with their customer's data, with little to no reprocussion or action that could really make a difference.
But as a direct result, we're now getting to the point where even the tech illiterate are becoming more aware of how this is effecting them.
It gave me hope for the future in an industry where many times there is very little. And I hope it does for you as well.
Thanks, mom. I'm proud of you.2 -
Im getting annoyed by the new layout of google. Hovering the sidebar will make a scrollbar appear but the main part of the site's scrollbar will disapear. This results in most content moving from their original place. Let's make a Stlyish script to fix this problem I thought. Guess what now somethings stay where they should be, but the things that were first on the right place have moved. Also this will make the header shorter. I'm getting more and more amazed how shitty some frontend devs are at google.
To fix one bug they, instead of solving the bug, tried to counter the result of the bug.
I do like the z-index of the sidemenu though (it's 2005, the year youtube was created)12 -
Inspired by @NoMad. My philosophy is that technology is a means to and ends. We’re a tool oriented species. As it relates to software and hardware, they should be your means to achieve your ends without you needing to think. Think of riding a bicycle or driving a car. You aren’t particularly conscious of them - you just adjust input based on heuristics and reflex - while your doing the activity.
For a long time Software has been horrendously bad at this. There is almost always some setup involved; you need to front-load a plan to get to your ends. Funny enough we’re in the good days now. In the early days of GUI you did have to switch modes to achieve different things until input peripherals got better.
I’ve been using windows from 95 and to this day, though it’s gotten better it’s not trivial to setup an all in one printer and scan a document - just yesterday I had to walk my mother through it and she’s somewhat proficient. Also when things break it’s usually nightmare to fix, which is why fresh installing it periodically is s meme to this day. MS still goes to great lengths with their UI so that most people can still get most of their daily stuff done without a manual.
I started Linux in University when I was offered an intro course on the shell. I’ve been using it professionally ever since. While it’s good at making you feel powerful, it requires intricate knowledge to achieve most things. Things almost never go smoothly no matter how much practice you have, especially if you need to compile tools from source. It also has very little in the ways of safe guards to prevent you from hurting yourself. Sure you might be able to fix it if you press harder but it’s less stress to just fresh install. There is also nothing, NOTHING more frustrating than following documentation to the T and it just doesn’t work! It is my day job to help companies with exactly this. Can’t really give an honest impression of the GUI ux as the distros have varying schools of thoughts with their desktop environments. Even The popular one Ubuntu did weird things for a while. In my humble opinion, *nix is better at powering the internet than being a home computer your grandma can use.
Now after being in the thick of things, priorities change and you really just want to get things done. In 2015 I made the choice to go Mac. It has been one of my more interesting experiences. Honestly, I wish more distros would adopt its philosophy. Elementary only adopted the dock. It’s just so intuitive. How do you install an application? You tap the installer, a box will pop up then you drag the icon to the application folder (in the same box) boom you are done. No setup wizards. How to uninstall? Drag icon from app folder to trash can. Boom done. How to open your app? Tap launch pad and you see all your apps alphabetically just click the one you want. You can keep your frequent ones on the dock. Settings is just another app in launchpad and everything is well labeled. You can even use your printers scanner without digging through menus. You might have issues with finder if your used to windows though and the approach to maximizing and minimizing windows will also get you for a while.
When my Galaxy 4 died I gave iPhone a chance with the SE. I can tell you that for most use cases, there is no discernible difference between iOS and modern android outside of a few fringe features. What struck me though was the power of an ecosystem. My Mac and iPhone just work well together. If they are on the same network they just sync in the background - you need to opt in. My internet went down, my iMac saw that my iPhone had 4g and gave me the option to connect. One click your up. Similar process with s droid would be multi step. You have airdrop which just allows you to send files to another Apple device near you with a tap without you even caring what mechanism it’s using. After google bricked my onHub router I opted to get Apples airport series. They are mostly interchangeable and your Mac and iOS device have a native way to configure it without you needing to mess with connecting to it yourself and blah. Setup WiFi on one device, all your other Apple devices have it. Lots of other cool stuff happen as you add more Apple devices. My wife now as a MacBook, an IPad s d the IPhone 8. She’s been windows android her life but the transition has been sublime. With family sharing any software purchase works for all of us, and not just apples stuff like iCloud and music, everything.
Hate Apple all you want but they get the core tenet that technology should just work without you thinking. That’s why they are the most valued company in the world14 -
Impossible deadline experience?
A few, but this one is more recent (and not mine, yet)
Company has plans to build a x hundred thousand square feet facility (x = 300, 500, 800 depending on the day and the VP telling the story)
1. Land is purchased, but no infrastructure exists (its in a somewhat rural area, no water or sewage capable of supporting such a large facility)
2. No direct architectural plans (just a few random ideas about layout, floor plans, parking etc)
3. Already having software dev meetings in attempt to 'fix' all the current logistical software issues we have in the current warehouse and not knowing any of the details of the new facility.
One morning in our stand-up, the mgr says
Mgr: "Plans for the new warehouse are moving along. We hope to be in the new building by September."
Me: "September of 2022?"
<very puzzled look>
Mgr: "Um, no. Next year, 2021"
Me: "That's not going to happen."
Mgr: "I was just in a meeting with VP-Jack yesterday. He said everything is on schedule."
Me: "On schedule for what?"
<I lay out some of the known roadblocks from above, and new ones like the political mess we will very likely get into when the local zoning big shots get involved>
Mgr: "Oh, yea, those could be problems."
Me: "Swiiiiishhhhh"
Mgr: "What's that?"
Me: "That's the sound of a September 2021 date flying by."
Mgr: "Funny. Guess what? We've been tasked with designing the security system. Overhead RFID readers, tracking, badge scans, etc. Normally Dan's team takes care of facility security, but they are going to be busy for a few weeks for an audit. Better start reaching out to RFID vendors for quotes. Have a proposal ready in a couple of weeks."
Me: "Sure, why not."1 -
I started my actual gig as CTO of construction group (Innovation Hub) a year ago. And it was a hell of a ride, implementing kind of a scrum-ban for project management, XP, peer-reviews, a git-flow, git commit message formats, linters, unit testing, integration tests, etc...
And it's the fun part because with the CIO we had to drive the board to do A LOT of changes in their IT/Innovation drive.
But in one year there is a lot of KPI that went up :
* Deployment: When I arrived it took three stressful days to deploy a new version of one application, once a month. Today we do it every week, and it takes three annoying hours.
* We had no test. NOTHING! Today we have 85% code coverage for the unit test, and automatic integration tests run by our CI server every day.
* We had almost no documentation. Today our code is our documentation (it automatically extracted and versioned).
* We had 0 add value in the use of git. With commit messages as "dev", "asked task", inside jokes and a lot of "fix" and "changes". Today we have a useful git, and we even use it to create our deploy changelogs (and it's only mildly annoying!).
* More important, the team is happy! They get their purpose, see betterment in their tech mastery. They started doing conception, applicative architecture, presentations, having fun.
There is still a LOT of bad things we are still working on, and trying to solve (support workflow and betterment). But seeing what they already did, I'm so proud of my TEAM! I'm a fucking asshole, workaholic, "just do it" kind of guy. But they managed to achieve so much. Fucking PROUD!! -
In my current company (200+ employees) we have 3 guys who deals with everything related to service desk (format computers, fix network issues, help non-tech people...)
The same team is responsible for the AWS accounts and permissions, Jenkins, self hosted Gitlab... anyway, DevOps stuff.
Thing is: only one of them have enough DevOps background to handle the requests from the engineering team (~15 people). Also, he usually do anything "by hand" clicking trough the AWS interface on each account, never using tools like Infrastructure as Code to help (that's why I started to refer to his role only as Ops, because there's no Dev being done there).
Anyway... I asked my manager why that team is responsible for both jobs, despite the engineering guys having far more experience with those tools. He answered with a shamed smile, as he probably questioned the same to his manager:
- Because they are responsible for everything related to our Infrastructure.
Does it make sense for anyone? Am I missing something here? In what universe this kind of organization is a healthy choice?4 -
If I had to name one of my weaknesses it would definitely be impatience.
When I'm working on a backlog issue I want it to be done, finished, pronto. In the real world that's ofcourse not always the case, I can't disturb my colleagues with every question or ask for feedback every minute. I also hate it to have to wait for someone else to do something for me if it's blocking me, like when I need to fix something on a server but don't have access or when I somehow don't have permission for something and have to wait for someone to come and fix it. Even worse: Slow programs that fuck me up when I _just a second ago_ figured out how to fix a bug or implement something.
I also have to wait for pull request reviews so I usually end up with a bunch of stacked PRs that all feature small changes but are dependent upon each other because I needed a change for a different change, never more than 2-level stacks though!
Obviously it's a bit childish to lack professional patience, but it's definitely something that I wanted to rant about and think I should grow in. -
I really want to stress that we should add the ticket for adding the missing test cases in *this* sprint and not postpone it any further.
-- "Isn't there something more important to be added instead?"
There. ALWAYS. Is. Something. MORE. Important. The real problem was that we implement the test cases in the past to begin violating our definition of done. We have to fix and one point and we have to own that decision as nobody else will care about passing tests and test coverage. It's our job to care for that.
Yes, we can instead focus on all the other high-priorities task that should have been done yesterday, yet that won't change the fact that large part our codebase will remain an untested messy blackbox just asking for weird bugs and wild goosechases in the future.
Don't hide behind "high priority tasks". A job is done when it is fucking done and tests are part of that. Hurrying from one important task to the next will just mean we'll never do it. There is no better time than right now.
If code coverage got left behind in the past, then we'll have to suck it up in order to fix it as soon as possible, otherwise we'll just suck forever.rant workflow priorities something more important agile own your shit developer sprint planning sprint testing test1 -
Used a starter to scaffold a new project. Have never used that starter before but it has more than 1400 starts on Github.
Two days after.... so far so good. The created project structure used some tools I haven't used before, some are good, others are not so good, but anyway I am towards the first release of my codes. I have done countless 'npm run build', 'npm run test', 'npm run fix', etc., but.... my fault, I haven't committed once since starting the project, thinking I would commit when the next function is implemented, next test case passed.... after all, what could go wrong anyway?
Finally, one last test case passed, I think I will commit and run 'npm publish'.... but wait, had a glimpse of the scripts section in package.json, there's a command named 'all'. An voice came out of nowhere was talking to my subconscious mind, "all.... build, lint, prettier, test..... yeah you should run all... it's another build script, the worst you can get is just some harmless error messages.....", and my fingers typed 'npm run all'...
Time stopped for a few seconds, file structure in project explorer was shifting, files & folders were disappearing & appearing, what's happening... and I looked at the 'all' script closely for the first time....
WHAT THE HELL, WHO SHOULD PUT 'git reset --hard' IN A BUILD SCRIPT WITHOUT ANY PROMPT????!!!!!!!
MY PLAN WAS TO COMMIT AND GO TO SLEEP, IT'S 1AM NOW!!! WHERE CAN I RECOVER THE LOST FILES????4 -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
To all of us who procrastinate. Here is my new thinking that is making me slightly more productive! I would guess we all agree that the work is fucked up. But what we need to be productive, is an ego big enough to think that we are the only one smart enough to fix it! Just let your ego go!
Why code that project? Because other people would do it wrong! You fuck up the project? Fuck you, do it right or it won't be done right! My internal monologue from now on!
Does this mean I don't ask for help? Of course I ask! So that I can learn it, realise the other person is an idiot, then do it right using their technology!
If you don't do what you are planning to do, nobody will! Also most of the worlds problems can be solved with money, so that is why we should get rich. To fix the problems of the world.
Hope it helps someone :)4 -
when there was a client who was complaining about something and my co-worker told him that we'll fix the issues. my co-worker wrote it down and decided to fix it later. he never told us about it. he never even mentioned about that encounter. then one day, i was at work alone. the cliente went in and said, "is it fixed already?" and of course, i asked what was fixed. i checked it out and found out the issue was not fixed and it has already been a month. the client was so pissed off and started yelling at me like im the one who was at fault. in fact, the client stayed there for over an hour just to watch me fix it.
i didnt talk to my co-worker for a week because of that. everything he does just pisses me off from that moment on. he arrives late most of the time and he takes more breaks than anyone else. he fixes issues less than anyone else. i swear to god, if the company wasnt his family's, he wouldnt be able to find a decent job with how he acts. -
Right.. I spent the hours leading up to the year change by adding a YouTube to MP3 downloader into my Telegram bot. After a bit of fiddling it turned out okay, and the commit for it was mentioned to the last for the year 2020.
I mentioned this in one of my chats, and users came in with more issues. Told them it's the last commit for the year and I'll keep myself to it. I did adjust the code a bit though to fix those issues, awaiting a commit after midnight.
Midnight passes and 2020 turns into 2021.
I commit the new features, and quickly implemented another one I already thought of as well, but needed its own commit.
Quickly afterwards it turns out that the /mp3 feature actually breaks the bot somewhat, especially on long tracks. Users add a slew of 10h songs into what essentially became a long queue of single-threaded bot action (or rather lack thereof).
I made the /mp3 command accessible to myself only like I did with some other administrative commands already. Still no dice, the bot rejected the commands but executed part of the /mp3 command anyway.
I look a bit further into the code and it turns out that while I was restructuring some functions, I forgot to make the admin() function exit the script after it sends the rejection onwards. This was a serious security issue and meant that all authentication was void. Fortunately the chat did not realize this - one of the commands that became available as a result was literally a terminal on the bot's system.
I fix the issue in 7 commits after midnight total, 3 of which were related to /mp3 and admin(). We're now 1 hour after midnight.
Happy New Year everyone... :')6 -
I'm getting to the point where every time I encounter a new bug to fix I die a little inside. So tired of stuff not working and as soon as I get one thing fixed another blows up. Unresolved problems and open loops keep me awake all night. I sometimes want to switch careers but what else is there for me after more than 2 decades of this? I guess I could flip burgers and mow lawns. The burger flippers make about what I made in my last job and the guy who mows my lawn makes twice that much.4
-
Tldr: fucked up windows boot sector somehow, saved 4 months worth of bachelor thesis code, never hold back git push for so long!
Holy jesus, I just saved my ass and 4 months of hard work...
I recently cloned one of my SSDs to a bigger one and formatted the smaller one, once I saw it went fine. I then (maybe?) sinned by attaching an internal hdd to the system while powered on and detached, thinking "oh well, I might have just done smth stupid". Restart the system: Windows boot error. FUCK! Only option was to start a recovery usb. Some googling and I figured I had to repair the boot section. Try the boot repair in the provided cmd. Access denied! Shit! Why? Google again and find a fix. Some weird volume renaming and other weird commands. Commands don't work. What is it now? Boot files are not found. What do I do now? At this point I thought about a clean install of Windows. Then I remembered that I hadn't pushed my code changes to GitHub for roughly 4 months. My bachelor thesis code. I started panicking. I couldn't even find the files with the cmd. I panicked even more. I looked again at the tutorials, carefully. Tried out some commands and variations for the partition volumes, since there wasn't much I could do wrong. Suddenly the commands succeeded, but not all of them? I almost lost hope as I seemed to progress not as much as I hoped for. I thought, what the hell, let's restart and see anyway. Worst case I'll have to remember all my code😅🤦.
Who would have thought that exactly this time it would boot up normally?
First thing I immediately did: GIT PUSH --ALL ! Never ever hold back code for so long!
Thanks for reading till the end! 👌😅8 -
I just spent an hour troubleshooting an error message which I perceived to have some kind of abstract meaning.
Overthinking idiot, it couldn't have been more literal.
After the fix to one stupid line, I quietly watch that hour of my life sail away on a sad river of anguish, never to return again.3 -
"yeah, we want bundled products in our store, but we don't want to fill them in like such. Instead, you have to look at the product attributes, their values added in which sub sub sub category they're stored to automagically make such combinations. Also: of these combinations (that have no actual entity in the database) we want to be able to save images, descriptions, related products, etc."
I managed to fix it, but more than 50% of the time spent on this project was to explain to the customer why their combination wasn't working (they misconfigured the products), and writing a whole testing interface that showed the inner working of the algorithm, so they could debug their own products...
The worst part: we advised from day 1 not to take this road, but they had one "developer" who insisted on this approach because it would "prevent pollution in the database". in the end, we had to add 50-100 product attributes/values just to get the damn thing to work. -
Small company, sole engineer. Non-tech management. Increasingly fancy job titles despite working alone most of the time, with the promise of hiring someone (again) I can actually manage soon.
Backlog of projects/tasks is truly a mindfuck, with new things being added each week. This backlog will never ever get done, and nothing matters anyway because the next idea is "the future", all the time.
While I have influence on some aspects of decision making, it usually ends up being what the boss wants. Actively opposed a project because it's just too big of an undertaking, it was forced through anyway. I'm trying to keep the scope manageable as I'm building it now, and it's hard.
"It's the future, we absolutely have to do this. It will be the biggest thing we've ever done."
Boss's excitement then quickly faded since it's actually in development, now nobody really seems to want to know where it's at, or how it will all work. I need to scope it out, with the knowledge that many decisions boss signed off will be questioned when he actually looks at it. We now have even more "exciting" ideas of utter grandeur. Stuff that I can't even begin to comprehend the complexity of, while struggling to keep a self imposed deadline on the current one.
Every single morning we sit on Zoom for a "valuable" "catch-up". This is absolutely perfect for one thing: Completely destroying whatever drive and focus I have going into the day. Unrelated topics, marketing conversations, even more ideas, ideas for ideas sake, small problems blown out of proportion, the list goes on. I recently argued in detail why it should be scrapped or at least be optional to attend. No luck, it's "valuable".
Today a new idea was announced, and we absolutely have to do it ASAP because it can only be better than the current solution. I raise my concerns, saying it's not as easy as you make it out to be, we should properly think about it. Nope! We'll botch something to prove that it works... So you'll base your decision whether it's good on some half ass botch job that nobody really has the mental capacity to actually pay attention to. What a reliable way to measure!
"Our analytics data isn't useful enough to tell us the impact of things we do. We (you) have to fix this." Over the last 2 or so years, I've been pushing for an overhaul and expansion of our data analysis capabilities for exactly this reason. Integrating different data sources into a unified solution so we can easily see what we're doing, etc. Nope, never happened.
The new project idea which is based on wild assumptions is ALWAYS more important than the groundwork.
Now when I mentioned that this is what I wanted to do all along, it got brushed aside. "We don't need to do anything complicated, just fix this, add that, and it's done. It should be an easy thing to do. This is very important for our decision making." Fine, have it your way.
I'm officially burned out. It's so fucking hard to get myself to focus on my work for more than an hour or two. I started a side project, and even that effort is falling victim to my day-job-induced apathy.
I'm tempted to hand in my resignation without another offer on the table. I just need time to rediscover my passion, and go job hunting from that position, instead of the utter desperation of right now.
If you've read through all this rambling, kudos to you!8 -
One of our projects migrated their file-repository to another one during a major release.
Instead of giving this task to an experienced programmer, they gave it to the head of the respective dev department due to the usual release panic.
Soo.... He wrote the migration tool. It was executed during the release. Everything seemed fine so far.
A few days later. Someone from the above project came to my team due to some "strange behaviour on the production database".
They reported that they couldn't download some of the user's documents due to unknown reasons.
After quickly analyzing the current state of the new file-repository, we concluded that the affected documents did not exist in the new repository.
Then we took a look at the so called migration tool...
Well.. After nearly 30 min. we knew the root cause for that.
They only migrated the first 4 levels of the folder structure. Due to the assumption that "we don't use deeper nesting". (Facepalm)
As the head of their department wrote it, no one seems to questioned it either. Nor did they made a code review and ended up with a tool with hard coded urls to the production db, no version control, no build tool, no ci, nothing. Breaking nearly every possible company standard.
However.. That's not it. When analyzing their migration tool we noticed another even more dangerous thing.
They mixed up the id generation of the migrated documents resulting in a random assignment between customers and documents. Which is quite bad as this contains sensitive information. E.g. passports
They offered us quite a nice amount of money to fix this until EOB. We declinded as it was simply not possible in that time, but agreed to support them with the new tool.
After some time I heard that they migrated production again. And they fucked it up again. They never talked to us after we offered them support...
The third and final migration was written by us. Not only migrated it correctly. It was also way faster. By factor 20.
In the end we haven't gained anything from this rushed project as the penalties were piling up due to this fucked up migration.
After all this time I'm not sure who is to blame. In my opinion, partly all of them.
Head of department who can't and shouldn't code.
Seniors who didn't review the code and didn't ask for help.
Release mgmt who put way too much pressure on the devs. -
My codes has mutate from a minor bug to a monstrous one.
It happened when I try to fix the minor bug. Looks like I add more bugs instead.4 -
> do you feel sorry for freelancing contractors
> whose previous client abandoned them
> they ask you to help them fix some trivial bugs in the shitty code
> you believe you can change the world by going overboard by also improving the code quality, along with fixing the bugs
> initialize an empty file where you'll translate the shitty code into a more organized one
> start creating variables and generic functions which can be used in a modular and organized fashion
> meticulously document the first function you write
> realize this is not worth your time
> insert some glue code into the original code which fixes the trivial bugs
> glue code has hard coded values so it adds to the shittiness of the code
> submit the work
> get $$$ -
I'm tired of meth. I mean math. MATH.
I'm sick and tired of everything.
"First!" numerous blog comments shout to no-one, from the colorful abyss of the internet.
And for me, this is a first. But lets rewind.
It's 2 AM, about a month ago, spring in Akron Ohio. Someone reading this is no doubt shocked "You just revealed where you live, ON THE INTERNET! The weirdos will find you." Anyway, it's a dark and stormy night, as the cliche goes. Like most people up after midnight, I'm browsing facebook posts and useless productivity sites. (lifehacker)
I yearn for something more out of life, somewhere deep down inside..maybe in my colon?
All the articles are saying "10 tips to supercharge your life", "how to discover your life purpose in three easy steps", mixed with an ad about ron jeremys one secret tip to grow a massive cock, and exhortations to buy such-and-such's "new ebook!"
I am not moved by any of this.
Scrolling, and tabbing, and intermittently dropping f-bombs because of js ads locking up my browser, I stop and lean back. In the blue afterglow of my shitty compaqs screen, a thought appears, like a cheesy genie, popping out of a brass toilet. "Start a blog! A youtube channel! A podcast" the ad proclaims. "Yes. Thats what I have to do" I whispered (I'm embarrassed to admit I really did say this).
Then I Control+W'd out of it, and flopped onto my mattress. This was the wasteland of my life. I couldn't help but think The whole internet was like some seedy back alley 2.0, where boxcar willie with his train of needle marks had been replaced by more upstart, greasy-haired gurus. Each peddling 'ebooks' of 'advice', stuffed in between ads to buy 'this one hot stock you have to own' and porn. And that alley was really the 'blogosphere' and 'youtubers'. As I drifted off, the last thought was 'We're all just bottom feeders,leeching and whoring on the attention of faceless anonymous users, hoping for another quick fix.'
I fell asleep, these racing thoughts fading into sweet oblivion, but never too far away.
Welcome to My Back Alley
That title is only twice as dirty, and half as thought-out as I planned. As you imagine, the lure of being the electronic equivalent of a conman never quite faded. And the more I read, the stronger the message "Start a youtube channel!" grew. As if everyone and their grandmother having a youtube channel would somehow make the world right, cure cancer, and save kittens from animal shelter gas chambers. Everyones an expert, everyones an agent of change. Maximizing productivity, Evangelizing Technology, ninjas collaborating to socialfy your community diversification benchmark for target traffic
through user-engagement and authentic grass-roots, blah, blah, blah, blah, money. Thrusting, moaning, screaming. Money. Pumping at the center of it all.
Wake up and smell the bullshit.
This blog is not a blog. This blog is the anti-blog, and we are the anti-streamers. 'We' (read "I") resist your bullshit lingo bingo, call out the Truth (Tm) and refuse to be satisfied with any standards of decency, journalistic integrity, or common sense.
Every blog, every channel, every podcast is Starbucks And I'm tyler durden, pissing in your coffee, and calling it a 'latte'.
Freaks, and anarchists, laymen and losers. If you feel as I do, then this is the place for you. Welcome to devrant.11 -
Bloody mother fucking jesus christ....
It's working.
Sometimes I really wish I had the gift to be creative and to e.g. draw a (metaphoric) image of the shit I had to fix and how it felt to fix it.
It's sad not being able to share stuff in a way everyone can understand it :/
I uncludged the last bits of the networking / loadbalancer / craptastic network.
The whole chart that includes most of the associations / information for the network fits easily on a A2 paper. Internal only.
Just migration of a few remaining servers to Proxmox and a large MySQL to Postgres migration outstanding....
1.75 years and it's the first large milestone achieved. Large milestone as in it will not be a total clusterfuck anymore.
Still a lot of stuff to do...
But down to one major OS, Debian, for everything (container / VMs)... only LTS supported versions for services...
No more stuff that's so old it's near fossil state. We stillhad Ubuntu 12.04 running... :) ;) And XenServer is nearly gone...
Too many feels. Too many brain poofs. And way too much pain.1 -
I have been trying my best to fix a broken process and a product that never saw the day of the light.
Aligning all the teams, trying to bridge all the feature gaps, and at the same time learning this new product and company culture.
Now this lady comes to me with a requirement. I have zero clue what it is and instead of empathising with me that I am new and should dumb down her ask, she kept throwing heavy product specific terms as if I have been working in this team for previous 9 lives.
Anyway, I take her ask into my product roadmap and try to prioritise it.
Now I connect with them again for some discovery and she is passive aggressive towards me that it's been more than a year no one is considering their request and started whinning.
I have just joined the org 6 months ago and you start attacking me for someone else's mistake?
What the actual fuck! Go fucking die bitch. Never again I am taking her request.
If she has a problem then just speak it up and take it with leadership. Don't fucking be passive aggressive with me especially when I am not at fault and infact I am trying to help her.
And in interviews they ask people whether they are a team player or not. -
<insert obligatory "long time lurker" statement here>
Started a role about 6 months ago. I'm the sole IT programmer. A bit of the mess I inherited...
- 100+ stand-alone applications/tools (luckily most of them aren't too big).
- No documentation.
- Some applications' only copy of the code exists in production.
- We only have production.
- A single file consisting of 30K+ lines of VB. Little to no comments. The one comment at the top says to keep old code by commenting it out and state what you changed.
- Previous devs didn't like foreign keys.
- No. Fucking. Version. Control. At. All.
- And so much more...
Luckily I was hired due to my experience so I could fix all these problems. Its actually a really great job.7 -
CEO, your Backend Server is a powerful machine.
It can output millions of pages and serves millions of users.
But it has one defect:
It needs a Developer.
CEO, your Web Application is powerful.
It downloads faster than light and carries more images than your son Instagram account.
But it has one defect:
It needs a Developer.
CEO, a Developer is very useful.
He can fix things on the fly and he can develop killer features.
But he has one defect:
He can think.
(from "General Your Tank Is A Powerful Vehicle" Bertold Brecht) -
I'm still studying computer science/programming, I still have one year to do in order to graduate (Master). I am in a work study program so I'm working for a company half of the time, and I'm studying the other half. It is important to mention that I am the only web developer of the company
When I arrived in the company 9 months ago, I was given a Vue project which had been developed by a trainee a few weeks before my arrival and I was asked to correct a few things, it was mostly about css. Then, I was ask to add a few functionalities, nothing really hard to code, and we were supposed to test the solution in a staging environment, and if everything was ok, deploy it to prod.
However, the more I did what I was asked, the more functionalities I had to implement, until I reached a point where I had to modify the API, create new routes, etc. I'm not complaining about that, that's my job and I like it. But the solution was supposed to be ready when I arrived, it was also supposed to be tested and deployed.
The problem is, the person emitting these demands (let's call him guy X) is not from the IT service, it's a future user of the website in the admin side. The demands kept going and going and going because, according to him, the solution was not in a good enough state to be deployed, it missed too many (un)necessary features. It kept going for a few months.
The best is yet to come though : guy X was obviously a superior, and HIS superior started putting pressure on me through mails, saying the app was already supposed to be in production and he was implying that I wasn't working fast enough. Luckily, my IT supervisor was aware of what was going on and knew I obviously wasn't to blame.
In the end, the solution was eagerly deployed in production, didn't go through the staging environment and was opened to the users. Now, guy X receives complaints because none of what I did was tested (it was by me, but I wasn't going to test every single little thing because I didn't have time). Some users couldn't connect or use this or that feature and I am literally drowning in mails, all from guy X, asking me to correct things because users are blocked and it's time consuming for him to do some of the things the website was doing manually.
We are here now just because things have been done in a rush, I'm still working on it and trying to fix prod problems and it's pissing me off because we HAVE a staging environment that was supposed to prevent me from working against the clock.
On a final note, what's funny is that the code I'm modifying, the pre-existing one needs to be refactored because bits and pieces are repeated sometimes 5 times where it should have been externalized and imported from another file. But I don't know when and if I will ever be able to do that.
I could have given more context but it's 4am and I'm kinda tired, sorry if I'm not clear or anything. That's my first rant -
Dev: Hey this library you are mandating the use of doesn’t do one of the things you assumed it does
Non-Tech Manager: Well I think it does because I looked at it and that’s what it seemed like and the only reason you can’t figure it out is you are a bad developer and have attitude issues that’s why you are failing. You need to look on the bright side of things more often. This library has over 100k downloads which means it must do what people want it to. I think the problem is you. We can’t spend anymore time on this we have to just fix it and move on.6 -
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 -
Did anyone ever felt that everyday is a loop? Mine is as follows
Bug Reported -> Try to reproduce -> Check on web -> Check iOS -> Check iOS 13.x -> Update or get hold of other simulator/devices -> Check iOS 13.x2 -> Fix it -> Now it breaks on Android -> Fix it -> Get it QAd -> QA feels their should be some more design changes -> Make him/her understand that what is priority for now -> Now everyone has started testing app and everyone have their opinion (designers are asleep at this point) -> Get all of the team in sync -> Start release -> 99% -> Some yells "wait" -> One more thing -> Sleep with nightmares -> Repeat
PS: We have a responsive web application that is also wrapped in Cordova for iOS and Android.5 -
New years resolution: no more tech support period. No one appreciates it and if anything breaks in the future youre expected to fix it. Lol, no thanks2
-
So we’ve taken over from a project team that disbanded... read: “cut their contracts because fuck this, I can earn more working for better people”.
Me and one other guy have been tasked with saving this heap of shit.
Obviously the project guys left saying “it’s nearly done, just this one feature”. Because cut contracts are easier to deal with if “everything is almost done”.
We jump on and find that’s not the case at all... this thing, is a beast, a big old stats analysis program... so we’re like “cool, let’s see what’s going o...OH MY GOD”.
The “recalculation” function was core to this POS. The contractors had done it in C# through entity framework... it took 24 hours to run, over a reasonably small data set that was due to double every 2-5 years.
So... here’s the deal, it ran over night.... then failed. And no cunt had noticed. Entity framework “can’t commit because I’m muddled up as fuck, did you really just put the whole db in EF in memory to work with it?” Exception.
Que 6 months of me and my lead doing the job properly.
Anyway, the failure: I ended up in Hospital again with a Crohn’s flare up... about 5 months in.
Fuckall to do with all this nonsense I just wanted to tell a story. it was an interesting/fun project to fix and my lead was a legend... so happy days.
Similar story, different set of contracted devs... they’d been defining requirements with the business users using the term “Risk” which the business users knew as a group of risks.
The domain model had been written RiskGroup<>— -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
Weeks ago, a change went into production. For some reason, we can't implement our own changes or create new databases in production, we have to have a whole different department do it. This would be great except for one thing:
THEY CAN'T THINK FOR THEMSELVES. I've had to tell them how to run scripts I wrote. I've had to tell them how to fix problems that arise.
Back to that script ran three weeks ago or so. It didn't add permissions to allow me, the system and application developer to see the stored procedure, much less run it. Application can't run it. Thankfully the application works without it.
Fast forward to tonight. My change that I'm attempting to implement is the creation of the stored procedure, because nothing could see it, I assumed it didn't exist... reasonable, right? Database folks tells me it exists. They then tell me they can't give me nor the application permissions because it doesn't ask for it in the change plan.
Excuse me.... WHAT FUCKING WORLD DOES IT MAKE SENSE TO CREATE SOMETHING AND HIDE IT FROM THE CREATOR LET ALONE THE APPLICATION SO IT CAN'T USE IT?! FUCKING THINK. WHY WOULD I WASTE MY FUCKING TIME TO TALK TO YOU OFFSHORE PIECES OF SHIT AT 10PM WHEN I'D RATHER PLAY VIDEO GAMES.
I'm so fucking done with enterprises. Someone with reasonable job security at a startup, please hire me. You will probably pay me more fucking money than this company does anyway.
Now on to my second change of the night. Thankfully I don't have to rely on anyone outside of me... so I won't be wasting my fucking time. -
Learnt a very important lesson today..
To add some context; I'm currently in my second semester of uni studying a Bachelor of Computer Science (Advanced), and started the year with no experience with any language.
Up until recently all my practical work has been guided by context sheets, now I have some freedom in what my program does.
Because of the very small projects earlier in the year I have built a habit of writing the whole program before compiling anything. This worked fine since the programs were small and at most only a few errors would be present.
Cut back to today, and I had been writing a program for a bigger assignment. After an hour or so of writing I began thinking I should probably test everything up to this point. I ignored it...
Fast forward 4 hours to having "completed" writing the full program. I knew by this point I was taking a massive risk by not testing earlier.
Lo and behold, I try compiling everything for the first time and countless errors prevent the program from compiling. I tried for quite some time fixing the errors but more just kept appearing as 1 was fixed.
I'm now left with no time to fix the program before the deadline with no one but myself to blame.
Lesson learnt :/5 -
The worst part of being a dev? Working in teams.
And I don't mean that in the "I'm the best ninja code wizard in the whole world and you're all holding me back" kinda way. I'm thinking more in the lines of someone who has to deal with that kind of attitude on a daily basis. As someone who recently was put in a leading position in a dev team, this is by far one of the worst experiences that came with it.
Some examples?
- One dev completely changed the naming scheme for variables in a class he worked on for one. single. bug fix. His reason? He just didn't like it!
- Another one noticed that data he was supplied with was not in the specified format. Instead of flagging this with the project leads, he just rewrote his parser to fit the data. A couple of weeks later the supplier noticed the error, fixed the format and suddenly everyone wondered why the software failed processing the data.
- Or that one senior dev, that just refuses to accept changes because "it was always done like this and it worked" No, it didn't. That's why it was changed!
Once a dev team reaches a certain size, people need to realize that stuff like coding rules and process guidelines are not there to annoy them but to help the whole team work as efficient as possible. I don't care how good a programmer you are, if you can't check your ego you don't belong in any kind of team-oriented development project! -
I've been working on the ecommerce website from hell for over a year now. I should have heard the alarm bells when the studio who were running the project took a month to pay my deposit but still expected me to start working, but I explained that I wouldn't start without some form of security and they were cool with it, so I carried on.
It started off as a simple build with simple products, no product variations etc and a few links on the designs which appeared to lead to external links, and checkout and cart pages were nowhere to be seen. It wasn't a big money job so I just build them in as plain and straightforward as I could, in line with how the rest of the site looked. They then changed their mind about how they wanted these to look, and added loads of functionality to the site throughout the build, so by the end of the line, the scope of work had completely changed. I also had loads of disagreements in terms of design and useability, as their designs straight-up weren't going to function otherwise, plus every round of changes meant that I had to prolong the job further and fit it around work for other clients.
Fastforward a few more months and I get sent a really angry email with some of the client's complaints, including one that raised an issue with the user journey, and the finger of blame was pointed at me. The user journey had been a part of the designs from the start, and this was never raised as an issue for A WHOLE YEAR. They then said that it had to go live on Monday (three days after they sent email with these huge new structural changes). I told them I could no longer work on the project but was happy to waive the rest of my fee (3/4 of the total fee, when I had essentially completed the site, minus 2 minor bugs), so they could find another developer in the limited time they had. At first they refused to hire another developer, claiming that it would be too expensive, which made no sense, as for a few minor fixes and out of scope additions he could get paid a wage that would have otherwise paid for the majority of the work I had done on the site. I stood my ground and finally they found someone, so I sent over all of the files and database to their new developer and asked him to give me a heads up when I could remove the staging site from my server. The next day, I received an email from the studio asking me to fix some bugs the developer was requesting I fix so he could carry on with the site. They were basically asking me to work more, for free, to enable him to walk off with the majority of the money and do less work. They also forwarded a suuuuuper shitty, condescending email from him, listing all the things he thought was wrong with the site (he even listed 'no favicon' although they'd never supplied a graphic for this). He also wrote a paragraph at the bottom EXPLAINING MY JOB TO ME and telling me:
I get the feeling you like to write Javascript, while being one of the easiest languages to learn, it can also be one of the hardest to master. While I applaud you for writing Vanilla JS, it looks like you have a general problem with structuring your application.
Not sure if I'm being oversensitive here but it felt so patronising, and i couldn't even go for an angry walk to get it out my system because of social distancing lol.
Let a girl quarantine in peace!!!!!!2 -
The more problems I encounter with Windows the more I have the impression these infested chimps never implemented a real system repair/restoration feature but just faked it with randomized error messages.
Now Windows 10 can't even rollback updates anymore but lands in an infinite boot loop that even a reset to an earlier restoration point won't fix.
And the Windows repair option lists two Windows installations even though there's just one.
Somehow the roles of Linux and Windows have switched nowadays, by now I had to reinstall Win10 5 times on three PCs in the last 12 months.
Windows 8 was shit too but at least it didn't fucking break within a week.3 -
A loooong time ago...
I've started my first serious job as a developer. I was young yet enthusiastic as well as a kind of a greenhorn. First time working in a business, working with a team full of experienced full-lowered ultra-seniors which were waiting to teach me the everything about software engineering.
Kind of.
Beside one senior which was the team lead as well there were two other devs. One of them was very experienced and a pretty nice guy, I could ask him anytime and he would sit down with me a give me advice. I've learned a lot of him.
Fast forward three months (yes, three months).
I was not that full kind of greenhorn anymore and people started to give me serious tasks. I had some experience in doing deployments and stuff from my other job as a sysadmin before so I was soon known as the "deployment guy", setting up deployments for our projects the right way and monitoring as well as executing them. But as it should be in every good team we had to share our knowledge so one can be on vacation or something and another colleague was able to do the task as well.
So now we come to the other teammate. The one I was not talking about till now. And that for a reason.
He was very nice too and had a couple of years as a dev on his CV, but...yeah...like...
When I switched some production systems to Linux he had to learn something about Linux. Everytime he encountered an error message he turned around and asked me how to fix it. Even. For. The. Simplest. Error. He. Could. Google. Up.
I mean okay, when one's new to a system it's not that easy, but when you have an error message which prints out THE SOLUTION FOR THE ERROR and he asks me how to fix it...excuse me?
This happened over 30 times.
A. Week.
Later on I had to introduce him to the deployment workflow for a project, so he could eventually deploy the staging environment and the production environment by hisself.
I introduced him. Not for 10 minutes. I explained him the whole workflow and the very main techniques and tools used for like two hours. Every then and when I stopped and asked him if he had any questions. He had'nt! Wonderful!
Haha. Oh no.
So he had to do his first production deployment. I sat by his side to monitor everything. He did well. One or two questions but he did well.
The same when he did his second prod deploy. Everythings fine.
And then. It. Frikkin. Begins.
I was working on the project, did some changes to the code. Okay, deploy it to dev, time for testing.
Hm.
Error checking out git. Okay, awkward. Got to investigate...
On the dev server were some files changed. Strange. The repo was all up to date. But these changes seemed newer because they were fixing at least one bug I was working on.
This doubles the strangeness.
I want over to my colleague's desk.
I asked him about any recent changes to the codebase.
"Yeah, there was a bug you were working on right? But the ticket was open like two days so I thought I'll fix it"
What the Heck dude, this bug was not critical at all and I had other tasks which were more important. Okay, but what about the changed files?
"Oh yeah, I could not remember the exact deployment steps (hint from the author: I wrote them down into our internal Wiki, he wrote them done by hisself when introducing him and after all it's two frikkin commands), so I uploaded them via FTP"
"Uhm... that's not how we do it buddy. We have to follow the procedure to avoid..."
"The boss said it was fine so I uploaded the changes directly to the production servers. It's so much easier via FTP and not this deployment crap, sorry to say that"
You. Did. What?
I could not resist and asked the boss about this. But this had not Effect at all, was the long-time best-buddy-schmuddy-friend of the boss colleague's father.
So in the end I sat there reverting, committing and deploying.
Yep
It's soooo much harder this deployment crap.
Years later, a long time after I quit the job and moved to another company, I get to know that the colleague now is responsible for technical project management.
Hm.
Project Management.
Karma's a bitch, right? -
Let's say you're working on a web application, and you notice that one of the pages is not displaying the correct data. You investigate further and realize that the data is being retrieved from an API endpoint, but for some reason, the API is returning the wrong data.
You start looking into the code that calls the API and notice that it's passing in the correct parameters, so you dig deeper into the API code itself. After hours of poring over the code, you finally discover that the bug is caused by a typo in the database query that the API is using to retrieve the data.
You fix the typo and think the problem is solved, but then you realize that the data is still not displaying correctly on the page. After even more investigation, you discover that the bug is actually being caused by a caching issue on the client side.
At this point, you're feeling incredibly frustrated and overwhelmed. You've spent hours trying to track down this bug, and it feels like every time you think you've found the root cause, another issue pops up. This is just one example of the many challenges that developers face on a daily basis.6 -
2nd part to https://devrant.com/rants/1986137/...
The story goes on...
After I found more bugs that seem to be related to the communication break, and took a closer look, I sent detailed logs of my research and today we had a conference call.
"We have 2,5 million user, our system is widely-used and there is no plan to change it" they said.
And "We cannot reproduce the issue, but even if there is one, you will have to work around the problem, because we cannot make changes on our side" was one answer
As well as "If we would make changes, we will have to re-certify everything"
So I said we told 'em about the issue to let them improve their system. And I can work around it, I already figured out a solution for my side, but if there is a bug, they'd better fix it for future releases.
And with my additional research I have a bad vibe of some kind of memory leak involved on their "certified" implementation, and that could trigger various other problems.
But it is as always, if I try to be nice, I just get kicked in the ass. I should really be more of an asshole. -
Software Development Process
0. I can't fix this
1. Crisis of confidence
2. Questions career
3. Questions life
4. Oh it was a typo, cool
*Not my original content, but it made me smile and I need one more point on this uncomfortably hot day2 -
So no decent internet for me the whole damn weekend and I have no more podcasts left to listen to while working. FUUUUU ...
The internet "technician" that was supposed to connect the house to VDSL really fucked my connection up - I escalated through support and I can't fix it.
(I hate it when I can't fix things myself! Especially electronic ones! Especially simple electronic ones! Damn it!)
Einmal mit Profis arbeiten!*
*[Translation, angry German to angry English:
I'd very much like to work with professionals. One. Fucking. Time.]6 -
So everyone here has probably seen many posts ranting (or should that be rants posting) about windows updates in the lastest version of Windows. I have seen one too many rants about losing work due to this well it happened to me to. ..almost.
Since I have an editor that saves work automatically I didn't lose anything but just had to restart by applications and set my windows how they were again. It wasn't planned and I had previously manually disabled windows updates but they still ran and rebooted my machine...grrrrr!
Doing some more research I found my previous fix which worked in Windows 10 1511, and 1607 versions (anniversary update and prior) doesn't work in version 1703 or 1709 the Creator's and Fall Creator's updates respectively.
If you have version 1511 or 1607 you can just disable the windows update service and windows store service and appxpackage services to completely stop windows updates and unexpected reboots. I ran it like that for over a year from 2015 well into 2017. After being impressed with the newer Fall Creator's update I decided to manually update to 1703 and then to 1709 which is the latest version.
The problem is, the old disable service fix isn't enough now in these newer versions. To disable updates in the newer versions you have to stop the usoclient which is the update orchestrator. Simply disabling the services doesn't work anymore.
Changing the file permissions of the usoclient will work and stop the scheduled tasks from firing.
Here ya go, no more unscheduled reboots. YOU pick when you want Windows to update:
https://ghacks.net/2017/12/...5 -
When I was younger I had a decision to go into hardware or software. I chose software and have loved it.
Recentily I just spent 5 hours trying install a Linux distro on an old server. I made no progress.
I made the right decision. Hardware freaking sucks! You spend hours working on outdated pieces of crap and find that to fix your problem you need to sell you kidney to finance your project. Not to mention you have to wait for literally everything! It's like gradel builds everywhere! Want to install a new distro on your USB? Bam, 5min gone. Want to boot into bios and change one setting? BAM! more time wasted...
A note to the sysadmins out there: thank you. I love you. I am so happy you do this kind of work so I don't have to.3 -
Why is so hard to find engineers that actually care? It feels like the majority of people always want to do the bear minimum, no one wants to fix their shitty code even when it clearly violates the project or company standards. Everyone constantly comes up with shit about why they can't do things properly or how they'll fix it later and then get their mates to push their shit through review. The majority of lower management usually care equally as little so there's no point explaining the situation to them and the lack of care probably goes much higher. It seems like so many people go from job to job getting bump after bump in salary, which granted is absolutely fine and probably advised, but have nothing to show for it. Usually very little skills but alleged mountains of experience and a lazy piece of shit attitude. I hear all the time people saying you'll never change anything so why try and it feels like that most of the time but more because everyone keeps saying it. If everyone pulled their fingers out their arse, maybe we would stand a chance. I'm sure a lot of people on here have a real passion for computer science, whichever division you're in and love to learn and improve and reflect. What I really want to know is how you deal with people who are just taking their paycheck and enjoying the ride but don't actually care and how you discover these people as early on as possible to get shot of them.14
-
Background:
I graduated high school from a technical school. And my teacher asked me to come in a few times a week and assist (which I LOVE doing)
So they’re working with circuits and raspberry pi’s and when I can in they pointed out that there was a project they couldn’t get to work. So I had to look at it. Now I was not given the original it was one a student tried to copy in (like they were supposed to) but it was awful. All the indentation was even more off than the original and on top of that. The original and what I was given wouldn’t give an error code.. and so I had no idea what was happening so I just decided to try to fix the indentation and take out stuff that didn’t look right (what else was I supposed to do when I didn’t know where to start?) and while I was doing it another student started to try to fix it and it legit barely took 5 minutes and now my spirit and confidence is broken. I wasn’t petty I observed the result and congratulated him cause he deserved it. After I took the code and put it on my laptop and figured out it was an “inconsistent use of tabs and spaces” error which is fucking stupid and I’ve never seen that in python before so after I debugged that there wasn’t really anything left to debug. So I guess I somewhat redeemed myself but I still feel like shit2 -
So... I take over this one ticket to test... the ticket mentions some visual component popping up when a button is clicked. It says there is a success and a failure message. The title of the story also mentions another functionality.
I start testing and some fellow QA asks me why I'm testing in this environment. Turns out, three people are sharing one environment and three different things are deployed...
I ask the dev whats going on because I heard there are multiple people deploying stuff...
He just tells me "oh, my changes are deployed I just checked".
I tell him that it's not about that but about communication and testing one thing at the time. Then I tell him, that I wouldn't test until his stuff is the only stuff there.
Some time later he hits me up again, now with the env to himself.
I test and quickly I see, that there is only the positive message even when I make sure that the backend is not reachable. I tell the dev what I found and he tells me "oh no, it's just the implementation of the popup thing, it's just frontend for now"...
I tell him, that the ticket should say so.
No answer for like 1-2 hours. Then I get an "ok".
End of the day.
Next day I come in and the fellow QA tells me, that the dev asked him to test the ticket.
I ask him if he changed anything about the scope of the ticket, he says no...
I'm like "ok... know what... begin testing and then tell him what I already told him".
So he's testing and then tells him again to update the scope.
Later in the daily the the dev's update is besically "they won't test my ticket..."
It would have taken him like 1 fucking minute to update the ticket...
The whole QA team was always trying to being helpful and even when the tickets where sometimes not 100% clear we always made it work... but now we are more and more going towards "MR does not meet ticketdescription, fix it" and "I don't care if its just a small thing... fix it and then come back to me"...
Seriously frustrating some times...2 -
The joy when tools do not have machine parseable output.
I'm looking at you SBT. My favorite pile of poo.
Remove the logging level from each line, then trim the line, then stab around inside the line with regexes, fishing for a possible match which hopefully is right...
Then stripping scala information like the object type, cause yeah...
A line can be for example "[info] Vector(File(...),File(...))" where info is the log level, Vector the wrapping sequence type, File(...) the wrapping element type and the string inside File(...) what yours truly needs.
As this is lot of shitty shabby string stabby stabby, we need to add a fuckton of boiler plate validation cause who knows what we just murdered.
To make it even more fucked up, a multi project project can produce different output for the same key.
:-)
Yeah. So we need to fix that too.
By the way, one can set log output to unbuffered in SBT.
Then the output is in random order :-)
Isn't that fun? Come on, you wanna poke that pile of shit, too.
The SBT plugin way is by the way no alternative, as I need a full Java environment for execution.
Which brings me to the last point:
For fucks sake, writing CLI applications in Java is so much bloody boilerplate code.
There's ugly and then there's the "please kill me" kind of level.
50 lines just to write a basic validation of argc / argv with commons cli.
That's 6 lines in python. Not kidding. :(
I currently hate everything.
Moments where the job sucks: When you have to hotwire two electric cables with high currency by giving both cables the blowjob of your life.3 -
Apple anmiates views so nicely 😉
They have this error for so long now and it irritates me every time...1 -
We had a issue with a webstore that was only affecting users on Windows: one button didn't do anything.
The colleague that was working on the ticket was running Arch, and for him it was working as expected. He reported that the bug couldn't be replicated on Chromium, Firefox or qutebrowser. But our designer, who was running Windows 10, commented that it wasn't working for her in either Chrome or Firefox.
Some more conflicting reports later a colleague using Windows managed to fix it. It was caused by querying the button elements by id selector instead or a class selector. There was multple buttons, one for each product row.
I guess there just are platform differences that aren't specific to browser but instead the OS, that could have caused it7 -
99 little bugs in my script. 99 little bugs. Spend a whole night, fix one with might, 113 MORE bugs in my script.1
-
So I'm not sure on how much Youtube can fuck up so much in a short time, but I'm actually suprised.
And I'm not just tslking of all the shady/bullshit bahavior and reasoning on content creators, but also on how this shitty new app is just one clusterfuck of not working shit.
One if the easiest features there is - the damn shuffle feature for a damn playlist - doesn't properly work since the first day it went live. Are you shitting me? Even after a felt decade they are still not able to fix it. Yet alone showing more than 200 in the playlist items (when a video is already playing)
But a simple feature which is useful to nearly everyone and which worked before is surely no problem when the damn service itself would work.
Aside that the app sometimes randomly crashes when leaving fullscreen mode (desktop) and making it for some magical way impossible to interact with the browser (WTF?!) until you resize it or wait for an eternity to relase you from that suffer.
On top of that pile of garbage, the videos don't load properly anymore. Whats the fucking point of showing how much of a video is supposidly loaded when you skip forward for 5sec and it has to buffer for 10 to continue?
Well, if that were to at least only happen when the video is skipped forwards/backwards. On some strange occasion (Probably when the stars arrange properly) than your connection to the servers is back in the stoneage. Because otherwise I can't explain how the fuck it has to lower the resolution down to 360p and STILL buffer. I have a fucking 10MByte/s+ DL rate, ARE YOU SHITTING ME?!
Now after over 1.5k chars I notice I maybe a bit over the top ... BUT FUCK IT. I mean, it's fucking youtube ffs. If the biggest videoplatform can't even create a properly working webapp, then what the fuck are you doing google?1 -
Most of my private code is created in the evening hours and after one to two beers, so I got that covered pretty well - though if you want to see what happens if you code literally shitfaced, just go play Mafia 3. That deterred me from trying.
The one thing I did at a party was fix a computer after (I think) 4 beers. Apparently I got it together because the sounds worked after that, but don't ask me how. Besides, it had OSX, I usually avoid that thing like the plague. I guess getting drunk means I can handle even that shit.
1-2 Beers is the max I still can code (or properly think) with. Any more and I can't get a single line out.
Worst thing I tried was coding high. I was on a short trip to Amsterdam and a friend of mine brought on some White Widow...
Yeah, I could focus alright... The code worked and the program was done in two hours (It was an exploit for... well, lets not get into details here).
When I reread the code while not high anymore, it might as well have been binary (it was Python). I could, for the life of me, not figure out what the hell I had been writing there or how/why it worked - but it did its job.
Never again. I mean, WW is my favourite and I hear a lot of artists use it to enhance their "flow" when creating art...
I guess it makes sense to code on that, but I generally try to avoid flow when coding - it makes you produce unreadable and unmaintainable code.1 -
I'm a student but I've been working backend and frontend for about a year and a half now. I know just enough to be frustrated whenever a teacher says the words "group" and "project". Anyway, there was an assignment due yesterday for my group, and it was working more or less perfectly, then at the last minute, this guy gets on and tries to "fix" an issue that the teacher said specifically we didn't have to solve.
HE. BROKE. EVERYTHING. And then he pushed straight to master. Ironically, the program still ran, it appeared to be encrypting and decrypting correctly, but he basically removed one of the algorithms we were supposed to implement. I think the professor will give us a better grade than we deserve but still...2 -
I really like my position as the head of my department. But I am most definitely hitting walls(and in some way breaking them) concerning the way the CTO(my direct boss) deals with a lot of the things that his management team wants to do.
For example, the previous manager could only do so much in terms of directing a software team since she did not have a formal background in computer science or engineering, thus the developers that she had would tell her the different deals with many things and she would have to take their word for it. Nothing necessarily bad with this, but it just meant that a lot of things could have gone smoother had she the knowledge to fix said items. Whenever she would try to use resources(dev time or such) the CTO will resort to the all powerful manthra of "if it ain't broke don't fix it!".
but it was about more than fixing things that were breaking, our internal services and admin boards were built using all of the WRONG proper development practices, it feels as if they took the book of best practices.....and said fuck it and did whatever the fuck they wanted. It is the worst PHP/Java/JS code I have ever seen in my entire life and the reason why even though I do not concur with it I will always understand the dislike from other developers. Our services look like something that came out from the 90s, no style, no engineering concepts in place, no versioning no testing NADA zip(these are all web based services)
One in particular, it was an admin board used internally to let students evaluate their professors, the entire app is shit, and it was broken, for some UNGODLY reason, the original dev decided to use some weird external libraries he got from some blog somewhere and as such something that would take about 5 or 6 files is now a mess with over 200 php/js files all over the fucking place. The CTO insisted on fixing them, they were all broken, and I continuously told him that redesigning the application would be faster.
Mofo fought me on it, and in the end I did what I wanted and rebuilt the app.
It took me one afternoon. One fucking afternoon, over possibly 2 weeks of fixing it.
See, I am not one to just do whatever he pleases, but I am firm in my belief that if I know a better way I will do it and save precious time. The dude had to agree with me on this and promised to consider this shit on other items that will undoubtedly come up. He was lying out of his ass but oh well..........
W3 -
College broke my school VM by "accidentally" pushing a policy to just me that disables being able to start anything after logging in (no DWM or Explorer, either, so just login, then infinite abyss.) Fine, nothing I can't fix, i got around shit like this in middle school. Reboot... can't get to the school's webpage. No DNS...?
No.
Windows disabled all the network services. Why? Defender didn't start, is why. Why not? School broke it. Goddammit. Gotta fix that.
There, are we ready now? NO, OFFICE ATE SHIT. FUCK, LEMME REBOOT AGAIN...
How about now? Everything works? Cool, let's get some work done. Download assignment, and... file's busted. Redownload? Nope. One more try? Nothing.
I am going to flip my shit I swear to fuck -
Have u guys ever wonder, all those devs we rant about (mostly senior developer), how it feels like to be them? Today I realized, I am most probably becoming like one.
I joined devops 7 month back(around one and half year in industry). Right now, I am 2nd senior member in project. I have done deployment on multiple environments more than 100 times. But till today, I never knew how the deployment is being done. I knew to trigger job but I never knew how it worked. Today when a junior asked me, then I learn ansible, then I understand whole deployment process.(and remember I am 2nd senior most with 7 month in project)
Sometime I wonder, till now I always had good rating and most responsible title. But how much is that because of my technical knowledge? Sometime it feels like I have very good luck. But man, it's very depressing. Sometime it feels like my junior don't get enough limelight because I am in their way although they have good knowledge but they lack the though process for now. Most of the time my senior present me as role model to juniors, and it's very embarrassing for me(this will not continue on as I talked to my seniors) . I did work on good projects from time I joined company. And never had any issue and always deliver what needed. But I still can't write code in Java to take input or do for each on array in javascript without seeing stackoverflow once.
Now I fear that someday I will write piece shit of code and whole efficiency of project will go down cause of me. Atleast, the person who will get to fix it will get a chance to have good rant here. I tried open source projects to understand how to write good code but I always have hard time understanding new-projects which I never worked on.
Then there is reputation on Indian devs. This is my another Fear. That someday cause of me, my fellow devs will get bad reputation as well.
This coming year, my goal is to fill up all the holes but I don't know why my fingers are crossed.
Sorry, I had to bring this out somewhere. And please ignore my grammatical mistakes.3 -
I give software support to Rugged handhelds in a company and everyday some IT support moron comes to me with a crazy request. The day just started and...
IT Tech: "Hello, C, can you improve the touchscreen sensibility? It's not so responsive and sometimes we have to click more than one time to something work"
**breath in**
Me: "That's ok, the rugged ones that you have are very old, besides they have resistive screen, so your fingers won't do a good job"
IT Tech: "THERE'S NO WAY TO FIX IT? I guess I'll open a ticket for you to study more calmly about the issue"
**NGGGGGGGGGHHHH**
Me: "If it's not a software thing, I can't do that, I don't have hardware skills, I guess you'll have to call our provider about that, but, before you do something, try to recalibrate your handhelds, the majority of the users don't do that at the system's start and the touch experience really can become a mess"
IT Tech: "Hmmm, I'll try that, otherwise I'll back to you, thanks!"
OMFGGGGG
I am open to suggestions of a magic batch file/ .NET CF 2.0 software that will turn their handhelds into a Galaxy S6 touch experience. THANKS!1 -
TLDR; WINE+me=system binaries gone. (HOWTHEFUCKDIDIDOTHAT) Kernel panic. Core program files gone. I'll never have it fixed right. Will backup, then install fedora tomorrow.
I really like games and I'm sure there are many of you who can relate. Imagine my perpetual pain, being on the job hunt, no money, and only my Linux laptop for games. (It's only Linux because of a stupid accident and a missing windows installation disk, partly explained in a previous rant). My stack of games my dad and I have played over the years, going back to populous and before, looked light enough for my laptop to run them smoothly. I wanted to see if I could get one to work. My eyes settled on simcity 4 and Sid Meier's railroad tycoon, 13 and 10 years old, respectively. Simcity didn't work as many times as I tried following online instructions. Disk 1 went fine. Disk 2 showed up as Disk 1. Didn't think much of it, so long as the computer could read the contents. I downloaded playonlinux as that could apparently do the complex stuff for me. Didn't work. I gave up with it after an hour and a half.
Next was railroads. Put the disk in aaaand it says SimCity disk 1 is in the tray. Fuck right off, thank you very much. Eject, put back, reject, eject, fiddle in wineconfig, eject, more of this, and voilà it read as railroads :) Ran autoplay.exe with wine, followed instructions, installed it, and it worked! Chose single player, then the map and setting, pressed play, and all the models of the buildings and track were floating in the air over a green plane, the UI is weird and the map doesn't represent anything but trains. All the fkin land is gone, laying track is gonna be a ballache.
I quit it and decided bedtime.
Ctrl+alt+t
sudo shutdown -h now
shutdown not found.
sudo reboot
reboot not found
Que?
Nope, I don't like this.
Force choked my laptop by the power button. Turned it on again.
Lines of text appear.
Saw a phrase I've only ever seen on Mr Robot.
Kernel panic.
Nooooo thanks, not today, this is fiction.
I turned it off and on. Same thing. I read the logs and some init files couldn't be found. I got the memory stick I used to install mint in the first place and booted from that. I checked the difference between my stick's bin and sbin and the laptop's, and it was indeed missing binaries. Fuck knows what else has happened, I only wanted to play games but now I don't know what is or isn't in my computer. How can I trust what's on it now?
I go downstairs and tell my dad. He says something about rpm, but this is Linux so it won't work. I learn that binaries can be copied over, so maybe I can fix it.
Go upstairs again, decide not to fix it. Fedora is light, has a good rep for security, and is even more difficult to get games on, which is my vice. There are more reasons, but the overriding one is that I'm spooked by the fact that something I did went into and removed system binaries, maybe even altered others, so I want something I'm less likely to do that with. Also my fellow cs students used to hate on it but my dad uses and recommended it so I want to try it.
Also, seriously, fuck wine/PlayOnLinux/my inability to follow instructions(?)/whatever demons haunt me. Take your pick, at least one if not more is to blame and I can't tell which, but it's prooooobably the third one.
It's going to be 16 hours before I touch my laptop again, comments before I backup then install fedora are welcome, especially if they persuade me to do differently.
P.S thanks for reading this mind dump of a post, I'm writing while it's fresh but I'm tired AF.6 -
I'm sure this has been ranted about before because I can hardly be the only one.
Android development and the upgrade dance.
Things were worse in the bad old days of eclipse but it's not like they're peachy now, either. Android is one of many platforms I'm developing for - c++ back-end, running on lots of different platforms through a thin bit of platform specific glue.
That's all I care about - that this thin bit of glue just works. I want to write this stuff, forget about it and get on with solving what I feel are real problems, for me, in my code.
The trouble is, I'm never finished writing this and android is one of the worst. With every revision change, google changes *something*. New build system? Why not, you indie developers have *loads* of time and resources to waste on that, don't you? Some weird thing just stops working for no apparent reason? You guys love to drop whatever it was you were working on to figure out what the hell ' android.app.Instrumentation' does and why it can't talk to my main class any more, or why I even need it but nothing in that error message about what I might do to fix this arcane random error.
Google have all the resources in the world, I do not. Yet I have to dance for them, every time I upgrade.
Can you guys please funnel some of your practically infinite resources in to making this stuff 'just work'? -
"I'm nearly done. Just one last bug to fix."
Time passes, coding happens ...
"No, not quite done. Just three more bugs to fix."1 -
!Dev
So the winter break is over and im supposed to be in my uni but no! It is flu time!
Since a human is a machine, and we have certain tools to fix it when it misbehaves lets try to debug that problem! I will tell you a story how
it ended.
*4 days ago*
Both of my parents return from a trip, dad is horribly sick (windpipe infection) so i isolate myself in my room, put on a mask when i have to be near him and wash my hands 3 times i leave my room.
Nope that didnt fucking work, the next day i get flu symptoms(high temp, fatigue, musle and joint pain)
Nothing too bad i can live with it, so i took paracetamol and called it a day.
But im still pissed at my dad for being a fucking idiot and walking everywhere in the house coughing everywhere...
The next day (yesterday)
Took paracetamol again but this time i got a stuffed and runny nose... So i take nasal decongestants, and... they dont work at all...
Today
I wake up with stuffy and cloged nose again. Aparently those nasal drugs i have been taking only make your nose less runny by drying it up, making it 10000x more difficult to unclog your nose...
like wtf? So if you have a runny and stuffed nose you have to choose which one is better?! Nah i take nasal drugs again and clean my nose with saline water, so far so good!
Also paracetamol started working weaker and weaker... What the hell is wrong with me? Im trying to solve 1 problem and my body finds another one! Curing a human is like coding a app, it will go to shit sooner or later.12 -
Meeting 1:
Devs: so we have founds 3 ways of displaying this info. Which one do you think is the most intuitive / more pretty / more useful?
Management: idk, just let the option choose between these 3
Meeting 2:
Management: the users are getting confused with so many options. Fix it.
😑2 -
So I recently finished a rewrite of a website that processes donations for nonprofits. Once it was complete, I would migrate all the data from the old system to the new system. This involved iterating through every transaction in the database and making a cURL request to the new system's API. A rough calculation yielded 16 hours of migration time.
The first hour or two of the migration (where it was creating users) was fine, no issues. But once it got to the transaction part, the API server would start using more and more RAM. Eventually (30 minutes), it would start doing OOMs and the such. For a while, I just assumed the issue was a lack of RAM so I upgraded the server to 16 GB of RAM.
Running the script again, it would approach the 7 GiB mark and be maxing out all 8 CPUs. At this point, I assumed there was a memory leak somewhere and the garbage collector was doing it's best to free up anything it could find. I scanned my code time and time again, but there was no place I was storing any strong references to anything!
At this point, I just sort of gave up. Every 30 minutes, I would restart the server to fix the RAM and CPU issue. And all was fine. But then there was this one time where I tried to kill it, but I go the error: "fork failed: resource temporarily unavailable". Up until this point, I believed this was simply a lack of memory...but none of my SWAP was in use! And I had 4 GiB of cached stuff!
Now this made me really confused. So I did one search on the Internet and apparently this can be caused by many things: a lack of file descriptors or even too many threads. So I did some digging, and apparently my app was using over 31 thousands threads!!!!! WTF!
I did some more digging, and as it turns out, I never called close() on my network objects. Thus leaving ~30 new "worker" threads per iteration of the migration script. Thanks Java, if only finalize() was utilized properly.1 -
I always thought wordpress was ok, not great not terrible, from a coding perspective. Now every new framework I have worked on makes me see why Wordpress is on 40% of the internet.
Now I love wordpress not because of what it did do, but because of all the really stupid things it managed to avoid doing including: over abstraction, trend chasing, using "new transformative technology" that disappears in 2 years, breaking plugin economy with updates and making devs start over, making everything OOP for the sake of making everything OOP, making adding on a bit of code take multiple files of multiple formats and boiler plate code, boiler plate code, compiling dependencies, composer, twig, laravel, one page applications, react, angular, vue, javascript only stacks (MEAN), not letting you control sql queries, protected/private scopes and design that doesn't let you fix or alter bad code others did, and the list goes on and on.
Wordpress did a lot right, and devs should try learning from it instead of making more problems to solve. Sure it's not elegant, but you known what it does do? Focus on a solving a problem. Then it does. Without inventing new ideas or concepts to inject into the code and create new problems.
And you know what else? Hooks are actually very well implemented in Wordpress. I've seen it done much worse.
Honestly my main gripe with the entire platform is a slow moving to OOP for no reason and the database design should separate post type into different tables, the current design makes it less scalable for large data sets for multiple reasons so I'd fix that.5 -
Git Commit Part 3:
28d48b0 This is why the cat shouldn't sit on my keyboard.
95df68f I must enjoy torturing myself
c5acfc2 Fix my stupidness
3a57702 I hate this fucking language.
6cb212a Too tired to write descriptive message
292b1e2 That last commit message about silly mistakes pales in comparision to this one
f4a091f Does not work.
5af1ca1 small is a real HTML tag, who knew.
e7d2d84 Best commit ever
f54d32b de-misunderestimating
f587ca1 Added translation.
352e29c Future self, please forgive me and don't hit me with the baseball bat again!
54403a6 Now added delete for real
9f42f38 Who knows...
5df8457 more ignored words
56bd0ef Added missing file in previous commit1 -
So basically I am the computer guy in my office. If there is any hardware or software related problem, I am the guy who fix it or try to fix it in my own time.
Little bit of more backstory. Two month ago we got react native project from a client. My boss asked me if I want to do that project. he knew that I don't know react native but I want to learn it. So I said yes. I have worked over 12 hours per day to work on that project while learning react native ( I committed the final version to git today.)
Yesterday there was a meeting in our office about project deadlines and issue with current work and stuff. In that meeting one guy asked (this guy had personal beef with me) in rude way like why I am taking parts of pc and given other people. ( If there is any hardware issue, I use other parts from pc which are not currently in use. So basically a simpe resource allocation.)
I knew it was a targeted questio toward me but before I say anything, All people took his side. (I did all those repair after taking permission from my boss, so he did not take that question seriously.)
I spend lots of time fixing those problem so people work does not stop and this is the thank you I got in return. I did this over one and half year. Right now I am asking my self if I continue the work or not.
Note: I wrote this whole thing to get my anger out of me. Sorry for typos. I am little bit drunk and I am not good with English.2 -
Ok, all of us have seen the memes about how nasty Stack Overflow can be, this is why I usually try to find an existing SO post to read instead of making one. This time however, I found an error that I couldn't fix. A nasty C runtime error. I decided to ask a SO question for help, and awaited answers. I came back, and the question had been flagged to require more info, so I added more. I came back later, and someone told me I was doing it the hard way, and I should be using Visual Studio (I'm on Visual Studio Code), which ticks me off, because I don't want to use the hacky way around the problem, then this same person closed the question! They didn't even answer it, they just offered a simple workaround then closed without an answer. Man, SO sucks sometimes.15
-
Sometimes i cant fix a bug for days. Like 3 days of brainwreck. Then on the 4th day i wake up. So whatever i love. Take some time for a rest. And then begin working whenever i feel like it. I start working at 2 pm. Try to solve the same bug again. The first thing that comes to my mind is Hold on, why dont i try to change this? I did and it worked. My first thought has solved a 3 day old bug.
Can someone explain this phenomenon. This is proof that a man is unproductive and cant work good if he doesnt feel like it.
You know all of those bullshit andrew tate quotes "i work even when I don't feel like it because that's what men are supposed to do. I train when im happy and i train exactly the same when im unhappy" but thats bullshit. I can not be productive if i am unhappy. I tried so hard and the harder i tried the more i failed. And now when im no longer unhappy i solved it on the first try.
Nobody cares when a man is unhappy. No one gives a shit. It's not fair1 -
If languages had slogans...
1) Java -- Buy one get two for free on your delicious NPEs.
2) C -- I burn way too much calories talking, let's do some sign language. Now see over there... 👉
3) Python -- Missing semi-colon? Old method. Just add an extra space and watch the world burn.
4) C++ -- My ancestors made a lot of mistakes, let's fix it with more mistakes.
5) Go -- Meh. I can't believe Google can be this lazy with names.
6) Dart -- I'm the new famous.
7) PHP -- To hide your secrets. Call us on 0700 error_reporting(0)
8) JavaScript -- Asynchronous my ass!
9) Lua -- Beginners love us because arrays start at 1
10) Kotlin -- You heard right. Java is stupid!
11) Swift -- Ahhh... I'm tasty, I'm gonna die, someone please give me some memory.
12) COBOL -- I give jobs to the unemployed.
13) Rust -- I'm good at garbage collection, hence my name.
14) C# -- I am cross-platform because I see sharp.
15) VB -- 🙄
16) F# -- 😴8 -
Actually I have two stories
The first one, that one project I talked about with a big company when I was at school. It wasn't that much coding since it was mostly researching, but it was a big project that seems really interesting, with Image Analysis and Machine Learning.
The projects at school this year got drawn randomly for each group, so when I've been announced that I've been chosen for the biggest project, thinking about every side of the project, I was hyped. And even a year after we finished it, I'm still happy and excited about it.
The second is something a little more funny :
So we got some projects to do during December for school including cryptography. Again, those were randomly drawn (but some can really fuck you up) and I got to do a Password Manager, like KeyPass. We were 4, and we thought we had the time to do it.
But we misread the date. At the end of Christmas break, I got a call of a friend saying that the project is due in two days.
Thing is, one of my three co-workers weren't contactable. And we got nothing.
So I kinda took the lead : I said to one to do the UI, another to do the cryptograph helper, and I'll do the linking and all the behaviour of it.
In two days, I literally spent all the time available on it.
Then first meeting with the teacher for saying what is wrong, where bugs are if they exist, ect. so we can fix the issues and deliver a clean code. They were like only 4 big problems. More is, I fixed them all in like two hours while thinking fixing only one. And we got something like the 2nd or the 3rd best mark of the prom. And everyone congratulated me for that. I got so excited I was able to do that in few time.
But never that again lmao -
I'm getting more frustrated every day. In the past 2 months the requirements have changed dozen of times, which resulted in so many unnecessary delay.
The date for the soft launch has changed multiple times as well. One moment there is going to be a soft launch, the next week they decide to launch earlier without a soft launch.
On top of all the annoying IT related issues, our CEO is on holiday. The only person left in the company remotely capable to replace him for a few weeks is me. So beside changing requirements and deadlines, I have to deal with a lot of other shit as well.
To make things even harder, most coworkers from our support department are on holiday. Just one person is left and his wife will be getting a baby very, very soon. Ofcourse, I'm happy for him, but taking over our support department as well is not what I'm looking forward to.
The soft launch is schedule for next Monday. I'm so tired and I'm distracted every day by non IT issues. The most important things work, but there is still so much to do and I can hardly concentrate. The two other parties who are involved are far from ready either and I have to find shortcuts for their problems every morning, because they can't fix it for themselves.
Well, at least writing it down here helped my stress a little bit :) -
For our first OOP module in Python, we had a lecturer who's main language was Java. His slides were taken from a Java book with the code turned to Python, and he was learning the things he was teaching us the day before he taught us.
He would also code up his examples for the first time in class, without having practiced them beforehand. This led to him taking up the latter half of class looking confused at the code he wrote and trying to fix it, leaving us learn nothing. One time, when he was already 10 minutes over time, he said "if i had 5 more minutes, i could have fixed this" even though we all could see that wasn't going to happen... -
Bro I fucking hate Flutter and android studio. I have just started android development and oh my god the bunch of errors i’m getting is crazy af. Like I don’t get one point, flutter was created by google and android studio was also created by google… then why tf they don’t focus on normalizing the development process. Why so many errors ???????? And no easy fix for it like whyyyyyyyyyyy?????
Anyways sorry for the rant but there’s more to it. I just built a fuckin app which was running fine in my AVD and then when I sent it to my friend he was seeing a grayed out screen and then I searched for the error and then I was like bruh, I was sitting for sooo long building the first app of my life and here we are. My app can’t even run on someone else’s phone because of a fuckin gray screen error (i’ll fix it tomorrow)10 -
Not sure if it still counts as a 'dev' goal but for 2o19 I'd like to finally stop being a 'ooh, this is a mess, I can fix this..just one more thing and I'm done for today' person. Even my bosses tell me to go home already, so I hope this year I will be able to do just that: turn my head off and go home, do other things in life I also love.2
-
So my day's going pretty well, successfully managed to create a pull request for broken code that breaks more code and run into errors trying to fix it, then spill tea all over my desk/self spazzing trying to fix one child problem like 3 levels deep
Pretty sure I'm the office dunce at this point1 -
A colleague changes the location of a test helper file imported in a bunch of tests. Doesn’t bother to check where that file is imported (except where he’s specifically using it himself).
As a result good dozen tests fail later on. The culprit doesn’t realize. And the rest of us have no clue why.
Multiple people are asked to look into why the tests are failing.
"Ok, who’s working on what?
We’ll create a shared document to track who’s working on what test."
Document is created, people get assigned.
"Hold on, looks like it’s just a faulty import." "Oh yeah same here." "Yeah for me as well."
"Ok we could simply appoint one person to fix all the imports."
"Well I’ve already gone ahead and opened a pull request to fix the test I was appointed to."
"Ah ok, well who can take care of the rest?"
"Wait I also opened a PR."
"Ok so I guess we can each open a PR?" "No we can just have a single branch we can all push to".
"Sure, who’s branch are we using"
"You can use the branch of my PR"
"Guys let me handle this, it’s ridiculous for us to all be doing this separately."
"You’re right, go ahead".
——
The culprit? A senior dev.
What would have literally taken a minute to do (or even no time at all with proper use of the IDE) turned into hours of wasted time. People getting interrupted, having to drop what they were doing to fix the consequences of this guy’s laziness (seriously don’t know what else to call it).
Ok maybe our reaction could have been more efficient, but we never should’ve even gotten to that point in the first place.2 -
Story, !rant.
So after previously telling the story of my laptop in the rain, I thought I should follow up with this one. (this is couple months later)
My laptop was bought second hand by my father (who doesn't know anything about computers) and the poor thing had a tendency to overheat. It worked fine, but under heavy load it would only last a couple minutes before it shut down.
So once I was cleaning out the fan (as dust accumulated in there) and I ran it under the tap, to get everything off. Sure, you might cringe at the idea but I thought some water wouldn't hurt it, especially after surviving en evening in the rain. So I cleaned it and let it dry.
A while later, when it finished drying I started to reassemble my laptop. After about 30 mins of fiddling with it, it was back together and ready for a fresh start! So I powered it on.
Sparks flew. Smoke started coming off the motherboard. More sparks.
😯
I pulled the cord. "Fuck, glad I caught it on time..."
I waited a while longer. Turn it back on. "Fan is not functioning properly or is missing". FML. After all it had survived, a bit of water in the circuit that made the fan spin is what took it down 😑
Fast forward two years (without a fan, shitty days), and I bought a second hand Lenovo laptop that I adore. So I thought I'd sell the laptop on Ebay, but first I should fix the fan so that I wouldn't have to sell it for next to nothing. Part number was hard to find, and bought it from somewhere in Europe. Four weeks later, the fan arrived at my doorstep.
Took the laptop apart (have I mentioned how hard that was?) and replaced the fan. Felt good to fix what I had ruined two years back. Put it back together (after applying thermal paste, I'm not a monster) and powered it on.
"Fan is not functioning properly or is missing"
😑
After checking the connection a couple times, I realized that what had given out was the motherboard connector for the fan, after the water incident. Wasted 40 dollars and several hours of my time for nothing.
The laptop that survived hours in the rain was taken down by a wee bit of water. So sad.2 -
Into a bunch of open source hogging meat heads because no one likes paying for things their own peers toil days and nights creating and creating more under documented over expensive licensed stuff (because agile) while throwing buzzwords to clients just make business while simultaneously choking the life out of underpaid overworked devs and engineers with the skill of running away from responsibility trying to save their own skin with the inept ability to look like a hero/King at the end of the day with a single mail sent with psychic communication or the lack thereof with people who are slogging their asses off to fix a problem created to the vulnerabilities and bugs introduced due to the impatience of the same moron who couldn't afford to give his employees/subordinates more time to figure out an elegant solution to a non existent problem created in the confusion of improperly documenting unnecessary requirements of an ignorant or unknowing client who is way too eager to process way too much load with way too less resources all the while whining about lack of features theyre not gonna use.3
-
some call
- yo bro do you have some time ?
- quick cause I'm taking a dump
- I think I have been hacked, got black screen kernel panick, linux freeze seldomly I have to reboot, no internet connexion
- save your stuff and reinstall linux
- I don't have enough stockage to backup
- Then buy one and save, probably either OS is fcked up or you have some hdd problems
Time that it will take: ~30min to reinstall whole shit
Peace duration: ~2years
Later on the same day
aunt
- I can't log into windows
- Did you change the password ?
- Yes but it does not work anymore
* looking at shit
* logs successfully. Reason: interface changed after automatic update.
* wait.
* wait some more so fucking windows fucking starts
* Desktop is ugly as fck.
* Some stupid settings messed up (like high contrast set, black theme or so)
aunt (the same)
- I can't log into my (other) laptop either
* logs
* wait more more more
Guess what: automatic updaaaates. Freezes 100%cpu
* Being a very experienced user: wait before reboot because this suckass os will probably fail to boot otherwise
* Blackscreen with a percentage: Installing updates...
* reboots
* Blackscreen with a percentage: Installing updates continuing...
* finally boot (feels like a miracle windows succeeds lol)
* still slow
aunt now sleeps
* look at running process and install programs
* sees shits like camera recognition (vendor installed), candycrush
* occasionnaly get adds
time lost: 2h
peace duration: ~3month
FFS I am a dev, not a fucking trash lover
It is already pain to fix someone os, but windows is the cream of cream
It brings no ease of use for novice user
It is so insanely slow
It has stupid settings set up by default!!!!!!!! Who FFS wants candycrush and ads
The maj are so fcking hazardous. It is 2022 pretty much the same as 15y back then. Updates take fucking eternity. And needs reboot. and are not even finished!!!
I swear I am gonna stretch my ass and install linux and any fckin other toolsuite needed so they can use Micro$$ word, which is the only fucking usecase they need windows for in the first case anyway
I SO wish this OS would die
I mean, even more than safari7 -
What's better for finding candidates for a development role: having the candidate solve a complex whiteboard problem or have the candidate refactor some code (maybe a couple of small modules) while explaining as he/she goes through each step?
I personally feel both are good, but I think refactoring is a very much needed skill when you're dealing with the complexity of millions and millions lines of code, so being able to change your inital design to make it more readable and flexible later on is crucial. And refactoring usually goes hand and hand with having tests in place.
An interesting exercise would be to give the candidate a test suite with the corresponding code that's tested in a working state and let the candidate decide how much refactoring needs to be done. In the process the candidate would need to break and fix tests of course while changing things... it'll give a good measure of their ability to take code and change it to a "better" state of design and flexiblity.
On the other hand I do think there is a place for cliche white boarding problems because it really shows one willingness to tackle complex problems which do arise in most development jobs. Asking the questions and being persistent goes along way and can really help when you're collaborating with other developers to solve an issue at hand.
Overall I think there should be a white board problem, but I don't think that should be the deciding factor. Rather couple it with other very practical skills you should have as a developer already; among those being refactoring.1 -
What is your last WTF moment? I will start, today I was working on some abandoned tasks, finished the first one quickly and unexpectedly. I thought It would take more time though. The second task -the shitty one- finished it too, again quickly and unexpectedly. There was a tiny fix I should make, which shown on the image below, I wanted to change the CSS of this select box and the highlight color when the mouse is over one option, I spent about 2 hours without any luck, this shitty box has no trace in the dom or any CSS attached to it, I was going nuts, why the fuck this has no fucking trace in the HTML. Ok, I can change the select element background but it would be applied to all the box and the highlight color for the option element can't be changed. The WTF moment is that I was testing the website in chrome inspect with mobile devices enabled and thought, holy fucking shit this is not how the select is supposed to be shown on mobile devices, it will fall back to the native mobile system select element. what a fucking shit is this, I was going to go mad for 2 hours about this genie element displayed here.
-
Visual Studio Freaking 2017 and still no freaking XAML intellisense for freaking Xamarin.
Freaking spent more than one hour searching for a freaking fix in vain. Might as well have used that freaking hour and learn the whole freaking Xamarin.Forms XAML vocabulary. This shit sucks.1 -
you know what annoys me about this situation the most ?
noone is living an ideal life
in any sense
except a few
but that being said, living less than ideal life if people had not wasted so much time, would have led to certain things becoming better.
example.
if i was out of development work, and had to take a crap job.
and lets say that ended up putting me in a financially unstable situation.
if i had rotten teeth, i could work part time, go to a sliding scale place and fix them one by one
while either educating myself further or looking for a better job because in truth, if i'm accepting a part time job, i must be fucked.
i don't see any longevity in an intensely physical job, I see an early death.
there are not enough paying people to ensure everyone has a skilled job, and truthfully not everyone can, but we have more people than we need to do the unskilled and skilled jobs both so why are we not running with that ?
the best time to do unskilled labor or just labor jobs period is when a person is young and there body is new.
and then not for long or with accommodation considering throwing your back out or fucking up your knees stays with you for life.
everything is so backwards in this country.
people think in terms so frequently these days in 'how can i make someone else suffer for my amusement and see their potential diminished so i feel better about my fucked up pathetic life ?'
or
'how can i get revenge against a person that doesn't deserve it'
or
'how can i ensure other people are totally boned so my charmed life i don't deserve seems satisfying'
its pretty gross as are these people
well fast forward years later and life appears fairly repetitive for alot of people
took a very large of detours here, had some fun, experienced some fucked up horros, saw a few wonders which were mostly based off my ideas, and some that were not.
still i return to what is to be done about our unfair, wasteful system ?
I've always been a fan of removing people's 'excuses' to neglect their children for example.
and definitely blocking all avenues of abuse.
even unintended, or pretended to be unintended.
i also hate people who smell because they don't clean themselves, and use excuses for that
I also hate people who make other people live in a situation where they can't take care of themselves and then try to dominate places they seek refuge because our fucking system sucks.
I also hate that there is more food than people can eat and restaurants closing when there are hungry people.
i also despise that we have more vacant houses in this country than we have family units.
some are just rotting away from neglect.
and i most especially hate people who get off on watching whole landscapes decay.
there is tons of work for the proper people
some of it is hard
some of it is tedious
its these kind of tasks that are necessary
the right spirit and the RIGHT COMPENSATION and the work gets done.. hopefully.
starting out with placing everyone in means to eat and sleep and clean themselves seems the most important.
everything else is icing on the cake, because by and large many people get sick of doing the same exact things, and people hate staring at the wall.
the problem is, there are alot of people who are, due to extreme damages from our modified culture, extremely abnormal, sadistic and untrustworthy around... anyone.
so with more time on their hands, they get bored and turn destructive and antisocial and breed people to be worse.
years I've been preaching this.
same people fly past in man places.
here and there some new fool marches in, eyes sparkling with malevolence, only to get caught in the same eternal loop and be absorbed into it.
i haven't seen one such as myself that I know of, that showed up with every intention of changing their life, becoming friendly with people, finding the things they enjoyed, and improving themselves intellectually, emotionally and socially; searching for an environment filled with more people who would be helpful to this extent, getting a rude awakening and realizing how horrible their country was becoming.
don't know if I should be happy being alone as the only sane person. heh.
I really don't want to be. I just want us to be happy. this is deserved after so much hardship. after seeing how people in general have become.
oh we all have lusts and vices and shortcomings, but the gulf that had grown between ordinary folk and the general population is astoundingly wide.8 -
Does anybody else have the project where every time you try to change something, no matter how small, you always end up screwing it up and needing a bunch more time to fix it just to get back to the starting position?
I have this project I've done, a custom Ambilight system for my TV, and everytime I try to add a feature the lights stop working altogether... Tried adding detection of when I start my media player to automatically start the Ambilight mode (I made several modes, one of which is just shine a certain color all the time which is great if you don't want to use normal lights and want to be able to control the lights from your phone).
I had the code for detecting app start and stop from before when I implemented it for a slightly different system. I just changed the few things that are different and poof, no more lights... I managed to forget the other system checked a flag after every process exit and overrode the mode and I removed the setting of the flag, but not reading of it...
Every single time I do changes on this it's something... Other projects sometimes go smoothly, sometimes not, but this one just doesn't want to be kind to me....
Results are awesome, though :)5 -
Can I just say, I owe my soul, nerves and eternal gratitude to the folk over at Percona? They publish articles that have, on more than one occasion, saved my hide when a DB node wasn't working as it should, and I had to find out how to fix that.
Seriously, amazing, love those guys!2 -
!rant
So I'm making the system for my University's cafeteria.
Pretty ez and all but THIS FUCKING PAGE, THIS GOD FORSAKEN PAGE JUST BUGS.
I'll elaborate: Basically I have a bunch of pages that bring up some pie charts and a .pdf of earnings, all of them work and they are pretty much cookie cutter so I can re-use the code. But this random one, with the same code, repeats the same entry a couple of times.
And by god have I tried to change every variable, code format and minimal shit. Still doesn't budge.
Guess I'll have a cheeky ciggy break and try to fix it later when I'm not steaming my noggin
Ps: yeah yeah, shitty jpg quality but its the "Busca Unidade" field that just cloned itself 7 more times underneath -
More and more, I am getting frustrated/depressed from the attitude of our customers who complain, moan and get angry about issues in their infrastructure, while at the same time, refusing to pay more so the issues could be mitigated.
Like, a client's angry with us today for having one of their non-production-critical databases inaccessible for... Hmm... About 8 hours now (So a whole workday).
Like... I get it, some of your employees couldn't work with it offline, but like... What the hell do we do? You keep data from as far back as several years ago in there, without partitioning, without exports, in a mix of innodb and myisam, so when the DB crashes, and its replication has to be reset from zero, reimporting all the data takes hours upon hours, and importing .sql files just takes time.
Or another client who got angry when their app fell out of the internet, cuz one of their myisam-based log tables crashed, and had to be repaired, with data spanning several years back, meaning it took hours to fix...
The more I work with these "basic" and "simple" infrastructure designs that is *not* redundant, or HA, the more I wonder -- How do the big names out there do it? How do you design systems with fault tolerance so a single DB table crash doesn't lead to the whole app getting inaccessible?
We have... One, exactly one, client, who uses MariaDB with Gallera, and that cluster is *amazing*, it just keeps chugging along, without a care in the world. But it cost them quite a lot, as they had to buy 3 DB servers, instead of 1...1 -
Last week a client had a meeting regarding an app I built for them for this one time project. This meeting occurred Monday.
Thursday I get a call at 8 am where they ask if they can get some fixups regarding the UI by Friday.
This despite the client knowing I work more than full time at another company and only take his business on the side.
Why does this always happen? You deliver a product and don't hear from the clients for days or weeks and suddenly they pop up and ask for a fix by the next day?
Ugh...4 -
Ok, so I saw someone post in Dev rant that the incognito browsing history was stored in the system32 folder so I thought that's quite amusing, I'll tell my cousin to see if he falls for it. Next thing I know he actually deleted it! He then asked me how to fix that. Me being the twat I am told him that the fix was quite simple. All you need to polarise the hard drive to get those sectors to start working again ( literally talking out my a** here to make it sound a little more legit). To do this take the hard drive out and rub a magnet up towards the pins where the cable was connected. He now has a broken hard drive and I have to convince him that it was because he rubbed it the wrong way as I really CBA to have to buy him a new one and get his little laptop up and running again. I really didn't expect him to actually do it or listen to me. To top it all off he wants to study computer science at uni (he's just started collage).2
-
Shitty legacy codebase made by shovelling pile of different shit by some 'cool dude' who left the company 3 years ago. Fixing bugs on this pile of shit all the time, but also I have to document everything as documentation wasn't there at all and fix the whole damn project in the meantime. No linters, no types, ancient libraries that have shitton of issues, hacky behaviours wherever you look, no tests whatsoever.
Except when we want to refactor/rewrite we don't get time for fixing the whole shit as it is worthless - there's no value for customers in that.
the other one was shitty HR talk which consisted of bashing on my technical competencies by computer illiterate troglodyte after which I left the company. They asked me could I stay for 2 more months.
That was that one single NO that felt so great that I will remember it for the rest of my life. -
all they want is to lure you to a feed and let you scroll through it forever. TikTok will even scroll for you. Your right hand is for holding a phone, your left hand is for cramming junk food into yourself, your head is for feeling acute guilt. After junk food is no more, you make yourself puke, wipe your eyes and go on a compulsive shopping spree to fix your self-esteem. All paid for with your credit card, of course. As if you were able to afford the whole ordeal in the first place. Then, go to your local bar and get wasted.
Never explore yourself. Never stay with yourself one on one, without an algorithm taking the pain away through the screen, all at the expense of making it stronger in the long run, because that’s how addiction works. Never talk to yourself, never ask where did certain feelings come from.
Without pain, there is no motivation to change. And you shouldn’t change. You. Must. Drive. The. Economy. Die early, of heart attack because of junk food, or by suicide because all that mental strain and misery. Never retire. We shouldn’t pay you a penny back.
Now switch back from devRant to Instagram. Now.2 -
I don't get the bug "joke" that's flying around. If you have 99 bugs and fix one, why would you have more? Do you not have automated tests?4
-
I never stop being amazed by how one of your people call and say "client X is stuck they can't do shit omg omg top tier emergency" and when you ask them what's the issue they say "well idk they didn't say anything, how are you gonna fix it?" as if i had a magic wand and could fix everyone's problems with a snap of my fingers and understanding what's happening with literally 0 details.
Turns out 1 minute later the "issue" was due to the customer being dumb, software was more than fine and running correctly 🤔 -
Management suddenly decides they wanted to see if a new process is any good and decides to load all the work on 2 people ( including me ) and keeps the deadline 5 days later ( when one person is taking a 3 day leave in this 5 days ).
In this situation, the other person involved in the process, routinely infuriates me by suggesting we fix up something within these days and not worry about readability or code quality. My argument is the POC is subject to heavy changes, so why not make it more "modifiable" from the start and not create a sphagetti which i would be left trying to fix when he goes on leave.
I would be blamed for slowing down things unnecessarily if i put forward my argument too sternly. Genuinely conflicted about whether to go on the offensive or to accept the reality and make myself uncomfortable by doing this faster.2 -
At work I help manage a fleet of Apple hardware that acts as our iOS build pipeline, and today I tested out MacOS Sonoma on one of the build nodes. The update went fine, but the test build failed because it didn't have sudo access for a specific command. I looked into it a little more, and it appears that the update set the sudoers file back to default! Like, why would you do that? Why would you mess with a configuration like that just for an OS update? It doesn't make any sense to me, and now I'll have to go and fix each sudoers file manually after I update the rest of the nodes. So, thanks Apple.3
-
Using grafana together with tinc+promotheus, has been a blast.
Initially I wanted to get into ELK with Kibana and all that, but that required 8G of ram, the instructions to get it running in the open source "mode" was nearly non-existent, together with all the ready docker compose stacks out there simply not working or the images being broken.
I'm sure I could've managed around most of those issues, but the fact it is as hungry as gitlab, made it a literal no-go for the usual server resources my clients host or my own scaled down server recently.
Thankfully I remembered that there's grafana and me having experimented some time ago with tinc, so I can have very lightweight beat'esque prometheus agents deployed listening on tinc local net only, with the typical nginx auth and some whitelists to all of the servers I host and all those of my clients.
The dashboard creation was especially great in grafana (tbf promotheus does actually most of it), literally what I always wanted out of those "complicated" solutions, that do it all, but have no proper query language, complex documentation, heavy collectors with no properly named data points, expensive resource runtimes, ..
with grafana I can just easily put dashboards into folders, create users to look only at certain stats or even dashboards (opened up some interesting contracts actually, because now I can also offer proper monitoring for all things delivered), easily drag and drop around stuff to fit more information (most others fix you to a small 3x2 grid, a too big grid for a TV or simply non resizable tiles, making that one counter take up an entire row) and resize to my hearts desire
tinc of course allows me to easily create private networks that are resistant to failure across any region and the routing is done for me, so I don't have to run around it all that much either
P.S: a damn tiny fly went into one of my now 4 monitors and died right in the middle, because I thought it's just some dirt and I pressed it in while trying to wipe it off, so that monitor now serves as the top most on a vesa mount5 -
Ok so I had to make a revision on a PDF with JS that was being tested to fix some bugs, I hadn't touched it or Acrobat Reader for more than a month I think but I could work on it well back then.
I had to see the problem first so when I go and open it with Adobe Reader, it crashes. Weird. I can't get it to work.
Well I'm reinstalling it then.
After downloading the (now correct, I tried to use an old one I had and lost some time) installer, I tried to install it and it asked me to close Outlook and Excel. Weirder.
I do, and after finishing it said "you have a newer version, open it?". Super weird. Of course when I accepted it didn't work.
I uninstall my current installation and while uninstalling it asks me to close Chrome. Ok now I'm not ok with this shit.
Adobe wtf?
I needed to fix it in some minutes and it ended up taking hours.4 -
Roses are red
I'm gonna cry
"can't read function 1 of undefined"
when your trying to use someone else code, but they have it very unoptimized, so you fix it up, only to refresh your editor to see Type-error hell and the editor tells you to fuck off by not telling you what line it's on...
I mean what the fuck man. Why do editors do this shit. They don't clear their caches sometimes, so you don't know if a type-error occurs, so your just FUCKED and you have to start all over. I've spent 5 hours just trying to edit one fucking program so I can import it into mine. The code itself is just fine, but the amount of sloppy variables is good damn outrages, I legit have to leave non-critical variables or else the program just breaks, even though those variables aren't even being fucking used for the purpose I have the program for anyways. And I can't just leave the code as it is because it would cause to much of a performance drop in a program that involves music. Like I would let that happen. The worse part is, is that I got so close one time, it was almost done, no type-errors, 2 hours in, I get a little excited and delete some more useless code without checking for type errors. Well guess I'll go fuck myself. Oh? I can't seem to find the most likely most useless unrelated variable? Shucks, oh boy, oh gee. Fuck off with this shit, I didn't start learning JavaScript only to be fisted in the ass if I want to use code from someone else program. Literally it would be so much better if the editor could tell me where this error is, but noooooooooooooooo, it's literally an internal error and that means I can go fuck myself two ways to Sunday2 -
From a little bit heated discussion I want to extract this: One big pain in the ass is the human to computer interface. Maybe it's the natural vs. formal language divide, but there's a mismatch deeper than between object and relational models that no ORM can failingly fix.
The whole point of the discussion was on such a point where some wanted an interface more human friendly and I stubbornly insisted on the way it is simple for the computer system. Like not too much human messiness should invade machine. One argument sounded as if human words were like unicode code points which meaning doesn't depend on its representation.
That's raising red flags to me: Nonono, natural language is too messy, keep it out. This poor machine could have been so clean and well designed and we already stacked up so much entropy we still dare to call OS,..
Dunno, what's your stance? Still hoping that your shell one day will be able to process our poor standard English? Or do you think, like me, all those failed attempts show there's a gap you should not even touch?5 -
Unity Engine lures you into trying it out with its simple starting Tools.
But once you realize this is just a fassade - it's too late and the trap got you.
You're now in limbo of to simple code which isn't compatible with the more complicated features!
Oh you try to fix this bug here? Let me suggest you 6 year old solutions from Unity Version that are not supported anymore!
Sorry just have to say it: Unity is big pile of sh*t! I don't know who had the idea of making this frankenstein-monster!
Just to consider thinking not only making one monster - NO!
Lets do a whole bunch of iterations and versions of this monster and yes you guessed it: they are not compatible to each other!1 -
< The IT guy Fixes it all. A brief story about an old couple I knew >
So... I know a very old man, that keeps a great (young) appearence despite his over 80 yo. He has been a friend of my family also and my neighbour.
He lived with his slightly younger wife. They had suns/ daughters, grandsuns and even a few grand-grand suns. Despite their family keep making visits regularly, most of the time, their main company were the neighbours. And me and my younger brother were like a second grandsuns to them, and we saw them the same way.
Every time there was somethng to fix. A radio, a tv, an old ring telephone. They would call me to fix it.
At a certain age, my parents moved out to a different street, me and my brother started spending more time away from our village, so this very lovable cuple, keept calling to my place like we were still available 24/7.
The most funny request was when the old man calls meand says something like is:
OldMan: - Hello, André! everything is good with you?
Me: - Hi. I'm great! I'm spending a lot of time away now, but despite that, all is good.
OldMan - Nice to hear you! You are still studdying Computers? I think I need you to do me a favor, if you find some time.
Me - If it's nothing too difficult, or time consuming, maybe I can. What is it?
And then he breaks it.
OldMan - I have an electronic heater, but I can 't make it run. But maybe you can fix it. You know all about this electronic stuff...
(after laughing a litle bit)
Me : Well! That is a litle bit out of my league.
BTW. A curious info. The old women couldn't recognize a single letter before her 70's. She basically didn't knew how to use a phone, but then she started a senior class to learned to read, write and basic algebra. And this would become a life saving gift to her.
One time that she injuried herself in the back caused by an hard fall at her place, she was able to drag herself to the phone, and instead of calling the Urgence Team, she called me .
Luckly I was at home, and could get help in time.1 -
I've been working for at the same comoany for maybe 7 years now and had my current position title for at least 3 years or even more...
Everyone else on the team except the Lead and Manager have the same title, they are 1 level higher (VP).
I don't think they get any perks but I want a title change to reflect the sorry of work and problems what I tend to fix (i.e. Technical Specialist rather than just Senior Developer). I'm pretty much the guy that fixes things when no one else can.
And a lot of people I know at other companies already have a VP title...
Should I ask and how?2 -
got employed as web developer, had to make an app for test, so i made simple PWA, you can search videos and you have related videos on the side, basically search videos and watch them with simple list of related videos on the side.
idk how i ended up being tester and bug hunter in this huge ass pile of spaghetti extravaganza.
all i do is wasting my talent on hunting and resolving bugs on a legacy-code apps, don't remember when was last time i actually wrote some feature, oh yeah i do, last month but that was refactoring/fixing.
so i am stuck on weird tech stack someone build with shovel, feels like they were having that famous golden hammer.
what interests me is something i will never do at this company and still i am trying to help them to fix the app to have better product.
It is hard when you feel like you are third and last person in whole company that cares about actual product, rest of devs just fixing things with quick workarounds, hacks and lousy patches.
I really tried, I did, I was excited as I saw opportunity to one up the product but got stuck with the rest of the devs fixing bugs instead of fixing the whole codebase, I tried to introduced improvements but we don't have time cause fixing bugs means happy customers, better codebase takes more time and means impatient customers are unhappy!
I think it is time to sail away.
So folks, any thoughts or feelings?1 -
Update 2: https://devrant.com/rants/5446637/...
Not saying that my boss is wrong, but the way he gives feedback and teach me is just awful. Just today, a new colleague told me that one of the ex-team member quit because of our boss.
Anyway, the activity I was working on, I nailed it.
In morning connect, boss specifically told what he was looking for and made me do a live task and gave feedback. That made me realised what he was looking for.
I spent the day completing the activity. When I showed him, his jaw dropped.
He tried to pick on few things, but failed to do so.
He loved the output. Praised me and my persistence. Finally, the history repeated itself, and I learnt more about communication.
Possibly my weakest point out of all, where I was failing in interviews and had to fix that. Now, I got some pointers and will work on it to excel futher.
Yes, things were stressful, but I came out to be stronger.4 -
Working. Finding a bug. Quick-fix. New bug. New bug. New bug. Spending 1 hour looking for Quick easy solution. Getting distracted with a more complicated solution. Spending 1 hour researching. Back to problem, one more hour bruteforcing the problem. Finding it was just about a configuration problem. Fix in 5 minutes. Repeat everyday.1
-
So... I've been looking for a week on why my machine was braking tools on every piece...
Found out yesterday, it was machining without water....
Told the engenheir (my direct boss)... Started working at midnight and was the same...
Decided to fix it, besides the fact that I'm a temp and shouldn't be doing his job...
Can't fix it... To many broken pieces....
Well a few metal pipes like straws and some rubber bands and its fixed for now...
I really can't understand why a engenheir gets 10x more money and can't bother to fix the machines....
Well I know why... He's not the one paying for new ones when these brake.
Next: other machine Is working without oil...
And no, I'm not messing with that... In a few months they will just have to buy a new one.4 -
For coding advice
Don't stop thinking
Keep asking how and why a thing works
Learn the logic
Pick any one language
Write some code, do mistake, fix, learn and repeat
Do keep a balance of coding and real life ,playing games are necessary
Do exercise as well....
Maybe some more things we can , but most important is
Do what you love not what others love.
It's your life live and code your way... -
Very annoyed by PR comments for temporary fixes.
I made a one line change that basically removes a link from showing. Test it via UI and it worked 100%. Then a more senior engineer comes in and says to do it a different way that takes more time to get the hotfix out and 3 times the amount of files changed.
Why? What's the fucking point? It's a temporary fix that will be removed in a week. Why waste my time and your time? Now I'm wasting time on here.4 -
So I'm assigned once again to fix a new someone else created and that seems to be the case whenever there's an issue...
Boss just assigns it to whoever is most likely to be able to investigate it... which is basically me. Other than the little time I can use to develop stuff, I'm usually cleaning up other people's messes.
And these other people are to busy working on new crap to properly explain how their existing code/processes/changes works.
And well the fact that anything breaks in production (that's not due to upstream one off issues) whoever does not think he needs to take responsibility for it.
So everyone else and especially me has to spend time understanding the shit they wrote and fixing it for them.
How do I tell my boss this nicely that we need clearly definitely ownership and whenever a component blows up in prod, the guy that wrote the code fixes it no matter what? Thereby incentivizing him to not write shit code in the first place and be more proactive in making sure it doesn't in the first place since he knows otherwise he's doing overtime to fix it?
Is it just me or is there really no such thing as a dev job where something doesn't blow up due to poorly tested and designed code every other day?3 -
Had a Nas with a single 3tb seagate HDD in it.
It ran well for half a year and it was my main backup and a time machine for my dad.
The time came that my budget was allowing a second drive for redundancy so I powered it off, added the second drive and powered it back on.
😐😓😧😭
The drive did indeed die and yes, it was one of those drives with an extremely high failure rate.
My dad was pretty mad that his backups were gone even though he didn't need them.
So my biggest lesson from this was to always encrypt such drives because dads backup wasn't and my files and such weren't either, so someone could restore our hole life's from the drive.
So I can't Rma that fucker.
Zfs at rest encryption ftw!
By the way, writing this I noticed that I didn't need to power the Nas down to add the second drive....
Ffffffffuuuuuuuuucccckkkkkk.
Another more recent thing was a refurb 4tb we red that I bought used for a bargain.
It reported 2 unwritable sectors but I didn't care for the money.
After about a month, it died.
The interesting part is how it died.
It spinns up, gets detected, you can access the data.
You can copy the data.
But after a few moments of continues load, all operations start timing out and the drive either disconnects completely or the zpool degrades and shuts down.
In the first case, replugging brings the drive back untill it does it again.
On zpool degradation only a reboot brings it back.
Put a fan on it in case it was overheating but that didn't fix it.4 -
Pharmacy... Preorder-mail got stuck in spam due to weird receiver passphrases so they didn't actually order it (it was "banana" followed by an steadily incrementing number). You wouldn't believe their faces after they saw my mail.
It took the pharmacy exactly ONE HOUR to get that medicine after I went up getting them to know that they missed an order. They express ordered it after I guess I signaled the urgency...
That's one of the pretty great things in Germany. If you need medicine and if you're in a medium populated area, you could get it within hours, or at least in 1/2 day if they not express the order and you order over their website.
But this is attacked due to European trade deals. Online pharmacy shops (the ones without local pharmacies) simply trade in from cheaper areas in Europe and can sell much cheaper. Also because they aren't committed to cross finance local hospital medicine delivery which then let's the health insurance raise their prices.
But due to the law for the minimum wage and therefore steadily decreasing wages the online-only pharmacies get more and more of the market cap....
Such problems aren't easy to fix...3 -
Worked on two (small) errors for about half my day. I've had them before but fuck I've never spend more than an hour on one. Decided to stop and go for a walk and game a bit after.
Came back today and instead of opening my code in VS Code I opened it in ST3 and I went through the errors again and I fixed it. I tried doing the same on VS Code but it didn't work just like yesterday.
Now, I've only had posititve experiences with VS Code and I really like, but what the actual fuck. Has anyone experienced this before and are there solutions or ways to prevent this? What is the cause anyway?
Also would appreciate some suggestions for code editors, love ST3 but I wanna try something new (I know, if it ain't broke don't fix it, got me) -
When I was a student, I'd have non tech studying friends ask me for help with their computers assuming I knew what was wrong with their hardware / how to get rid of their viruses without wiping everything out. I'd have to reject everyone like " it could be this or this, but go to X shop they should know how to fix it, this isn't my job or what my education is in". One time someone asked me about a Mac and it literally sounded they they got a virus from porn.. directed them to the Mac Guys. Friend keeps asking me more questions rather than just reaching out to the Mac Guys. like what search has you worried dude? lol
-
Compare and harmonize the web configs
Oh no someone set execution timeouts to 14 days
Fuck fuck fuckity duck
Hey compare all the web configs of all environments and harmonize them all wtf cmon bruh do your job as a developer
Take them and back them up into svn. What do you mean svn isn't a back up system of course it is well its the only thing we have fuck
What do you mean we have shit logging where people will catch an exception and only print the word exception in the log you can figure it out can't you we have live produxtion issues that hace to be solved now what the fuck
How dare you make a. Mistake copying our shitload of a bloated codebase and configuring our 100s of different options all by fukcing hand what the fuck dude do yoh write anyrhing down?
Please catalogue all the exception mails we are getting but we have no db or error reporting system so they all just plop into tue inbox and thats all ypur fuckjng data figure it out kid
This is a rewarding, fulfilling job whwrw you can be both dev ops and a developer and manage all of our fucking environments of which there are about 15 of all your own with no sort of tool or software to aid you because haha what the fuck we wouldn't make your life easy
Whata that you want to spend time to write stuff or change stuff that will nake it easier fot you fuxk that bruh get back to your biklable tasks like holy shit you thjnk this is a charity ofr aomw shit
Live production issues
Live production issues
Produxtion issues. A ghost in the machine. Find it fix if find it fix it find it fix it cmon why can't you fix it I expect you to spend your day hopelessly pretending to try to solve something you fucker
One of the only peopel able to help you sometimes though hes a bit of an old laxky, yeah hea fucking leaving see ya seeya kid and now we're not hirinf anyone to fuckjng help you no no no managing and monitoring the environments its your jov alll fof them every sngle on do you knkw all the xonfiguraiton values for them yet??
Instead we are hiring a new sales person to fucking make us some more money and we don't need naother seceloper to help you infqct lets have you use this mid end retail computer from 2014 to develop on yeah yeah oh but all our shitty code and visual studip will destry your memory but too bad!! Hahahahahdhsj
Go lice is all you, why sare you so slow
How long will it take
How long will it take
How long will it take
How long witll it tqk2
How long will it take holy shit
Give time estimate for sonethign that I don't fucking know how about it will tqke till fuxk you oxloxk4 -
I know using Composition is a good way of reusing components. Works like a charm and sends data down the tree like a waterfall.
But in our codebase it's applied to bugs. Fix one, get two more, fix two get four more.
I want to cry :'(( -
I had my meeting hijacked by two managers yesterday. One just bitched about a problem I couldn't solve. The other came in, uninvited, and bitched at the first manager for pretty much the same problem lol. Isn't it their only job to be good at communicating? Then why do they suck at it more than 200 kindergarteners playing the fucking telephone game?!? And the second manager was like, "I don't understand your jargon, just fix this." Bitch, I don't think you understand english!
-
Working on an enhancement for a legacy product that's been in the industry for about fifteen years... The situation is that I fix one defect and give more pop up. I'm frustrated so much that I give up twenty times a day.
Please tell me that's how you work on legacy software 😔8 -
So for the past two days I had to deal with a problem where I have to do a nested query with sequelize, pretty straight forward reading the documentation, or that was I think. I implemented everything according to the docs but the query stills fails, why ? I had no idea, I double check my implementation, I googled the error, no luck, after a day searching like crazy I talked with the backend lead about this and he help me to realize that the naming convention was changing because sequelize is creating a nested (SELECT * FROM) because one of the relations has a one-to-many realtion with the root model and I'm why the heck is doing that? But we both didn't know, and the problem was solved by just modifying the names, so we let it through, and sent it to QA. The next day I see the task rejected by QA and the reason was after the changes were merged another part of the app was broken, ok np, I'll fix it right away, and oh God I found the error was caused by another query that was including the first query we fix yesterday ! It was a nested query with 3 lvls! And the names became even more complex ( like `model1->model2.colum1`), goddamit, ok, I spent most of the day searching again, nothing, read the specification of the findAll function, nope, tried to put that name in the ON clause as the docs suggested, still an error, shit, then the lead helps me again and creates a literal which can hold that name and voila! Everything is happiness, at least for that moment, but I was still curious about this behavior, so I keep digging on it and I've just found an issue where a great guy posted an option to the findAll method that is not documented in any version of sequelize ! WTF ! And this option was "subQuery" which if you set it to false it won't create that additional (SELECT * FROM) from before, FUUUCK! I can't believe it, I know that all the effort works in my favor because I learn more about sequelize, but FFS I'm still angry because this shit shouldn't happen, you need to update the god damn docs, it's just adding a row and telling the people what it does. Well to end this, after putting that in the query and replacing all the workarounds with the expected syntaxis everything works like charm.1
-
This article about the types of legacy code bases you will have to deal with just made my day!
Not only do I have every one it describes but somehow it even made me laugh at thought of each of the std riddled petri dishes of code that I reluctantly maintain... My "Happy Place" is a folder dedicated to reliquary projects I like to look at when I feel sad to lift my spirits and restore hope that one day things will be better.
Do you have any definitions to add or know where to find more? I'm hooked.
Link: https://medium.com/@dylanbeattie/...
Excerpt:
The Reliquary
The reliquary is that one repository full of really good ideas. Clean code. Brilliant algorithms. The OpenID implementation that you optimised until it shone. Classes so beautifully designed and perfectly documented that they’d make a senior architect weep.
You remember the big rewrite? The project that was going to fix everything, only you never worked out how to actually launch the thing, or get any revenue from it? The reliquary is where you’ve preserved it, pickled in revision control like a fabulous museum specimen. A treasury of good code and good ideas; maybe even an entire codebase that was “a couple of weeks” away from shipping before somebody finally looked at the number of critical features the team had somehow forgotten to include and discovered — to everybody’s surprise — that validated XHTML, normalised data models and 95% test coverage are not actually features any of your end users cared about.
Like Buran or the Spruce Goose, the surviving artefacts stand as a testament to the quality of your engineering… and a poignant reminder of just how much fun engineers can have building high-quality stuff that nobody actually wants to use. -
I finally reached a point in configuring my desktop where there is only one thing left to fix, the window control buttons.
Even though I don't think they look ugly, they make everything look a bit macOS-esque.
Can anyone recommend some or has an idea for a design?
Edit: more full scale versions of the images are in the comments.5 -
Google Exoplayer had a bug on some devices when initializing AudioTrack.
Their fix: Just retry on init failure.
So if some device decides to fail more often than Google predicted: Boom!
Exoplayer is used by rarely known apps like Youtube.
And the best of it: The one to blame is not Google or Android. The ones to blame are most likely the Hardware vendors, who think that a custom android for every whatever is a good idea. -
Another first world mimimi but still an obstacle when just wanting to get work done quickly. I don't know what's more annoying: the multi-line pasted styles that used to be useful one-liners, or the fact that the top search result for this issue was closed/locked without even linking to the appropriate Chromium bugreport?! People report that's fixed, but the fix did not land in Vivaldi yet. Maybe I should consider using Firefox as my default browser again.1
-
Is it just me that would prefer to work with Senior Engineers rather than mid level engineers?
Some mid level engineers are just pain in the ass. This one guy insist on getting perfection in all of the requirements. The problem is that if you work with software/lib for so long, you realize that most if not all software are buggy or have limitations.You can't expect everything to be perfect. Sometimes something just works/don't work and nobody knows why. Need lots of shortcuts/hacks just to make it work. I would say that 80% completion is good enough, especially since we're running out of time and manpower.
I noticed that Senior Engineers tend to be less strict. If it works then it's good enough, if we found some bugs later then we'll fix it. I like this practicality so we can tackle more important issues at hand.
I hope that I don't have to work in the same project with this guy again.2 -
WHAT. THE.
https://youtube.com/watch/...
1. watch video
2. comment your thoughts on it
3. read the following copypaste of my thoughts
4. comment your thoughts on whether I'm stupid or he's stupid
5. thanks
----
I am a programmer and I totally prefer windows.
1. I'm (besides other things) a game programmer, so I use the platform I develop for.
2. Linux is the best OS for developing... Linux. But I'm not developing linux. I want to use my OS and have it get in the way as little as possible, not test and debug and fix and develop the OS while i'm using it, while trying to do my actual work.
The less the OS gets in my way, the less stuff it requires me to do for any reason, the less manual management it needs me to do, the better.
OS is there to be a crossroads towards the actual utility. I want to not even notice having any OS at all. That would be the best OS, the one that I keep forgetting that I'm actually using. File access, run programs, ...DONE.
p.s.
if i can't trust you, a programmer, to be able to distinguish and click the correct, non-ad "download" button, or find a source that's not shady in this way, I don't want you to be my programmer. Everything you're expected to do is magnitude more complicated than finding a good site and/or finding the correct "Download" button and/or being able to verify that yes, what you downloaded is what you were after.
Sorry, but if "i can't find the right download button" is anywhere in your list of reasons why "linux is better", that's... Ridiculous.
6:15 "no rebooting" get outta here with this 2000 crap. because that's about the last year I actually had to reboot after installing for the thing to run.
Nowadays not even drivers. I'm watching a youtube video in 3d accelerated browser window while installing newest 3d drivers, I get a half-second flicker at the end and I'm done, no reboot.
the only thing I know still requires reboot within the last 15 years is Daemon Tools when you create a virtual drive, but that one still makes sense, since it's spiking the bios to think it has a hardware which is in fact just a software simulation....
10:00 "oops... something went wrong"
oh c'mon dude! you know that a) programs do their own error messages, don't put that on the OS
b) the "oops... something went wrong" when it's a system error, is just the message title, instead of "Error". there's always an "error id" or something which when you google it, you know precisely what is going on and you can easily find out how to fix it...18 -
When something is still broken after I fix it
When fixing one bug creates two more bugs
When I am too lazy to do anything at all
When I have to fix bugs in code I did not write
Whether the sun is shining or not,
whether it is hot outside or cold,
I always feel the same...1 -
And one more.
When my senior ask me to rebase the PR, which I submitted f*n one month ago.
Where it was f*n important that time.
And your pull rebase ask you to fix the conflicts.
And you realize you need to reapply the changes again on top of the master.
And you have to run the FTs again.
Damn.... -
Sigh millions fail
Millions make up bad ideas
Millions more commit crimes
Millions more squabble and weaponize laws to steal the lives of others unsuspecting and innocent or evil
Millions fail at everything
And stress is overwhelming
If we wrote software like this country works random servers would turn off
Coding teams would give up
Make code that didn’t do anything
Redirect requests from one service to another service randomly
And turn off peoples comps
Not to mention set server rooms on fire
Why is it so hard to fix the basis of
Our society so we don’t have to view the same failed commercials with some hyper method yelling about “you want to learn to code !”
And all this other regard shit -
So one day I have an idea of making a HN client in the terminal using Go. When I try it, I got stuck at the scraping part (the very first part of this project). The scraping works, but it just have a problem: the first submission's data is duped (duplicated) with the last submission's data. And that problem is why I end this (potential) project. The more I tried to fix it, the more insane I got. Yet that shit is still there, never fixed. So I think "fuck this shit" and remove the username part and the points part of the data. Eventually I end the project.4
-
Not much riskiest though,
So on my office laptop I've duel boot Fedora as primary OS and windows another.
So for some reasons I needed extra space on windows so I had to un-allocate some space from /home as it had assigned too much disk(more than 100GB I think)
So I unmounted /home moved all the /home/myuser to /opt using sudo then did sudo rm -rf to /home/myuser and un-allocated some space
after I restarted laptop I get to know that I fucked up little xD
Took me while to fix that shit, I literally created one more user and fixed it as at the time of booting it was trying to get few configs from /home/myuser and even had permission issues. -
Do you think the "Fix one bug, two more shall take it's place" is a real thing? Have you ever experienced it?6
-
I fucking hate mobile and iPad ui and general ux. I hate that I get shit for not being able to fix people's problems on them quickly enough with or without googling. Apparently that's my fucking line of work, no I'm just a fucking code monkey, I don't know where whichever asshat hide the setting to Jimmy or abysmal fucking browser implementations in fucking mobile chrome that makes it unable for you to buy car parts but it fucking works fine on a desktop browser. I ront want to reset your fucking weak passwords because you never remember them.
I can't even change my fucking phones background, or figure out or I lack voicemail because my plan or the fucking optoknnisnt present (one plus 2) and don't care enough to put more time or google it.
Maybe I'm just fucking incompetent. I like being able just to right click shift on desktop, going to properties or running both commands.
I never will stop being an imposter until I can fucking fix anything like a legit engineer. -
Damn, I hate Spring and most CoC frameworks. We’re using it from 2 years, I read most of the docs and it still gives issue for basic taks which takes hours to fix because I have to guess the exact convention which allows the program to process corner cases which aren’t explained in the docs. Yes, in the end the code is more elegant but it’s worth it when issues which could be solved in minutes by a trivial if/else statement takes hours (rigorously on pair programming™️ since being one of the few which actually read the docs I end up with lots of calls for help for Spring related issues by other teammates) and huge headaches to fix following the framework’s way?2
-
Hi all! I want to share my site (https://tinytunes.app/ ) , which I completely created myself. Some information about how I created it:
1) I bought a domain that was freed from the previous owner (here https://mydrop.io/en/ )
2) Next, using the web archive, I restored the information of the main page - http://web.archive.org/web/...
3) website banner and logo created by myself using the service Canva
4) The theme for the site was used by Balanced Blog, but the main page of the site was created from scratch (without editing the template).
5) I added a few more pages to the site and a blog, which I am now actively filling
I would like to read the opinions of professionals: what was done wrong on the site, there may be some comments (some shortcomings, very noticeable) ...
From what I see myself: H1 headers - two instead of one (haven't figured out how to change that yet)
And the footer of the site - remove information about wordpress, add something like "2023 tinytunes.app All rights reserved. - I already figured out how to do this, I'll fix it soon)
I'm just starting to learn web programming, this site is only 3 months old. With knowledge of codes, everything is very weak for me - I study on my own from open free sources.15 -
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 -
How do you deal when you are overpromising and underdelivering due to really shitty unpredictable codebase? Im having 2-3 bad sprints in a row now.
For context: Im working on this point of sale app for the past 4 months and for the last 3 sprints I am strugglig with surprises and edgecases. I swear to god each time I want to implement something more complex, I have to create another 4-5 tickets just to fix the constraints or old bugs that prevent my feature implementation just so I could squeeze my feature in. That offsets my original given deadlines and its so fucking draining to explain myself to my teamlead about why feature has to be reverted why it was delayed again and so on.
So last time basically it went like this: Got assigned a feature, estimated 2 weeks to do it. I did the feature in time, got reviewed and approved by devs, got approved by QA and feature got merged to develop.
Then, during regression testing 3 blockers came up so I had to revert the feature from develop. Because QA took a very long time to test the feature and discover the blockers, now its like 3 days left until the end of the sprint. My teamlead instantly started shitting bricks, asked me to fix the blockers asap.
Now to deal with 3 blockers I had to reimplement the whole feature and create like 3 extra tickets to fix existing bugs. Feature refactor got moved to yet another sprint and 3 tickets turned into like 8 tickets. Most of them are done, I created them just to for papertrail purposes so that they would be aware of how complex this is.
It taking me already extra 2 weeks or so and I am almost done with it but Im going into really deep rabbithole here. I would ask for help but out of other 7 devs in the team only one is actually competent and helpful so I tried to avoid going to him and instead chose to do 16 hour days for 2 weeks in a row.
Guess what I cant sustain it anymore. I get it that its my fault maybe I should have asked for help sooner.
But its so fucking frustrating trying to do mental gymnastics over here while majority of my team is picking low hanging fruit tasks and sitting for 2 weeks on them but they manage to look good infront of everyone.
Meanwhile Im tryharding here and its no enough, I guess I still look incompetent infront of everyone because my 2 weeks task turned into 6 weeks and I was too stubborn to ask for help. Whats even worse now is that teamlead wants me to lead a new initiative what stresses me even more because I havent finished the current one yet. So basically Im tryharding so much and I will get even extra work on top. Fucking perfect.
My frustration comes from the point that I kinda overpromised and underdelivered. But the thing is, at this point its nearly impossible to predict how much a complex feature implementation might take. I can estimate that for example 2 weeks should be enough to implement a popup, but I cant forsee the weird edgecases that can be discovered only during development.
My frustration comes from devs just reviewing the code and not launching the app on their emulator to test it. Also what frustrates me is that we dont have enough QA resources so sometimes feature stands for extra 1-2 weeks just to be tested. So we run into a situation where long delays for testing causes late bug discovery that causes late refactors which causes late deliveries and for some reason I am the one who takes all the pressure and I have to puloff 16 hour workdays to get something done on time.
I am so fucking tired from last 2 sprints. Basically each day fucking explaining that I am still refactoring/fixing the blocker. I am so tired of feeling behind.
Now I know what you will say: always underpromise and overdeliver. But how? Explain to me how? Ok example. A feature thats add a new popup? Shouldnt take usually more than 2 weeks to do my part. What I cant promise is that devs will do a proper review, that QA wont take 2 extra weeks just to test the feature and I wont need another extra 2 weeks just to fix the blockers.
I see other scrum team devs picking low hanging fruit tasks and sitting for 2 weeks on them. Meanwhile Im doing mental gymnastics here and trying to implement something complex (which initially seemed like an easy task). For the last 2 weeks Im working until 4am.
Im fucking done. I need a break and I will start asking other devs for help. I dont care about saving my face anymore. I will start just spamming people if anything takes longer than a day to implement. Fuck it.
I am setting boundaries. 8 hours a day and In out. New blockers and 2 days left till end of the sprint? Sorry teamlead we will move fixes to another sprint.
It doesnt help that my teamlead is pressuring me and asking the same shit over and over. I dont want them to think that I am incompetent. I dont know how to deal with this shit. Im tired of explaining myself again and again. Should I just fucking pick low hanging fruit tasks but deliver them in a steady pace? Fucking hell.4