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 - "stuff breaks"
-
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
Mum: Tom time to do something get off your computer
Me: *continues staring at computer*
Mum: Tom?
Me: ...
Mum: TOM
Me: Whaaa? *moves head slightly up but still doesn't take eyes off computer"
Mum: Please get off your computer there's stuff you've gotta do
Me: *finally looking up* OK just let me fix this one thing I'm so close
Mum: fine, 5 mins
*5 mins later:
Mum: come on Tom time to get off
Me: uuuggghhhhhhhh I'm nearly done please
Mum: hurry up
Me: *tries to hurry and finish as to not upset her* please I'm so close
Mum: *furious glance*
Me: *furiouser typing noises and frantic clicking*
Me: *finishes, attempts to run the program*
Program: *runs just fine and problem I was trying to fix was working great*
...
...
*something else breaks*
Me: ok mum please just this one thing
Mum: OFF28 -
"Can you work on this ticket? It's kind of urgent."
-- "OK"
"And could you please not refactor? Just get this done."
-- "Why? What's the issue?"
"The logic is complex. We should not break it."
-- "Erm, that's what the tests are for. So yes, if the need arises, I'll refactor. The tests are my guidelines if the logic breaks or not."
There's a reason we create tests. So let's not hinder code base improvements by some random fear that stuff might break.
If breaks due to refactoring, we'll fix it by adding a valid test case during and then fixing the bug.
If my refactoring does not break the tests, I'll assume the code base is stable.
If your code is untested, then we have a complete different problem.3 -
There is a russian cartoon called Fixiks (“Фиксики”, tiny fixers) which is about tiny creatures that live inside tech and fix it when it breaks without the owner knowing. This is a fun, family-friendly cartoon rated 3+ filled with approachable explanations of how does common tech stuff around us work: TVs, washing machines, etc.
However, there is one weird, super grim episode about one such creature who forgot to leave a TV he was living inside that is being thrown away and ending up on the scrapyard.
Having no choice but to follow his purpose, he becomes obsessive trying to fix an endless amount of broken tech there, with new broken stuff being delivered to that scrapyard every moment. After a while, he completely loses his sanity.
That episode displays what seems like a weird mix of schizophrenia and OCD. Having a psychological trauma he fails to recognize the rescue team of his own kind, attacking them. He loses his ability to talk, resorting to random screams of aggression.
This episode doesn’t really feature even a single explanation of how something works. It just is there somehow among the episodes of a casual, happy cartoon for children.
Needless to say, this is my favorite episode.12 -
Most memorable coworker? Definitely one of our devs in the first company I worked at. He was around fifty, quirky as fuck but damn knowledgeable about pretty much everything. Think some kind of uncle Iroh who could build his own compiler.
I haven't learned as much from university as I learned from our talks during smoking breaks. He never judged anyone for not knowing something (even really basic stuff) and was actually happy if he could help. Now, a few years later I still find myself applying techniques for conceptualizing software he explained to me on the balcony and I have to say I wouldn't be half the dev I am today if I'd have never met him so I guess that counts as memorable.3 -
I hope I'll be able to release the new/refreshed version of the security/privacy blog today.
Feel free to test stuff out and report back when it breaks!
Also, feel free to pentest it. The only thing I ask is to, if you find any vulnerabilities, report them instead of passing them to malicious people/abusing them.
And yes, post sorting will be fixed ;)24 -
>writing app
>everything works
>commits to gitlab
>writes some extra stuff
>everything breaks
>why.jpeg
>head_desk.mp4
>"resetting to previous commit should work"
>doesn't work
>everything's broken on the previous commit
>tf
I'm still trying to process how this is even physically possible.10 -
Yes, senior developers get stuck just as much as junior developers do, the difference is that they get stuck in places that junior developers can’t even access. That is partially because senior developers are expected to do so much more than just simple coding, they need to also grasp and untangle client requirements, communicate clearly and thoughtfully with the team, be some sort of guiding/mentoring/leading figure, make sweeping architectural decisions, and so on and so forth.
A junior developer is struggling with making relevant columns of a table a nice shade of purple. A senior developer is struggling with making sure that implementing new client requirements will not have a destructive impact on the current infrastructure, there will be no regressions elsewhere in the system, tries to pinpoint what prior assumptions the new stuff breaks (it inevitably does), and how to reconcile everything.4 -
I'm starting to fucking hate the word 'done'.
Scenario 1:
Boss: How's the spec coming along?
Manager: Oh, it's done.
Manager to me: Hey can you get it done?
Me: Why would you call it done? There's a days worth of work and it's only half done. Boss wasn't even rushing it yet.
Manager: Too late I've already committed it. I'm sure it's simple anyway. Just do it.
Scenario 2:
Manager: Hey is it done?
Noob dev: Yea it's done.
*Commits half assed incomplete sphagetti shit that breaks stuff*
Manager: Well done. Completed so quickly.
FUCK THIS SHIT.2 -
Please. Hear me out.
I've been doing frontend for six years already. I've been a junior dev, then in was all up to the CTO. I've worked for very small companies. Also, for the very large ones. Then, for huge enterprises. And also for startups. I've been developing for IE5.5, just for fun. I've done all kinds of stuff — accessibility, responsive design (with or without breakpoints), web components, workers, PWA, I've used frameworks from Backbone to React. My favourite language is CSS, and you probably know it. The bottom line is, you name it — I did it.
And, I want to say that Safari is a very good browser.
It's very fast. Especially on M1 Macs. Yes, it lacks customization and flexibility of Firefox, but general people, not developers, like to use it. Also, Safari is very important — Apple is a huge opposing force to Google when it comes to web standards. When Google pushes their BS like banning ad blockers, Apple never moves an inch. If we lose Safari, you'll notice.
As for the Safari-specific bugs situation, well… To me, Safari serves as a very good indicator: if your website breaks in Safari, chances are you used some hacks that are no good. Safari is a good litmus test I use to find the parts of my code that could've been better.
The only Safari-specific BUG I encountered was a blurry black segment in linear gradients that go from opaque to transparent. So, instead of linear-gradient(#f00, transparent), just do linear-gradient(#f00f, #f000).
This is the ONLY bug I encountered. Every single time my website broke in Safari other than that, was for some ugly hack I used.
You don't have to love it. I don't even use it, my browser of choice is Firefox. But, I'm grateful to Safari, just because it exists. Why? Well, if Safari ceases to exist, Google will just leave both W3C and WhatWG, and declare they'll be doing things their way from now on. Obey or die.
Firefox alone is just not big enough. But, together with Safari, they oppose Google's tyranny in web standards game.
Google will declare the victory and will turn the web into an authoritarian dictatorship. No ad blockers will be allowed. You won't be able to block Google's trackers. Google already owns the internet, well, almost, and this will be their final, devastating victory.
But Safari is the atlas that keeps the web from destruction.22 -
I've been working exclusively from home for over 2 years now. I've been seeing several posts from people talking about adjusting to working from home, so I figured I would compile a list of tips I've learned over the years to help make the adjustment easier for some people.
1) Limit as many distractions as possible. WFH makes it much easier to get distracted. If you have roommates/family members at home, ask them politely to leave you alone while you're working. Make sure the TV is turned off, put your phone on silent, etc.
2) Take regular breaks. I find it easier to accidentally go hours without taking a real break from work. Try working in half hour intervals, and then taking 5-10 minute breaks. Read an article, watch a youtube video, grab some coffee/tea, etc.
3) When you eat lunch, eat it away from your computer. I often find myself eating lunch trying to wrap up fixing a bug, which makes it feel like I never really "took a lunch." Lately I've been trying to step away and do something else completely unrelated to work.
4) Get ready for work like you normally would. It's very easy to wake up, throw on your favorite pair of sweats and sit at the computer with messy hair half awake "ready" to start the day. Instead try doing your normal morning routine before sitting at your computer. It will help your mind and body go into "it's time to work" mode.
5) Keep your work area clean. I find it very difficult to work when my workspace is cluttered. Studies have shown working in a messy place tend to make us less efficient.
6) Keep your work area work related. Try to only have the things you need for work in your workspace. If you're working from your personal computer this can be difficult. I always end up with camera/music equipment left over from the previous night's photo editing/jam sessions. So try to clean off your desk when you're done for the night so it's ready for work in the morning.
7) Prepare for meetings. I have alarms set 10 minutes in advance so I can go from programming mode to meeting mode. During this time I'll go to the bathroom, grab a snack, water, mute all my email notifications, close any non essential programs, get my code ready if I need to present it.
Stuff is hard & stressful right now, but hopefully these tips will make it a bit easier. If anyone else has any good tips please share them.5 -
EXCEL YOU FUCKING PIECE OF SHIT! don't get me wrong, it's usefull and kt works, usually... Buckle up, your i for a ride. SO HERE WE FUCKING GO: TRANSLATED FORMULA NAMES? SUCKS BUT MANAGABLE. WHATS REALLY FUCKED UP IS HTHE GERMAN VERSION!
DID YOU HEAR ABOUT .csv? It stands for MOTHERFUCKING COMMA SEPERATED VALUES! GUESS WHAT SOME GENIUS AT MICROSOFT FIGURED? Hey guys let's use a FUCKING SEMICOLON INSTEAD OF A COMMA IN THE GERMAN VERSION! LET'S JUST FUCK EVERY ONE EXPORTING ANY DATA FROM ANY WEBSITE!
The workaround is to go to your computer settings, YOU CAN'T FUCKING ADJUST THIS IN EXCEL!, change the language of the OS to English, open the file and change it back to German. I mean, come on guys, what is this shit?
AND DON'T GET ME STARTED ON ENCODING! äöü and that stuff usually works, but in Switzerland we also use French stuff, that then usually breaks the encoding for Excel if the OS language is set to German (both on Windows and Mac, at least they are consistent...)
To whoever approved, implemented or tested it: FUCK YOU, YOU STUPID SHITFUCK, with love: me7 -
Give everyone a chance
If someone in your company/workgroup doesn't know something basic that you might take for granted, don't undermine them and mock them.
Everyone has to learn and it just breaks morale and motivation.
Be humble and think that you're not any kind of God and think that you wouldn't like the same thing happening to you.
People who mock others for not knowing stuff just piss the shit out of me.
Be humble guys4 -
Oh god, where to start? It is my job to fight against devs that likes to breaks RFC, do stuff stupidly or just do not actually know how stuff works7
-
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 -
I was asked to look into a site I haven't actively developed since about 3-4 years. It should be a simple side-gig.
I was told this site has been actively developed by the person who came after me, and this person had a few other people help out as well.
The most daunting task in my head was to go through their changes and see why stuff is broken (I was told functionality had been removed, things were changed for the worse, etc etc).
I ssh into the machine and it works. For SOME reason I still have access, which is a good thing since there's literally nobody to ask for access at the moment.
I cd into the project, do a git remote get-url origin to see if they've changed the repo location. Doesn't work. There is no origin. It's "upstream" now. Ok, no biggie. git remote get-url upstream. Repo is still there. Good.
Just to check, see if there's anything untracked with git status. Nothing. Good.
What was the last thing that was worked on? git log --all --decorate --oneline --graph. Wait... Something about the commit message seems familiar. git log. .... This is *my* last commit message. The hell?
I open the repo in the browser, login with some credentials my browser had saved (again, good because I have no clue about the password). Repo hasn't gotten a commit since mine. That can't be right.
Check branches. Oh....Like a dozen new branches. Lots of commits with text that is really not helpful at all. Looks like they were trying to set up a pipeline and testing it out over and over again.
A lot of other changes including the deletion of a database config and schema changes. 0 tests. Doesn't seem like these changes were ever in production.
...
At least I don't have to rack my head trying to understand someone else's code but.... I might just have to throw everything that was done into the garbage. I'm not gonna be the one to push all these changes I don't know about to prod and see what breaks and what doesn't break
.
I feel bad for whoever worked on the codebase after me, because all their changes are now just a waste of time and space that will never be used.3 -
Well, I was Always into Computers and Games and stuff and at some point, I started wondering: "why does Computer Go brrr when I Hit this Button?".
It was WinAPI C++ and I was amazed by the tons of work the programmers must have put into all this.
13 year old me was Like: "I can make a Game, cant be too hard."
It was hard.
Turns out I grabbed a Unity Version and tried Things, followed a tutorial and Made a funny jet Fighter Game (which I sadly lost).
Then an article got me into checking out Linux based systems and pentesting.
*Promptly Burns persistent Kali Live to USB Stick"
"Wow zhis koohl".
Had Lots of fun with Metasploit.
Years pass and I wrap my head around Javascript, Node, HTML and CSS, I tried making a Website, worked Out to some extent.
More years pass, we annoy our teacher so long until he opens up an arduino course at school.
He does.
We built weather stations with an ESP32 and C++ via Arduino Software, literally build 3 quadrocopter drones with remote Control and RGB lighting.
Then, Cherry on the top of everything, we win the drone flying Contest everyone gets some nice stuff.
A couple weeks later my class teacher requests me and two of my friends to come along on one of their annual teacher meetings where there are a bunch of teachers from other schools and where they discuss new technology and stuff.
We are allowed to present 3D printing, some of our past programming and some of the tech we've built.
Teachers were amazed, I had huge amounts of fun answering their questions and explaining stuff to them.
Finally done with Realschulabschluss (Middle-grade-graduation) and High school Starts.
It's great, we finally have actual CS lessons, we lesen Java now.
It's fuckton of fun and I ace all of it.
Probably the best grades I ever had in any class.
Then, in my free time, I started writing some simple programs, firstvI extended our crappy Greenfoot Marsrover Project and gave it procedural Landscape Generation (sort of), added a Power system, reactors, Iron and uranium or, refineries, all kinds of cool stuff.
After teaching myself more Java, I start making some actual projects such as "Ranchu's bag of useful and not so useful stuff", namely my OnyxLib library on my GitHub.
More time passes, more Projects are finished, I get addicted to coding, literally.
My days were literally Eat, Code, sleep, repeat.
After breaking that unhealthy cycle I fixed it with Long Breaks and Others activities in between.
In conclusion I Always wanted to know what goes on beneath the beautiful front end of the computer, found out, and it was the most amazing thing ever.
I always had constant fun while coding (except for when you don't have fun) and really enjoyed it at most times.
I Just really love it.
About a year back now I noticed that I was really quite good at what I was doing and I wanted to continue learning and using my programming.
That's when I knew that shit was made for me.
...fuck that's a long read.5 -
I love open source and all that fun stuff but I am very unimpressed by having to use GNU/Linux based OS after the last fuck up... the lack of games, stuff that actually works, the almost constant need to compile something and the need to have DDG open at all times because something broke. I mean why the fuck do I need to install libcurl3:i386(for 32 bit programs and games) if there is already libcurl4 and why the actual fuck does it conflict?!... Why the fuck do I need to glue together and compile drivers for my printer?! And they only have "beta support" so like half of the functions that the printer would normally have... Why the fuck don't any games work? Witcher 2? Nope, you click launch and the launcher just closes itself. osu!lazor? Nope, the game will run but only as a process in the background, no window will open no matter what I do. StarCraft: Brood War? Nope, Wine hates the battle.net client and running it in a VM is a really bad idea, the game flickers like crazy... Any other games? Pretty much out of luck... I would really like to play KCD but I doubt it would be playable...rant wine compile all the things glue together your own printer driver open source stuff breaks ubuntu os duckduckgo vm gnu/linux games24
-
I hate the feeling you get when you do a lengthy, drooling task that once finished got you nowhere.
My day was mostly productive for a Sunday, woke up late as all Sundays, spent the afternoon writing a proposal and exercising when I saw a notification for a homework for tonight at 12.
A research paper about Dijkstra's philosopher problem, 8 pages minimum. To be honest I've seen the problem a long time ago while studying C++ and I had the theory down and that is my issue, it becomes inherently boring and useless in my head. Is in this situations that my mind gets lazy.
I wrote the first 3 pages in half an hour but I was done, I started revising the proposal and fixed a calculation error, checked Rust's take on the philosophers issue and decided to save it for winter break along with learning Rust (although got some basics down), made rough budget approximations for the next 3 months, lost myself a little bit on deep house music (notable tracks tadow from masego, nevermind - Dennis Lloyd and gold - Chet faker), etc...all in all it took me 3 hours more to finish the assignment, including breaks and dinner.
I am working on a lot of stuff lately and my main project's sprint ends this Tuesday and it pisses me off, after all that I learnt nothing new, got nowhere with my project and will probably get 80 because Google docs has no margin setting. Worse than being lazy for fun is inevitably being lazy for being compelled to do low priority tasks by your head's standards.6 -
Parents had asked me to assemble some furniture, fix the pc and so some other "brain" work
Furniture
Me: *Stops to check something in the manual*
Parents: Are you stuck? Maybe try assembling the door upside down
Me: No, it is the right way
Parents: *Ramble, ramble*
Me: Just let me work, shut the hell up
PC
Me: *Checks cables, checks logs, ect*
Parents: Maybe it is the problem with (insert random tech word there)?
Me: No.
Parents: W h y?
Me: Let me finish, it isnt that, (tech word) isnt even correlated to that
Parents: But, but, you never talk to me... (ramble ramble)
Me: Get the hell outta the room
*Argumemt breaks out*
30min later
Me: *Finnaly manages to fix it after the heated argument*
Me: I finished, everything works
Parents: Great, but you are mean
Me: I managed to finish the work in 15 min, you dont even have enough strengh to call for a specialist, (but knowing me i wouldnt allow it anyway because a lot of them make a poor job), so in order to make it properly and to relieve you from learning how to fucking google i want you to stay out of this so i can just finish my job. Your interruptions waste time and i dont need your help at all. Everytime you tried to fix stuff you always managed to fuck shit up when you tried to do anything.
Parents: (ramble)
Me: SHUT THE FUCK UP, LEAVE MY ROOM
Parents:
Me:
Parents: *Leave the room*
1h later i get 25$ for the job perfectly done
Sometime i wish they were tech independent, so i can save my sanity and time but money is nice.
If anybody tries to argue that i should respect them:
I tried talking to them nicely countless times through years, but they always force themself to a project and they always fuck shit up because of it. I tried telling them about my problems and they tried helping me but after it didnt work they retured to the old: "it is the pc fault" and similar. Even if they couldnt help me i juat wanted them to understand my situation, but no that didnt happened.
First i fix my life then i will fix the relationship
But but greeeeeg, relationships should be cared for always!
Eat shit. There is time for family and there is time for me especialy when my life can suddenly colapse due to my problems.7 -
I'm getting really tired of those dumbass programmers that do not understand shit and then come to me when production breaks. (I am also a programmer, not really a DevOps engineer, but I'm the least worst at DevOps stuff, so it's my job...).
We're programming some kind of document management tool. Today we had a release, and one of the new features is to download all of your documents as a zip file, which is asynchronuously generated. When it's done, the user gets a mail with the download link to the zip file.
The feature works basically, but today it broke our production service, as somebody was running a test of it.
Turns out all the documents are loaded into memory to be zipped. So if you have 2 gigs of documents, a container with memory restrictions in that area will crash.
I asked the programmer who reported this «ops problem» to me, why he didn't just shit the files into a temp foler in order to zip them in there.
He told me that he wanted to do so, but did not know how to mock this for a unit test, and therefore went to the in-memory «solution», which was easier for him to mock.
For fuck's sake, unit tests and mocks are fucking tools, not ends in itself! I don't give a fuck about your pointless mocking code when the application crashes!
When I got to deal with such dumbasses, I'd prefer to mock those motherfuckers with a leaky bucket of liquid shit, which basically accomplishes the same task from my perspective: dripping shit all over the place and make everything suck as fuck.3 -
First time I was screaming out of anger while looking at code.
I'm doing a group project in my university.
We are developing a indoor navigation Android app.
And a team mate of mine just merged this…
/*Method for help-feature.
Sets all the TouchEvents that are at least 400 ms long. This is made for all the relevant buttons or editTexts, which are seen on the mapView.
The case for mapView is needed because otherwise the other buttons, etc. wont work properly.*/
public void setButtonsForHelpDialog(){
View v = mapView;
switch (v.getId()) {
case R.id.mapview:
mapView.setOnTouchListener(…);
case R.id.buttonUp:
buttonOn.setOnTouchListener(…);
case R.id.buttonDown:
buttonDown.setOnTouchListener(…);
…
case R.id.description:
description.setOnTouchListener(…);
}}
The code is really aligned like this - no breaks. And it's even worse. There are if statements like if("constantly false var" == true). Which is highlighted by Android Studio.
This is done in a own class. The views are set via public member variables of this new class. The constant vars were added in the actual class holding the buttons and also stuff like this useless method
public void getDoStuff() {
doStuff()
}
And I could continue like this.
I never saw code this bad…
I can't even find words for it :/4 -
Sorry, long since my last post...
I have quit my job recently at DERP & CO.. The level of anxiety was already somewhat of medical severity.
For months I had been in a project that not only did not progress, but that it was getting worst day by day.
A bit of Context
November: "Dev, junior anon needs you to help him on the SHIT project because they are running out of time, it is mainly doing unit tests."
Well, the code was a mess, there was a LOT of copy paste and it was all bad quality (we talk about methods with complexities between 80 and 120 according to SONAR QUBE).
Dev: "Anon, you know this is wrong, right?"
Anon: "Why? it works"
Dev: after long explanation.
Anon: "Oh well, yes, from now on I will take it into account." And he did it / try his best.
Dev does the unit tests and do extra work outside of the reach of the sprint (y than i mean work after hours, classic) and alerts the boss of the mess.
December: After a project of approximately 6 or 8 months of development, the boss discovers that the junior anon have been doing everything wrong and/or with poor quality (indicating that throughout the whole development the quality of the code was NEVER checked nor the functionality).
Boss: "This is a shit. Dev, you have to correct all the errors and warnings marked on sonar", which are around 1200 between smelling code, high risk errors, etc.
Dev fixes something like 900 bugs... lots of hours...
Boss: "This still is all wrong, we have to redo it. We will correct the errors leaving something stable and we will make a new repository with everything programmed as it should be, with quality and all"
- 900 corrections later, now are irrelevant -
Boss: "Dev, you will start to redo it, anon is out on other project. First you must leave the existing one working properly"
Dev: "ok ..."
January: How can I correct the mess if the client asks for more things. I am just fixing the mess, doing new functionalities, and when I have free time (outside the work) I try to advance the new repository, poorly I must say because burntout.
Boss: "Everything should be arranged at the end of January, so that you can redo everything well in February."
I can't handle everything, it starts to fall further behind. Junior Anon quits the job.
February: Big Bad Bugs in the code appear and practically monopolize the month (the code is very coupled with itself and touching in one place sometimes meant breaking other stuff).
Boss: "It can't be, you've been with this since January and you haven't even started correcting this mess in the new repo"
Dev: "It is that between the new things that are requested and the bugs I cannot put myself with that"
Boss: "Do not worry, you will be helped by random dev if you needed. SPOILER ALERT: random dev is allways bussy. Not made up bussy, He had a lot of work by itself, but it can't help me the way I need it.
High anxiety levels, using free time to try to reduce the work left and gradually losing the taste for develop.
March: So far, not only do they add new things day and day, but now they want to modify things that were already "ok", add new ones and refactor everything in a new repo. I just did not see an end of this nonsense.
Dev breaks, the doctor says it's anxiety, so I just know what I have to do.
Dev: "I quit my job"
Cool Manager: "Damn, why?"
Explain everithig
Cool Manager: "Do you want to try if I can change you to other project or anotjer scope on the same project?"
Dev: "Thanks, but no Thanks. I need to stop for a while".
End. sry for long sad post and maybe poor use of English (?) Not my native language.10 -
"Longest you worked without rest + why?"
46hrs
2 x 14h shifts from 0400h on.
No breaks, toilet, drinks or food.
Intercepted by a removal and all the getting ready, getting there, preparing food and such stuff.
Quite common the 10-14hrs shifts these days. Logistics companies take pride on how they don't give a remote fuck about their employees. .. And! Regularly fucking up everything with their out of this world expectations and assumptions. Only thing stopping such madness? The reality of sailing the edge of bankruptcy.
Seconded by a university event that everybody fucked up and had to be pulled out of the mud with 44hrs straight.
Well. Intercepted by some booze.
Best part? My then time partner decided to throw an episode in my only free time. God I still hate that daemon. She must have committed a series of crimes against humanity by now. Easily could be responsible for the downfall of civilisation.5 -
long time listener, first time caller. I love designers. seriously. I love getting a nice juicy Figma file and not knowing how the heck I'm going to do half the wild stuff in it, but it's beautiful, so I'll figure it out. Go ahead, send it to the client. But designers who learn how to use something like Elementor or one of those crappy kitchen-sink themes, call themselves developers, and win work with clients I share with them. I'm the one fixing everything when that crap breaks. I would never in a million years present myself as a designer, even though I know I know a damn sight more about design than they do about dev. I get it, everyone needs to make a buck, but every time this happens it makes me sick to my stomach. We're on the same team. I always, ALWAYS, go to the mat for good design. Why don't more designers have an equal amount of respect for us? Design phase always goes over deadlines and we always have to pick up the slack to make the hard launch date. Well, now I'm just rambling.2
-
doing things right seems to be a waste of time
especially considering how fast things change beneath you
for years I've said I should just stop overoptimizing but I've yet to fucking try it. I said this to myself 5 hours ago and what am I doing. I spent the last 5 hours trying to overoptimize for a theoretical scenario that I won't ever even be in, because I haven't even decided what I want to immediately do
how about immediately do something Jesus fuck
next Tuesday this system will have to be rewritten again anyway
how many fucking asset loading systems do I want under my belt
just load the fucking assets
maybe decide on which assets you'll be using first so then you don't overoptimize for "WELL MAYBE ILL LOAD THEM INDIVIDUALLY THEN PUT THEM IN A NICE IMAGE IN RAM FIRST BEFORE I SEND IT OFF TO THE GPU" omg just shut up. just because you can doesn't mean you should. doesn't help everyone using this thing keeps insisting you do it this way. but you don't fucking need to.
actually you know what, I blame them. they kept confusing me with yOu ShOulD do It ThiS WAY. next thing I know I'm walking through every possible conceivable way to do asset loading so I can decide how to load assets and then end up in architecturizing of the perfect system. I didn't want to be on this path. but they told me to be on this path. I blame them
take-away: if you can make it work at all, just use that unless it breaks something. fuck how or for "what" the dumb system is designed. people don't stick to their "designs" anyway -- it's idealism just like free stuff sounds great in theory, but in reality it just shits up everything because it's unrealistic3 -
Because I am very interested in cyber security and plan on doing my masters in it security I always try to stay up to date with the latest news and tools. However sometimes its a good idea to ask similar-minded people on how they approach these things, - and maybe I can learn a couple of things. So maybe people like @linuxxx have some advice :D Let's discuss :D
1) What's your goto OS? I currently use Antergos x64 and a Win10 Dualboot. Most likely you guys will recommend Linux, but if so what ditro, and why? I know that people like Snowden use QubesOS. What makes it much better then other distro? Would you use it for everyday tasks or is it overkill? What about Kali or Parrot-OS?
2) Your go-to privacy/security tools? Personally, I am always conencted to a VPN with openvpn (Killswitch on). In my browser (Firefox) I use UBlock and HttpsEverywhere. Used NoScript for a while but had more trouble then actual use with it (blocked too much). Search engine is DDG. All of my data is stored in VeraCrypt containers, so even if the system is compromised nobody is able to access any private data. Passwords are stored in KeePass. What other tools would you recommend?
3) What websites are you browsing for competent news reports in the it security scene? What websites can you recommend to find academic writeups/white papers about certain topics?
4) Google. Yeah a hate-love relationship, but its hard to completely avoid it. I do actually have a Google-Home device (dont kill me), which I use for calender entries, timers, alarms, reminders, and weather updates as well as IOT stuff such as turning my LED lights on and off. I wouldn"t mind switching to an open source solution which is equally good, however so far I couldnt find anything that would a good option. Suggestions?
5) What actions do you take to secure your phone and prevent things such as being tracked/spyed? Personally so far I havent really done much except for installing AdAway on my rooted device aswell as the same Firefox plugins I use on my desktop PC.
6) Are there ways to create mirror images of my entire linux system? Every now and then stuff breaks, that is tedious to fix and reinstalling the system takes a couple of hours. I remember from Windows that software such as Acronis or Paragon can create a full image of your system that you can backup and restore at any point to get a stable, healthy system back (without the need to install everything by hand).
7) Would you encrypt the boot partition of your system, even tho all data is already stored in encrypted containers?
8) Any other advice you can give :P ?12 -
I am scratching my head since 2 days cause a rather large Dockerfile doesn't work as expected.
CMD Execution just leads to "File not found".
Thanks, that's as useless as one ply toilet paper...
Whoever wrote the Dockerfile (not me…) should get an oscar...
Even in diarrhea after eating the good one day old extra hot china takeout from dubious sources I couldn't produce such a dumpster fire of bullshit.
The worst: The author thought layering helps - except it doesn't really, as it's a giant file with roughly 14 layers If I count correctly.
I just found out the problem...
The author thought it would be great to add the source files of the node project that should be built as a volume to docker... Which would work I guess....
Except that the author is a clueless chimp who thought at the same time seemingly that folder organization means to just pour everything into one folder....
Yeah. That fucker just shoved everything into one folder.
Yeeeeeesssssssss.
It looks like this:
source
docker-compose.mounts.yml
docker-compose.services.yml
docker-compose.yml
Dockerfile-development
Dockerfile-production
Dockerfile
several bash scripts
several TS / JS / config files
...
If you read the above.... Yes.
He went so far to copy the large Dockerfile 3 times to add development and production specific overrides.
I can only repeat what I said many times before: If you don't like doing stuff, ask for fucking help you moron.
-.-
*gooozfraba*
Anyways...
He directly mounts this source directory as a volume.
And then executes a shell script from this directory...
And before that shit was copied in the large gooozfraba Dockerfile into the volume.
Yeeeaaah.
We copy stuff inside the container, then we just mount on start the whole folder and overwrite the copied stuff.
*rolls eyes* which is completely obvious in this pit latrine of YML fuckery called Dockerfile.
As soon as I moved the start script outside the folder and don't have it running inside the folder that is mounted via volume, everything works.
Yeah.... Maybe one should seperate deployment from source files, runtime related stuff from build stuff.
*rolls eyes*
I really hate Docker sometimes. This is stuff that breaks easily for reasons, but you cannot see it unless you really grind your teeth and start manually tracing and debugging what the frigging fuck the maniac called author produced.1 -
FUCK.
NEXTJS.
...
THIS PIECE OF FUCKING SHIT WORKED 4 DAYS AGO.
I CHANGED ***NOTHING***.
4 DAYS LATER I START THE PROJECT AGAIN AND HALF THE STUFF BREAK. NOTHING FUCKING WORKS!!!!!!!
SOMETIMES IT WORKS SOMETIMES IT BREAKS
MESSAGES GET SENT SUCCESSFULLY 2-3 TIMES IN A ROW AND THEN Random 401 error
Random page glitch flickering when routing to new pages rendering the content blank
Random list map iteration crashes on ui dev side
This is such a fucking SHIT
Now i started my angular and spring boot exact same project that i stopped worjing on since october 2023 AND EVERYTHING WORKS FINE WITHOUT ANY RANDOM ERRORS
RANDOM ERRORS ONLY HAPPEN FOR NEXTJS FUCKSHIT FUCKING FRAMEWORK
FUCKIEST DOGSHIT GORILLACUM MAD FUCKIJNNGG RETARD FRAMEWORK FOR AUTISTICS I WASTED SO MUCH TIME LEARNING THIS PIECE OF FUCKING GARBAGE!!!!!!!!!28 -
Yeah so I quickly hacked stuff together. Why make it beautiful before I know whether it will actually do? Hack now, refactor later!
Yeah and then that moment in refactoring where main() gets under 700 lines and I don't know whether what I'm feeling is joy or despair. Gaaaahhhh!
At least I have also written automatic tests so that I can see when something breaks.3 -
My current boss.. and CTO.. both are great & really laid back, they don't fuss about smoke breaks and are both keeping me in line so that I don't do much overtime (I am a freak for fixing stuff that gets easily consumed by the code)..
-
Bloody effing hell...
> Senior leaves company payroll
> senior level stuff falls on my desk
> I've been working on a completely different product for almost a year, so I'm still kinda trying to get reacquainted with the product I'm a regular dev resource of
> feel completely lost
> try to implement the feature
> realize it requires a certain package
> package breaks the whole application, completely
> try to debug
> despair
It's this kind of days, when the imposter's kicks in. I feel like this should be a pretty simple feature to implement, and I'm just missing something that's right there before my eyes. I'm trying to remember this sat on the senior's desk for nigh a year, and I know he at least at some point actually tried implementing it, so me being not far above a junior shouldn't feel ashamed.3 -
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you.1 -
Is it OK to punch a game dev who codes stupid numeric bugs?
So my wife got into Stardew Valley, that admittedly awesome comfort game farming simulator.
She went pretty far in the game, and found some item that was supposed to highly increase the damage she could inflict onto cute little monster thingies.
It didn't work as intended.
Since equipping the piece of shit all her hits did 0 damage. She tossed the item away but the problem persisted. And on and on...
She took to the googles to try and find some explanation, and apparently that is a fairly common bug for mobile devs.
Then she called in the big guns (that is how I'm calling myself in this case, you will see why).
Apparently there is some buggy piece of shitcode somewhere in the game with a numerical insecure routine that overflows the attack modifier. I.e. if it was supposed to increase from 1.990 to 2.010, it actually went all the way down to -0.4.
She was lucky her attacks weren't increasing the monsters' HP.
We found a forum post where some dude said that he managed to edit the game save file and reset the negative-value attack increase modifier variable. Seems easy enough at first, but my wife uses iOS. Nothing is ever so straightforward with apple stuff.
We did get to the save file, she emailed it to me (the file has no extension and no line breaks in it, so we facepalm'd on a couple attempts at editing it directly).
I finally manage to get it into my personal 11-yo laptop... that won't open a single line file that big.
Cue the python terminal. Easy enough to read the file into a string var and search for the buggy XML tag. Edit the value and overwrite into a new file. Send it back to her by email. Figure out how to overwrite the file in iOS.
Some tense moments while the game reloads... and it works!!!! Got some serious hubby goodwill points here.
Srsly, this troubleshoot process is not for technophobes. It is out of reach to pretty much every non-techy user.
And now back to the original question: If I ever manage to find the kid who coded a game-breaking numerically unsafe routine and shipped it as if every test in the planet had waved it bye-bye, can I punch them? Or maybe buy them a beer, let's see how I get to cash that hubby goodwill tonight :)7 -
Rant C++
Why do some people like to use ALL the language features. lets use "auto" en "std::tuple" and "std::tie" to hook everything together.. I cannot put something In a list because I now have to use std::move. SURE! If for every line of code I need to lookup what things were again or fixing compile errors it breaks my flow. "std::bind" this and Template that. half of the stuff you don't actually need.. it just complicates things..
Not all are bad. Only Unnecessary sometimes.7 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
Working with Electron is a nightmare...
"Hey you have a working app? Nice, here is the new Electron version which breaks everything! Now find out how stuff works now, because we won't tell you! Good luck"7 -
The previous developer didn't write a freaking single test for a system that does a lot of calculations. Performance was shit so I got tasked with re-writing everything from DB queries to the actual calculation functions.
This has been the worst developer hell I've ever been. Without tests I cannot change anything without knowing if something breaks!!!
I gotta understand first the mess this guy left behind, then freaking write the tests that are missing and finally refactor the stuff. FML.
Btw, its Python and the guy didint even bother to do some basic type annotations so it's even worse. Function arguments are "data", "score", some are dicts, some are floats, some are lists.
Faaaaaaaaaaaaaack!!!!4 -
Why does everything installed via npm sux so hard?
Why the fuck does any minor update in their bullshit packages either forces you to change config files:
E.g. now should be "@babel/core" instead of "babel-core" - WHAT A FUCKING SIGNIFICANT CHANGE!!! Rewrite all you configs motherfucker, that goddamn "@" in front of our shit is SO IMPORTANT that we will break everything to add it
Or breaks the code internally:
Consider the recent fail of fucking Terser [https://github.com/gatsbyjs/gatsby/...] that breaks fucking webpack and FORCE YOU TO ROLLBACK TO ANY VERSION THAT WORKS, why you nerd retards, can not run a simple dummy project BEFORE YOU RELEASE YOUR SHIT???!?!!?
Why any fucking update from *.*.1 to *.*.2 turns into hours of googling of what the fuck got broken this time??
The way that webpack, babel and other npm packages are released nowadays is absolutely retarded. I really have a strong feeling that it is better to keep old error-proof working config and NEVER UPDATE, than constantly suffer from butthurt
p.s.
Of course I am sorry for all the hate and caps in my post, and have respect for guys that develop amazing stuff for us for free, but I need to share this5 -
Left what I like doing the most, i.e. Coding, R&D stuff and started studying German trying to travel and continue my studies there. Really frustrating to do a task you don't love continously without breaks lol. Anyway yesterday opened up my gaming rig. started steam. opened Path of exile to play after a really long time. 17 GIG UPDATE. quietly closes pc. starts crying in a corner.4
-
Music, but if it has words they need to be foreign. J-rock, deadmau5, gogo penguin, carrion... All are good.
Dark themes everywhere unless it's java, because it helps me compartmentalise my languages.
Second screen hooked up with the stuff I want to be viewable all the time, as it doesn't change when I switch workspaces. (bug or a feauture?)
Door shut to muffle sounds from the rest of the house, window slightly open so I don't suffocate.
Pomodoro timer on, but put phone into silent mode so no notifications disrupt my focus.
Drinks and bathroom breaks happen in the 5 minutes between pomodoro sprints. Food happens in the 15 minute breaks.
Extra RAM stick is in the mail so I lose less time waiting for android studio to exhale or whatever it's doing as it holds up the whole computer.
I might just do the java parts of my project in bluej if this ram stick doesn't alleviate my problems. I could go outside and drink mud through a metre long straw with a filter on the end sooner than android studio gets unstuck.
If anyone can add more sensible ideas I'd be happy :)1 -
code reviewed a "senior" developers code (guy has been at the companyny since noah and his clay computer tablets), he replied with my comments against it stating he has more experience than i have and that i shouldnt do anything except just sign off the stuff to production, stuff goes to production and breaks a massive financial cluster fuck of a mess, who gets the blame for releasing the code to production ? Junior me !!! gotta love it when management needs scapegoats of FIFO people.2
-
Soooo
I'm a fresh out-of-college CS grad (in his early twenties) working at a small scale startup and the people in my Engineering team are at least 10 years elder to me. (this is my first job out of school -- ignoring the internships and such)
I have a tough time making friends with them and an even tougher time making conversation which I think is hurting my communication skills in a harmful way.
Don't get me wrong.. because they are so highly experienced engineers, I get to learn a lot more a lot faster and I love that part but I just feel like I don't laugh or talk enough at my office (otherwise, people have to tell me to shut up).
I mean when everyone is not plugged in with headphones and cranking the keyboards, they talk about their wives, kids, and stuff that I have no relation to. Like I know a lot about childbirth and car seats but except being shocked etc., I often don't have much to add to the conversation.
Also, on top of this, after looking at the sorry condition of people throughout my undergrad and my internships, I had decided to not get into the habit of drinking coffee. So, when they go on coffee breaks etc. they don't ask me if I want to come along and the times that I kind of forced myself to come along turned out to be kind of awkward and not something I'd wanna experience again.
What do you recommend? Understand that I absolutely love my job and I love learning so much around such intelligent people but I don't have fun at work. Is this Dev life or am I missing something?
Do you have any recommendations or similar stories of how you overcame this problem?5 -
Fucking Visual Studio is such a piece of shit. 2 years ago we created a solution for our 7 webclients with 30 projects (clients, common stuff, tests, ...).
Things were ok, we could change something, save the file and everything was built and we just had to reload the client. Only F12 between the projects does not work.
But now the studio doesnt get shit done. Opening the clients solution after a clean checkout takes 5 minutes, saving doesnt build anymore, building breaks the project because it cant find references, rebuilding works but takes 3 minutes. When you have a syntactic error in a file the fucking thing almost crashes and becomes unresponse for a few seconds. It randomly shows errors in some files that disappear once you rebuilt it, sometimes it builds but still shows an error in that file.
But at least we will soon rewrite the clients in angular5 and dont need this piece of crap software anymore for the front end.
If I only could get my team to use another technology for the server so that I dont have to see this big pile of shit anymore. Fuck Visual Studio.2 -
When I was in School we had one Computer room where the PC's were the school used to 'teach stuff about pcs' (mostly office and some Maya). These where connected to another via the network and reset to a predefined state Everytime they were rebooted.
Since we were somehow able to get into the room during breaks between the lessons we obviously abused the room and played Minecraft in there but since the machines reset each reboot there was not much progress. Also there was no Java installed, so we needed to install that as well (that can take ages on old, school machines.).
Since the machines were connected via the school network I found out how to reboot or shutdown the other machines remotely. That was really funny for me and a friend who quickly found that Minecraft is too boring. We were just constantly rebooting the PC's the others were just launching Minecraft on and thus resetting the whole Java and Minecraft installation.
Got a lot of angry curses but nothing serious happened afterwards. Was the first I felt really badass on the computer tho.1 -
Anybody else sometimes do not like being a team lead?
I am the senior most person in my team (in fact took interviews of the rest of them). While I love the work and the team, I sometimes feel that I do not get to code that much. I am mostly assigning work, or helping others. Even if I get in the zone, there is always someone who needs some assistance or some meeting, which breaks the flow. Also the tension about non technical stuff like salary increments, giving feedback and assigning backups. I do love it mostly, but my ass is nearly always on fire. The team loves me though. I am still young, took this responsibility because the owner trusted me with this (he has no complaints). Thoughts ?2 -
Microsoft is always at it.
Hello, I recently discovered this eye candy of a looking website and how good the CSS looks (Kudos to whoever made this) , and I decided to post a rant of my own. And its about MS Edge and other applications.
So I built my own ATX tower a while back (Loving it) , and I found that it was WONDERFUL to have a computer that was brand new, that didnt have candy crush preinstalled on it when I got it.
Windows 10 users, do this:
Press WIN+I to open the settings menu.
Go to "Apps"
Scroll down the list....
How many applications do you see there that are actually useful , or that you have downloaded?
I never downloaded a Realtek Driver... and I never need it for anything to work. This is the case for 90% of the things you may see in the applications.
Why is HULU installed?
Why is NETFLIX installed?
Why is MINECRAFT BETA INSTALLED? THE BETA HASNT BEEN OUT IN YEARS?
But I digress, this is the case when I work on a computer such as my grandmothers who, bless her soul, isnt very adept at basic file management. Heck , she uses free Norton Antivirus against my recommendation to use the PAID active firewall application on her computer (VIPRE)
So needless to say she needs help. All the time.
So here comes microsoft recently, reinstalling like 15 different programs on her computer , including MS edge. Who else is tired of bloating? I know I am.
I recently found this program on Git!
Its the Sycnex Windows 10 DeBloater
But guess what? DONT USE IT.
Wanna know why?
Because if you do, it works, and if it works, it disables:
- Cortana (basic search engine for your OS, good luck finding candy crush).
- Microsoft Store (That means no XBOX games pass either)
- It breaks part of the file explorer
Wanna know why? BeCaUsE it geTs riD oF Ms EdGe
And believe it or not, apparently MS edges source code is Mandatory for certain functions on your computer. So even If you try to uninstall the browser, it stays behind in some form.
So there you have it. They hard coded it into windows.
Enjoy!
So its not even the author of the GITHUB programs fault, its just a real techincal limitation of the platform.
I hate that stuff man. I really do. There should be 20 things installed on my computer and thats it. Everything else is just, space for games on a solid state. Or Eclipse Photon, etc.
I would post links to show you guys a few things but. Unfortunately I cant post URLs yet!
However, thats my first rant. Hope you liked it.20 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.1 -
I submit all my code changes to the integration stream. Co worker integrates my code removes all my changes that breaks his hacky crap. Then complains his stuff doesn't work. I ask him why he he did not conform to the requirments says cause this is what worked before. I look at code see he assigns a value in the message to zero. I ask ever so politely why he is changing the incomming messages. He says this is what works. I Then send an email to him telling him this in an error. He reply saying this it what works. At stand up he complains and says no messages are getting through it doesn't work. The team tells him to revert to the original code. (My code) and update his code after two days of emails to bosses and complaining he reports it works with my code after he is done. He is the senior senior chief grand Pooba and makes more money than me.
-
Okay so Im just stuck. Ive not programmed in a few weeks I wanna say, and when I do I go on the binge and then I "take breaks" to relieve the stress because I want to just relax but I dont force programming out of my life I also think about better ways to do stuff but I feel like shit because I want to just enjoy and relax with some games but I enjoy and LOVE programming but I just dont know what to do. because I want to enjoy some of the games I got for christmas but I want to keep improving and I feel if I go a day without it just that much shittier for not. and I cant see how much Ive improved. I just cant relax and feel good about it.
-
It's been a while since i stopped programming.....
It's been so busy with all the school work/assignments/ and the most important part is that school ends at 10pm, arrive home at 11pm, prepare for tomorrow school stuff, sleep at 2am, wake up at 7am next morning, and again ends at 10pm 5 days a week...
It is exhausting, but I am getting used to this routine.
Studying my own programming skills or working on a side project? Not sure when to do it... The only way to continue studying is at breaks at school, or sleep less and study....
But it is impossible....
I have some great projects that are waiting to go out to the world, to list a few:
- cloud gaming
- cloud storage with live streaming
- complete school schedule management
- home automation framework in dotnet
- deepfakes and ai image generation algorithm (~18 months of training till now)
- game cheat engine (20GB total omfg ^^)
- and more
and I don't have time to finish it. lol
I think it will see the bright world after 3 years of high school... By then, my projects will be ancient, probably....
TIme is really short.
24 hours equally, but feels like 8 hours a day....
Should I abandon the project rn and focus on studying? (probably should)
or should i sell the project or open source it?
Also, how do you manage your time between work(study) and side projects (especially big ones)?4 -
My favourite bug fix was actually IT based and it was the first time my Eastern European, critical of my skills, family not only praised me but claimed that I was smarter than them.
My grandfather had changed from a telecom to a VOIP device for his landline. For some reason after installation, he could hear the other person on the line but they couldn't hear him. Me and my mother were away during this time so they called in the other family IT guy. This guy is no joke, he's one of the top in his company and makes a sweet six figures and lives in a mansion.
So he started looking things up, googling forum, etc. Couldn't find anything. Started calling the tech support and tried to deduce what it was and their tech support had never heard of such a problem. He takes his lunch breaks to help out my gramps. Keeps escalating, escalating and nothing. His conclusion is that they need to send him a new VoIP stick and they're not giving it to him. At this point, he's so frustrated that he screams at my grandfather to go back to paying 60 bucks a month for landline and to stop bothering him.
At this time me and my mother return and they have concluded that they need a new stick. My mom is great at intimidating people into free stuff so she and I go over to do so. At this point everyone is convinced of the problem and even I don't think I could fix it. But I decide to check if that's the case because I don't want my gramps to get a new stick and it still doesn't work.
I go through the typical forum hunting and there's Nada on the problem. I look at the stick and all the lights seem to be working, no error lights. And I wonder maybe the problem is not the stick, because usually you can't do anything at all if the hardware is broken. So I start thinking, maybe my gramps accidentally muted his handset while talking or something dumb like that. That wasn't it.
Then I decided to see if the problem was recreated on the other handsets. I tried one out and my mom could hear me but I couldn't hear her. What?! That's different! It was the opposite with the other phone. I conclude that it's working and there's something up with the handsets. So I go and do a reset on all of the handsets to make sure.
Lo and behold, the problem is fixed. It took me 25 minutes to solve. That guy gave up after a week of trying. My mom who assumed my IT skills were on par with other kids and nothing special had finally seen me up against an opponent, and not any opponent, a six figure high ranking IT specialist. And I didn't even use any secret, complex software knowledge that wasn't accessible to her or any other normal user.
That's when she finally said that I was smarter than her, that I just used my common sense. She would've needed some kind of prompting, hint or direction to solve the issue but I did it without any.
It was a very satisfying bug to fix. -
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks... -
Good times: Migrating a Jenkins build pipeline patched together out of groovy, python, bash, awk, perl scripts and God knows what else since I have only scratched the surface so far, from Maven to Gradle while not breaking day-to-day builds, integrations and deployments of features, hotfixes and releases. I'm actually enjoying the challenge but it's taking forever due to several issues:
- Jenkins breaks/hangs randomly because it's Jenkins
- Gradle can't handle sets of version ranges but Maven can
- Maven can't handle Gradle style version ranges
- Gradle doesn't have a concept of parent poms, you need to write a plugin and apply stuff programmatically. But plug-ins being part of the buildscript{} don't fall under depency management rules :clap:
- Meme incompatibility issues of BSD vs GNU versions of CLI tools like sed, grep etc1 -
Hello devrant, so I've been wondering if anyone here breaks things (infosec)? Is there anyone who dabble with building stuff(dev/ops) and breaking them? Need advise whether I should be looking at a devops-y role or a infosec related role in the future. (PS I was in infosec and slowly transitioning into ops/devops not sure yet). Please share your experiences. :)8
-
I feel like such an idiot every time I use windows just slightly beyond clicking buttons. I'm trying to write a very simple macro to simply send an email out when I receive an email with a particular header. and no, outlook doesnt support that with rules. so now I have to use this garbage IDE, writing a script in a 25 year old language, with every bell and whistle button you could possibly think of and no way of figuring out how to do anything without being balls deep in a decade old forum post. I hate microsoft more and more every time I use it. I thought maybe if I got good and started "dev"ing with it more, I'd hate it less, but no... its always some super clunky application with shit tons of buttons and you dont know what they do, and when the app breaks, it gives you some hex number and nothing else, and sends all the good stuff to microsoft so they can fix it in the next "big update" thatll fuck up youre entire days worth of work and kill an hour of your precious time. Ugh.1
-
So today I thought I’ll try svelte. It was an horrible experience if I compare it to stencil.
I have to install four extensions just to make the file format working properly.
Half of the intellisense is wrong or just slow.
The formatter is not integrated as an vs-code formatter, therefor it can’t format on save automatically.
The source maps do indeed work, but is quite wonky at times. Typescript source code is shown as-is with types, which breaks chrome’s syntax highlighter.
Personally, I dislike template languages simply because I always have to look at the docs for the correct usage, just let me use the stuff I know from JavaScript!
I could also rant about a few small things like the on:something syntax, but eh, that’s it for now. I don’t think I’ll understand why so many like it.3 -
< 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 -
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 -
So I have an assignment due in an hour, we need to make a basic game that implements multiplayer using WCF
I have wpf clients that connect to a service, they connect fine but for whatever reason my callback isn't firing to update the gui... the thing is though, it was firing earlier (mind you when it fired off I ended up getting null references)
I fixed the null references (turns out I wasn't serializing stuff that needed serializing) but now my updategui method just doesn't fire, period. zero exceptions are being thrown, zero errors are being given...
At this point I might just rewrite the whole thing until it breaks so I can figure out what broke it... Like trying to debug something with zero errors/exceptions being thrown is hard... -
Not really a Rant but:
My Productivity Method:
1. Nootropics (Nootrobox Daily, Sprint for 6+ hour work/focus periods)
2. Ketogenic Diet (Ridiculous Energy, Amazing Food Choices, No Crashing, No Cheating!)
3. Moderate Exercise
4. Get Lit (Partying) once a month at least, hard liquors.
5. Nicotine (Vaping 6mg) while coding.
6. Caffeine (Bulletproof Coffee)
7. League of Legends breaks.
8. Weekly Cigar Social with other professionals.
Balance Vice with Virtue is a great combination for getting stuff done.
What keeps you going?2 -
It really depends on what time of the year it is. During the fall and spring semesters, my dev life and social life are about as balanced as they're going to get. From working on things in the CS class to socializing with the people I've met in those classes, this part of the year is pretty balanced in my opinion. During breaks and the summer, however, I don't really have a dev life. I don't have a dev job, so really the only times I do have a dev life is when I willingly decide to work on a side project, or have to update some major stuff on one of my three personal websites. Other than that, the only life I have during those breaks is my social life with the buddies I play PC games with on Discord.
I will say this, though. The day will come when I will be having to balance a dev life and a social life year-round. To be honest, I'm not really looking forward to that day. -
I can work productively and for very long hours with a lot of stuff which many dev considers productivity hurdles:
- single small monitor? No problem (in fact in one occasion in which my roommate accidentally broke my laptop charghing port and I couldn't get a spare I worked on an iPad connected trough SSH to a Linux machine completing one of the hardest tasks I ever did without significant loss of productivity)
- old machine? That's ok as long as I can run a minimal Linux and not struggle with Windows
- noise and chatter around me? A 10€ pair of earbuds are enough for me, no noise cancelling needed
- "legacy" stack/programming language? I'd rather spend my days coding in Swift or Rust but in the end I believe which is the dev and its skill which gets the job done not fancy language features so Java 8 will be fine
- no JetBrains or other fancy IDE? Altough some refactoring and code generation stuff is amazing Neovim or VS Code, maybe with the help of some UNIX CLI tools here and there are more than enough
despite this I found out there is a single thing which is like kryptonite for my productivity bringing it from above average* to dangerously low and it's the lack of a quick feedback loop.
For programming tasks that's not a problem because it doesn't matter the language there's always a compiler/interpreter I can use to quickly check what I did and this helps to get quickly in a good work flow but since I went to work with a customer which wants everything deployed on a lazily put together "private cloud" which needs configurations in non-standard and badly documented file formats, has a lot of stuff which instead of being automated gets done trough slowly processed tickets, sometimes things breaks and may take MONTHS to see them fixed... my productivity took a big hit since while I'm still quick at the dev stuff (if I'm able to put together a decent local environment and I don't depend on the cloud of nightmares, something which isn't always warranted) my productivity plummets when I have to integrate what I did or what someone else did in this "cloud" since lacking decent documentation everything has do be done trough a lot of manual tasks and most importantly slow iterations of trial and error. When I have to do that kind stuff (sadly quite often) my brain feels like stuck on "1st gear": I get slow, quickly tired and often I procrastinate a lot even if I force myself out of non work related internet stuff.
*I don't want this to sound braggy but being a passionate developer which breathes computers since childhood and dedicating part of my freetime on continuously improving my skill I have an edge over who do this without much passion or even reluctantly and I say this without wanting to be an èlitist gatekeeper, everyone has to work and tot everybody as the privilege of being passionate in a skill which nowadays has so much market2