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 - "never clean"
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Finally did it. Quit my job.
The full story:
Just came back from vacation to find out that pretty much all the work I put at place has been either destroyed by "temporary fixes" or wiped clean in favour of buggy older versions. The reason, and this is a direct quote "Ari left the code riddled with bugs prior to leaving".
Oh no. Oh no I did not you fucker.
Some background:
My boss wrote a piece of major software with another coder (over the course of month and a balf). This software was very fragile as its intention was to demo specific features we want to adopt for a version 2 of it.
I was then handed over this software (which was vanilajs with angular) and was told to "clean it up" introduce a typing system, introduce a build system, add webpack for better module and dependency management, learn cordova (because its essential and I had no idea of how it works). As well as fix the billion of issues with data storage in the software. Add a webgui and setup multiple databses for data exports from the app. Ensure that transmission of the data is clean and valid.
What else. This software had ZERO documentation. And I had to sit my boss for a solid 3hrs plus some occasional questions as I was developing to get a clear idea of whats going on.
Took a bit over 3 weeks. But I had the damn thing ported over. Cleaned up. And partially documented.
During this period, I was suppose to work with another 2 other coders "my team". But they were always pulled into other things by my Boss.
During this period, I kept asking for code reviews (as I was handling a very large code base on my own).
During this period, I was asking for help from my boss to make sure that the visual aspect of the software meets the requirements (there are LOTS of windows, screens, panels etc, which I just could not possibly get to checking on my own).
At the end of this period. I went on vacation (booked by my brothers for my bday <3 ).
I come back. My work is null. The Boss only looked at it on the friday night leading up to my return. And decided to go back to v1 and fix whatever he didnt like there.
So this guy calls me. Calls me on a friggin SUNDAY. I like just got off the plane. Was heading to dinner with my family.
He and another coder have basically nuked my work. And in an extremely hacky way tied some things together to sort of work. Moreever, the webguis that I setup for the database viewing. They were EDITED ON THE PRODUCTION SERVER without git tracking!!
So monday. I get bombarded with over 20 emails. Claiming that I left things in an usuable state with no documentation. As well as I get yelled at by my boss for introducing "unnecessary complicated shit".
For fuck sakes. I was the one to bring the word documentation into the vocabulary of this company. There are literally ZERO documentated projects here. While all of mine are at least partially documented (due to lack of time).
For fuck sakes, during my time here I have been basically begging to pull the coder who made the admin views for our software and clean up some of the views so that no one will ever have to touch any database directly.
To say this story is the only reason I am done is so not true.
I dedicated over a year to this company. During this time I saw aspects of this behaviour attacking other coders as well as me. But never to this level.
I am so friggin happy that I quit. Never gonna look back.14 -
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
The way 90% of the population wears their face masks really explains a lot about their approach to using software, apps & websites as well.
I feel like giving up.
I am not a developer for the salary, or just to solve analytical puzzles. Those are motivators, but my main drive is to make the world more comfortable and enjoyable, better optimized, build ethical services which bring happiness into people's lives. I want to improve society, even if it's just a tiny bit.
But if users invest absolutely zero percent of their limited brain capacity into understanding a product that already has a super-clean design and responds with helpful validation messages...
...why the fuck bother.
I used to think of the gap between technology and tech-incompetent people as an optimization problem.
As something which could be fixed by spending a fortune on UX research. Write tests, hire QA employees, decrease tech debt, create a bold but unified & simple design.
But the technologically incompetent just get more entitled with every small thing you simplify.
It's never fucking fool-proof enough.
Why can't I upload a 220MB PDF as profile picture? Why doesn't the app install on my 9 year old Android Froyo phone? Why can't I sign up if my phone number contains a  U+FFFC? Why does this page load so slowly from my rural concrete bunker in East Ukraine? WHY DO I HAVE PNEUMONIA, HOW DID I GET INFECTED EVEN THOUGH I WAS WEARING A MOUTH MASK ON MY FOREHEAD?
This is why I ran away from Frontend, to Backend, to DBA.
If I could remove myself further from the end user, I would.
At least I still have a full glass of tawny port and a huge database which needs to be normalized & migrated.
Fuck humans, I'm going to hug a server.25 -
Confessions of a Programmer
#1
If a client is an unbearable asshole during the initial communication, I look for every excuse to pad on the hours for the estimate to get paid more. If a client goes above and beyond in their douchbaggery, I tack on an additional $40/hour.
#2
Sometimes I will present an elaborate solution to a client, but really I'm just reading off the features of a plugin or library I'm going to download or buy after the call. Not because I can't build it myself, but because I'd rather spend more time on other/my own projects.
#3
Clients assume because I know one language, I know them all. Rather than turning down the work, I take a crash course to work in that language, or outsource the work and clean it up afterwards, whichever is more practical at the time.
#4
I use cPanel on a dedicated to manage our client websites. I'm not paid enough to bother with setting up everything manually.
#5
Certain projects I build have a 3-day backdoor built into it. If the client doesn't pay upon completion, a unique hash triggered as a GET variable deletes a core file in my work, rendering the work useless. If it wasn't triggered by the 4th day, the file allowing me to trigger this backdoor is removed. This is only used for clients where the project must be launched on their servers, or if there has been a previous issue collecting payment.
#6
I slip in the initial contract that all preceeding phone calls will be monitored and recorded, and that they acknowledge the recordings are admissable in court. This has saved me from losing money twice now.
#7
I have never used an IDE. (I know, I know, it's really inefficient and dumb, but I'm just more comfortable with Sublime. Plus I often find myself mobile and without my computer, so I have to program from my phone.)
#8
Each day resembles a betting spectacle of which work will be late, which will be rushed out and which will never see the light of day.
#9
I have used "sick" and "family emergency" as an excuse to just sleep in far more than I can count.
#10
When a client from hell crosses over the line in their conduct (such as getting very nasty and personal, or sending threats), I anonymously report them to the BBB and on RipOffReport.21 -
Tldr :
Office Building : 1
Population: 5000
Number of PC users: 5000
No of Spare mice: 0
Day 1:
Training period commences.
My mouse laser sensor doesn't work.
Solution: Use this mouse to log in to your system.
Open the company portal.
Connect to vpn.
Enter username password.
Create a ticket for mouse replacement.
Done.
Day 3
I bring my own mouse.
Confiscated at security.
Becomes a security violation.
Day 9
I get a call from helpdesk.
Agent- what is the problem?
Me- my mouse is not working.
Agent- why?
Me- what do you mean? Something is wrong with the sensor.
Agent- clean the sensor.
Disconnects call.
Marks ticket as resolved.
Me- WTF just happened!
Naturally, I escalate the issue.
Day 15
Level 2 Agent- what happened? Why have you escalated the issue?
Me- I need a mouse, waiting since 2 weeks.
Him- No mouse is available
Me- you don't have a single spare mouse available in an office with 5000 PC users?
Him- no they're out of stock.
Me- when will it be back in stock?
Him- we will 'soon' launch a tender for quotations from sellers.
Me- time?
Him- 1 week.
Day 34
I email the head of supplies for the city office. Next day I get a used super small mouse, which doesn't have a left button. Anyways, I've given up hope now.
Day 45
I become a master at keyboard shortcuts.
Finish my training.
Get transferred to another city.
No mouse till date.
Surprisingly, this was one of the top recruiters in my country. Never knew, MNCs can be so so inefficient for such simple tasks.
Start-ups are way better in this regard. Latest tech, small community, minimal bureaucracy and a lot of respect and things to learn.15 -
LONG RANT AHEAD!
In my workplace (dev company) I am the only dev using Linux on my workstation. I joined project XX, a senior dev onboarded me. Downloaded the code, built the source, launched the app,.. BAM - an exception in catalina.out. ORM framework failed to map something.
mvn clean && mvn install
same thing happens again. I address this incident to sr dev and response is "well.... it works on my machine and has worked for all other devs. It must be your environment issue. Prolly linux is to blame?" So I spend another hour trying to dig up the bug. Narrowed it down to a single datamodel with ORM mapping annotation looking somewhat off. Fixed it.
mvn clean && mvn install
the app now works perfectly. Apparently this bug has been in the codebase for years and Windows used to mask it somehow w/o throwing an exception. God knows what undefined behaviour was happening in the background...
Months fly by and I'm invited to join another project. Sounds really cool! I get accesses, checkout the code, build it (after crossing the hell of VPNs on Linux). Run component 1/4 -- all goocy. run component 2,3/4 -- looks perfect. Run component 4/4 -- BAM: LinkageError. Turns out there is something wrong with OSGi dependencies as ClassLoader attempts to load the same class twice, from 2 different sources. Coworkers with Windows and MACs have never seen this kind of exception and lead dev replies with "I think you should use a normal environment for work rather than playing with your Linux". Wtf... It's java. Every env is "normal env" for JVM! I do some digging. One day passes by.. second one.. third.. the weekend.. The next Friday comes and I still haven't succeeded to launch component #4. Eventually I give up (since I cannot charge a client for a week I spent trying to set up my env) and walk away from that project. Ever since this LinkageError was always in my mind, for some reason I could not let it go. It was driving me CRAZY! So half a year passes by and one of the project devs gets a new MB pro. 2 days later I get a PM: "umm.. were you the one who used to get LinkageError while starting component #4 up?". You guys have NO IDEA how happy his message made me. I mean... I was frickin HIGH: all smiling, singing, even dancing behind my desk!! Apparently the guy had the same problem I did. Except he was familiar with the project quite well. It took 3 more days for him to figure out what was wrong and fix it. And it indeed was an error in the project -- not my "abnormal Linux env"! And again for some hell knows what reason Windows was masking a mistake in the codebase and not popping an error where it must have popped. Linux on the other hand found the error and crashed the app immediatelly so the product would not be shipped with God knows what bugs...
I do not mean to bring up a flame war or smth, but It's obvious I've kind of saved 2 projects from "undefined magical behaviour" by just using Linux. I guess what I really wanted to say is that no matter how good dev you are, whether you are a sr, lead or chief dev, if your coworker (let it be another sr or a jr dev) says he gets an error and YOU cannot figure out what the heck is wrong, you should not blame the dev or an environment w/o knowing it for a fact. If something is not working - figure out the WHATs and WHYs first. Analyze, compare data to other envs,... Not only you will help a new guy to join your team but also you'll learn something new. And in some cases something crucial, e.g. a serious messup in the codebase.11 -
Dad calls:
D: Hai, so, um, my pc's not booting up.
Me: So?
D: What do I do now?
M: You tried fixin' it?
D: That's why I'm calling you.
M: I'm 400km away from you. Does it do anything by pressing a power-on button?
D: No. But I touched it, it's really hot.
M: When was the last time you cleaned that shit up?
D: I have to clean it?
*PC is located at dusty environment at work. 5 years old and is being turned on 6 days a week*
Clean. Your. Pc.
Oh, and yeah, it overheated, burned the mbo, power suply, and cpu cooler stopped spinning.
It's like Satan threw a curse on a pc, and took a piss on it.
The best part? He's mad because I "never help him nor have time when he needs something to be fixed".
He can fix the PC in a pc shop that is across the street.
So, you doin' any better this week?6 -
To be a good developer, you must thrive in chaos, and have an insatiable desire to turn it into order.
All user input, both work tasks and actual application input, is pure fucking chaos.
The only way to turn that input into anything usable, is to interpret, structure and categorize it, to describe the rules for transformation as adequately as you can.
Sometimes companies create semi-helpful roles to assist you with this process. Often, these people are so unaware of the delicacy of the existing chaos, that any decision they make just ripples out in waves leaving nearly irreparable confusion and destruction in its path.
So applications themselves also slowly wear down into chaos under pressure of chaotic steak-holders which never seem to be able to choose between peppercorn or bernaise sauce for their steaks.
Features are added, data is migrated between formats, rules become unclear. Is ketchup even fucking valid, as a steak sauce?
The only way to preserve an application long term, is refactoring chaos into order.
But... the ocean of chaos will never end.
You must learn to swim in it.
All you can hope to do is create little pools of clarity where new creative ideas can freely spawn.
Ideas which will no doubt end up polluting their own environment, but that's a problem for tomorrow.
So you must learn to deal with the infinite stream of perplexed reactions from those who can't attach screenshots to issue reports.
You must deflect dragging conversations from those who never quite manage to translate gut feeling into rational sentences.
You must learn to deal with the fact that in reality there are no true microservice backends. There are no clean React frontends. There are no normalized databases. Full test coverage, well-executed retrospectives, finished sprints -- they are all as real as spherical cows in a vacuum.
There is no such thing as clean code.
There is only "relatively cleaner code", and even then there are arguments as to why it would be "subjectively relatively cleaner code".
Every repository, every product, every team and every company is an amalgamation of half-implemented ideals, well-intended tug of war games, and brilliantly shattered dreams.
You will encounter fragmented shards of perfect APIs, miles of tangled barbed documentation, beheaded validator classes, bloody mangled corpses of analytical dashboards, crumbled concrete databases.
You must be able to breathe in those thick toxic clouds of rotting technical and procedural debt, look at your reflection in the locker room mirror while you struggle yourself into a hazmat suit, and think:
"Fuck yes, I was born for this job".24 -
!rant
I built a decently large project at work, and everything works perfectly. It's beautiful, it's fast, it's light, it's organized and clean, and deploying is a breeze. I'm very proud of it.
The biggest reason, though, is that it uses exclusively technology I had never touched before:
• React
• Redux
• ES6/Babel
• Webpack
• Express.js
• Material Design
• Apple lappy (I'm a linux girl)
I was completely new to all of these, including my dev machine. Every single aspect of the project was outside my skillet.
But it went from my first experimental `import React from 'react'` to production-ready in three weeks. I'm really proud 😊14 -
I have a telephone headset with a "confusing" mute button. Sometimes it works normally, but quite often it will "double-toggle" (toggle twice as though I pressed it twice, which essentially has no effect) - so I'm either left muted or left un-muted, the same as before I pressed the button at all - so I have to press it again, sometimes several times, for it to actuary work.
While I'm at my desk, I have a visual indicator of mute status (a light that turns green for un-muted or red for muted), so I can easily tell if my mic is hot or not. My old headset had a nice audible beep reminder if I was muted, but the new headset? Nope, not-so-much.
I work from home, while my wife works at an office; so each morning she leaves, but I stay in the home office. I almost always see her off one way or another, usually doing or saying something funny as she heads out.
So, one day, I'm on a large conference call with a number of cross-team managers, and my wife is about to head out the door. With the meeting droning on in my headset, I was in the kitchen with her for a while helping finish clean up after breakfast and getting her ready to go.
She needed to pack an ice-pack for some reason, and for the random humor of it, I start screaming something to the effect of "GIMMIE YO ICE PACKS - GIMMIE ALLLL YO ICE PACKS - YEAH! YEAH! IMMA PUT MY BAAAAAAAAALLLLLS ON IT - WHOOOOOOOOO!"
During which time I am jumping around like a crazy person, including actually grabbing one of the ice packs, putting it down the front of my pants and screaming. Loudly.
It was after my own screaming I overheard more than one person yelling on the bridge line "YOU'RE NOT MUTED! YOU'RE NOT MUTED!"
I have seldom felt such raw, unadulterated panic.
I rushed back to my home office - yes, the green light is on my desk - my mic is hot. When I pressed mute at some point earlier in the call, it double-toggled, leaving me un-muted, and I never knew.
Even more embarrassing was the chat session I saw on my computer screen. It was from my manager (one of the managers on the call) - he had pinged me several times while I was in the kitchen.
It read something like:
hey, you there?
is that your phone
I think your phone isn't muted
mute
dude, mute
is that you?
MUTE!
did you just say balls?10 -
Currently on an internship, PHP mostly, little bit of Python and the usual web stuff, and I just had the BEST FUCKING DAY EVER.
Wake up and find out I'm out of coffee, oh boy here we go.
Bus leaves 10 minutes late, great gonna miss my train.
Trains just don't wanna ride today, back in a bus I go, what's normally a 10 minute train travel is now a 90 minute bus ride.
Arrive at internship, coffee machine is broke, non problem, I'll just lose it slowly.
NOW HERE COMES THE FUCKING GOOD PART!!
Alright, so I'm working on a CMS that can be used just about on any device you want, mobile or desktop, it's huge, billion's of rows of scientific data. Very specific requirements and low error margins. Now, yesterday I was really enjoying myself here until today, Project manager walks in, comes to my desk and hands me a Samsung Gear S3, an Apple watch and some cheap knockoff. He tells me that before the Friday deploy, THE ENTIRE CMS SHOULD WORK ON THOSE WATCHES!
I mean, don't get me wrong, I like a challenge but it's just not right, I mean, I'm still not sure what the right way to handle tables on phones is, but smart watches, just no. Besides that, I've never worked with any Apple devices, let alone WatchOs, nor have I worked with Android Wear.
Also, Project Manager is a total dickhead, he's the kinda guy that prefers a light theme, doesn't clean up his code, writes 0 documentation for an API, 1 space = tab, pure horror.
So after almost flipping my desk, I just called my school coach to announce I'm leaving this internship. After a brief explanation he decides to come over, and guess what, according to the Project Manager I wasn't supposed to do that, I was supposed to test if it would be possible.
FUCKING ASSFUCKFACE9 -
Although this is gonna sound like bullshit, this happened to me for real. Since that moment I use even more backup services AND I regularly check EVERYTHING.
Had a backup of my important data (still used mainstream services back then) on:
- Hotmail email attachments
- Google Drive
(Both link to another email account).
- A few data backup services
- DVD
- USB
- External HDD.
I wanted to copy some backup data over again:
1. Walk to my staple of HDD's, tried to grab it, somehow missed and knocked the whole fucking pile over. HDD broken.
2. Well fuck, let's go put some of my clothes in the washing machine for clean clothes at study/monday. After this shit being in the washing machine for just a few minutes, I realized my backup USB stick was in one of my pockets, in the washing machine. FUCK. Couldn't stop it so I waited till the end, tried it and well, it wasn't working at all anymore.
Fuck my fucking life slightly right now.
3. *remembers about the backup disc*. I forgot to keep it in its case, very deep scratches and so on, unreadable. FUCKING FUCK.
4. Right, I still have those online services! *tries to login to all of them (including hotmail/gdrive) but forgot the password. Well, let's login to my backup account then (hadn't used that one in years). Account was suspended for some reason.
Started to get really anxious because every online backup service was linked to that email address.
Contacted customer support. They really couldn't restore it because of some issues they weren't allow to tell me. Sorry but I couldn't retain access.
5. Well this is fucked up. Couldn't get into any of the backup/hotmail/gdrive accounts anymore.
I tried contacting their support but never got any replies.
This was the moment I realized I fucked up big fucking time because damn, this stuff at this level hardly happens to anyone.
FUCK.39 -
Mainly a story with some ranting sprinkled on top :)
My grandma used to refuse to turn her PC off because ONE SINGLE WINDOWS 8.1 UPDATE like 2 years ago made it so that Windows would turn the PC on by itself, nevermind it was fixed in the next update, she would simply refuse to try to turn the PC off from that point on... I never looked at the uptime but the PC was sitting on a carpet and all the fans were struggling to keep spinning, so much dust! When I asked her why it's so dusty all around the PC (the table that the PC was under was covered in a really thick layer of dust) she replied that the chambermaid comes every Wednesday to clean up the whole flat so she has no idea. I set up a camera that was recording the whole room so I could see what was going on... sure enough the chambermaid avoided anything that looked like it could have some ICs in it with a distance of at least 2 meters... When I showed the video to my grandma she was like: Yes, she is scared of electronics...
Seriously fuck me... Allright, I cleaned the whole table, carpet and the inside of PC, everything ran so quietly that I wasn't sure if I plugged the fans in.
Anyway after this I had to record the PC one whole night so I could prove to my grandma that it would not turn on by itself and she can in fact turn it off.
Fuck me... what a bad week that was...
PS: Yes, my stories do not have a point :)5 -
An intern I was supposed to lead (as an intern) and work with. Which sounded kinda crazy to me, but also fun so I rolled with it. But when I met her I quickly found out she didn't even have a coding editor installed and when I advised one she was "scared of virusses". She had Microsoft Edge in her toolbar, and some picture of a cat as a background. We were given some project by our boss, and a freelance programmer helped us set it up on Trello. Great, lets start! Oke maybe first some R&D, she had to reaeach how to use the Twilio API. After catching her on WhatsApp a few times I realised this wasnt gonna go anywere. After a few weeks of coding and posting a initial project to git I asked her if she could show me the code of the API she made so far..
She told me she was using the quickstart guide (the last 3 FUCKING weeks) which contained some test project with specific use cases.
The one that I did 3 weeks ago that same fucking morning.
AND SHE WAS STILL NOT DONE...
A few days later I asked her about the progress (strangly, I wasn't allowed ti give her another task bcs the freelanc already did) and guess what... She got fking pissed at me
Her: "I will come to you when im done, ok?"
Me: "I just want to see how it is going so far and if you are running into any problems!"
Her: "I dont want to show you right now"
She then goes to my fucking boss to tell him I am bothering her.
And omg... Please dear god please kill me now...
Instead of him saying the she probably didn't do shit. He says to me that the girl thinks im looking down on her and she needs a stress free environment to work in. She will show me when its done. ITS A FUCKING QUICKSTART GUIDE YOU DUMB BITCH.
He then procceeded to whine to me about the email template (another project I do at the same time) which didn't look perfect in all of his clients.
Dont they understand that I am not a frontend developer? Can you stop please? I know nothing about email templates, I told you this!!!
Really... the whole fucking internship the only thing the girl did was ask people if they want more tea. Then she starts cleaning the windows, talk to people for an hour, or clean everyone's dask.
all this while I already made 50% of the fucking product and she just finished the quickstart tutorial 😭. Truly 2 months wasted, and the worse thing is I didn't get any apprication. They constantly blamed me and whined at me. Sometimes for being 3 minutes late, the other for smoking too much, or because I drink to much coffee, or that I dont eat healthy. They even forced me to play Ping Pong. While im just trying to do my job. One of the worst things they got mad at me for if when my laptop got hacked bcs it was infected with some virus. He had remote access and bought 5 iPhones 6's with my paypal while I was on break. I had to go home and quickly reset all my passwords and make sure the iPhones wouldnt get delivered. strange this was, this laptop I only used at the company. So it must have been software I had to download there. Probably phpstorm (torrent). Bcs nobody would give me a license. And the freelancer said I * have to *.
the monday after I still had to reinstall windows so I called them and said I would be late. when I came they were so disrepectfull and didn't understand anything. It went a little like this:
Boss: why u late?
Me: had to reinstall my laptop, sorry.
Boss: why didnt you do this in your own time?
Me: well, I didn't have any time.
Boss: cant you do this in the weekend or something? Because now we have to pay you several hours bcs you downloaded something at home.
Me: I am only using this laptop for work so thats not possible.
Boss: how can that even be possible? You are not doing anything at home with your laptop? Is that why you never do anything at home?
Me: uhm, I have desktop computer you know. Its much faster. And I also need to rest sometimes. Areeb (freelancer) told me to torrent the software. He gave me the link. 2 days later this happends
Boss: Ahh okeee I see.. Well dont let it happen again.
After that nobody at the compamy trusted me with anything computer related. Yes it was my own fault I downloaded a virus but it can happen to anyone. After that I never used Windows again btw, also no more auto login apps.8 -
I never liked cleaning my room.... usually the conversation goes like this
Dad: clean ur room
Me: meh... I'll do it later
$200 robot vacuum: clean ur room otherwise the crap on the floor will jam me
Me: ok ok... Give me a few mins30 -
Worst disturbance while working?
Some of my faves:
- Mgr flying his new $400 drone around the office (hitting walls, ceiling, etc). I mentioned the price because he crashed it a week later (un-repairable kind of crash), so I didn't feel too sorry for his loss.
- Mgr trying out his new blowgun and blowing darts at a cardboard box down/bewtween the cube hallway (where anyone could walk out of at any time). We would hear the "pfffft" and a loud 'Yea!'.
- Mgr would walk by a cube entry-way, fart, and walk away laughing.
- Mgr called me into area and his desk+the floor area around his desk was covered in peanut shells.
Me: "Wow, you got a mess here."
Mgr: "Yea, got tired of trying to hit the trash can. Maintenance will vacuum the office this weekend."
The mess was one thing, but what disturbed me the most was this asshole thinks Maintenance-Jim has nothing better to do than clean up after this so-called adult.
Karma kicked in and an hour later the owner's wife (we're still a family owned company, so he+his wife are on friendly basis with everyone) stopped by to say hi and walked in on the mess.
June: "What do we have here!?"
Mgr: "Oh...um...uh..I was eating a few peanuts and putting the shells in the trash can and accidentally knocked it over. I was on my way to get the vacuum cleaner."
June: "Hmmm...this looks like more than a few. *You* clean it up right now and *never* let me see this again!"
Mgr: "Yes..yes ma'am...right now.."
Whole office heard the exchange and it was frickin' awesome.12 -
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at. -
Never have I been so furious whilst at work as yesterday, I am still super pissed about going back today but knowing it's only for another few weeks makes it baerable.
I have been the lead developer on a project for the last 3~ months and our CTO is the product owner. So every now and then he decides to just work on a feature he is interested in- fair enough I guess. But everything I have to go and clean up his horrendous code. Everything he writes is an absolute joke, it's like he is constantly in Hackathon mode "let's just copy and paste some code here, hardcoded shit there and forgot about separation of code- it all goes in 1 file".
So yesterday he added a application to the project and instead of reusing a shared data access layer he added an entirely new ORM, which is near identical to the existing ORM in use, for this one application.
Being anal about these things, the first thing I did was delete his shit and simply reference the shared library then refactor a little code to make it compatible.
WELL!! I certainly hit a nerve, he went crazy spamming messages on Slack demanding I revert as it broke ONE SINGLE QUERY that he hadn't checked in (he does 1 huge commit for 10 of everyone else's). I stuck to my principals and explained both ORM's are similar and that we only needed one, the second would cause a fragmented codebase for no benefit whatsoever.
The lead Dev was then forced to come and convince me to revert, again I refused and called out the shit quality of their code. The battle raged on via the public slack group and I could hear colleagues enjoying the heated debate, new users even started joining the group just to get in on mine and the cto's difference of opinion.
I even offered to fix his code for him if he were to commit it, obviously that was not taken well ;).
Once I finally got a luck at the cluster fuck of shit he had written it took me around 5 minutes to fix and I ever improved performance. Regardless he was having none of it. Still the demands to revert continued.
I left the office steaming after long discussions with the lead Dev caught in the middle.
Fortunately my day was salvages with a positive technical discussion that evening at a company with whome I had a job offer from.
I really hate burning bridges and have never left a company under bad terms but this dictator is making me look forward to breaking the news today I will be gone in 4 weeks.4 -
The most pissed off I've been at work?
Client X came to us for a website.
We secretly outsourced the work.
Client X is coming for a visit in 10 mins...
MD to me: "I've told them your lead dev on this. They're not super-technical so if they ask you about the project just tell them it's going well."
Now I'm not a comfortable blagger, I don't have that kind of confidence, so to ask me to lie like this makes me feel really stressed and uncomfortable. Furthermore, I had literally no idea about any aspect of the work we were supposedly doing for this client. I can barely contain my panic but my colleagues help me piece together a basic understanding.
The MD returns: "They're here now. Can you quickly go and check that the toilets are clean."
WHAT THE FUCK!? The little prick. I'd knock him out if wasn't so meek and pathetic. I tell myself that I'm being helpful and nice but in truth I'm just his fucking doormat and he has zero respect for me.
I have no problem cleaning stuff (we all basically tidy up behind us) but this is something he could have done. Furthermore, who cares? None of us leave the loos with piss on the floor and shit smeared across the walls. They're never anything less than client-ready so to ask me to check means that he's already checked them himself and one of the loos is not quite shiny enough.
The reader may feel that this is no big deal (and in some ways you're right) but everything about this scenario was fucked up. The MD had embroiled the whole company in a lie and assumes we're all okay with that, then to add insult just nonchalantly orders me to clean the bogs. The cunt.
FWIW The client didn't ask to talk to me or use the toilet during their visit.8 -
I’m so mad I’m fighting back anger tears. This is a long rant and I apologize but I’m so freaking mad.
So a few weeks ago I was asked by my lead staff person to do a data analysis project for the director of our dept. It was a pretty big project, spanning thousands of users. I was excited because I love this sort of thing and I really don’t have anything else to do. Well I don’t have access to the dataset, so I had to get it from my lead and he said he’d do it when he had a chance. Three days later he hadn’t given it to me yet. I approach him and he follows me to my desk, gives me his login and password to login to the secure freaking database, then has me clone it and put it on my computer.
So, I start working on it. It took me about six hours to clean the database, 2 to set up the parameters and plan of attack, and two or three to visualize the data. I realized about halfway through that my lead wasn’t sure about the parameters of the analysis, and I mentioned to him that the director had asked for more information than what he was having me do. He tells me he will speak with director.
So, our director is never there, so I give my lead about a week to speak with her, in the mean time I finish the project to the specifications that the director gave. I even included notes about information that I would need to make more accurate predictions, to draw conclusions, etc. It was really well documented.
Finally, exasperated, and with the project finished but just sitting on my computer for a week, I approached my director on a Saturday when I was working overtime. She confirmed that I needed to what she said in the project specs (duh), and also mentioned she needed a bigger data set than what I was working with if we had one. She told me to speak to my lead on Monday about this, but said that my work looked great.
Monday came and my lead wasn’t there so I spoke with my supervisor and she said that what I was using was the entire dataset, and that my work looked great and I could just send it off. So, at this point 2/3 of my bosses have seen the project, reviewed it, told me it was great, and confirmed that I was doing the right thing.
I sent it off to the director to disseminate to the appropriate people. Again, she looked at it and said it was great.
A week later (today) one of the people that the project was sent to approaches me and tells me that i did a great job and thank you so much for blah blah blah. She then asks me if the dataset I used included blahblah, and I said no, that I used what was given to me but that I’d be happy to go in and fix it if given the necessary data.
She tells me, “yeah the director was under the impression that these numbers were all about blahblah, so I think there was some kind of misunderstanding.” And then implied that I would not be the one fixing the mistake.
I’m being taken off of the project for two reasons: 1. it took to long to get the project out in the first place,
2. It didn’t even answer the questions that they needed answered.
I fucking told them in the notes and ALL THROUGH THE VISUALIZATIONS that I needed additional data to compare these things I’m so fucking mad. I’m so mad.15 -
Always deliver the goods.
Even if who you work for are idiots, and the product is useless. You never know who will see what you've done.
- I did a six-month underpaid project for ShittyCompany.
- Strived to write it nice and clean with unit tests and good(barely) documentation.
- Got a call up a year later from a consultancy company who integrated with the application I wrote. Now I work for them, and it's as close to my dream job as I could hope for.1 -
Wow... this is the perfect week for this topic.
Thursday, is the most fucked off I’ve ever been at work.
I’ll preface this story by saying that I won’t name names in the public domain to avoid anyone having something to use against me in court. But, I’m all for the freedom of information so please DM if you want to know who I’m talking about.
Yesterday I handed in my resignation, to the company that looked after me for my first 5 years out of university.
Thursday was my breaking point but to understand why I resigned you need a little back story.
I’m a developer for a corporate in a team of 10 or so.
The company that I work for is systemically incompetent and have shown me this without fail over the last 6 months.
For the last year we’ve had a brilliant contracted, AWS Certified developer who writes clean as hell hybrid mobile apps in Ion3, node, couch and a tonne of other up to the minute technologies. Shout out to Morpheus you legend, I know you’re here.
At its core my job as a developer is to develop and get a product into the end users hands.
Morpheus was taking some shit, and coming back to his desk angry as fuck over the last few months... as one of the more experienced devs and someone who gives a fuck I asked him what was up.
He told me, company want their mobile app that he’s developed on internal infrastructure... and that that wasn’t going to work.
Que a week of me validating his opinion, looking through his work and bringing myself up to speed.
I came to the conclusion that he’d done exactly what he was asked to, brilliant Work, clean code, great consideration to performance and UX in his design. He did really well. Crucially, the infrastructure proposed was self-contradicting, it wouldn’t work and if they tried to fudge it in it would barely fucking run.
So I told everyone I had the same opinion as him.
4 months of fucking arguing with internal PMs, managers and the project team go by... me and morpheus are told we’re not on the project.
The breaking point for me came last Wednesday, given no knowledge of the tech, some project fannies said Morpheus should be removed and his contract terminated.
I was up in fucking arms. He’d done everything really well, to see a fellow developer take shit for doing his job better than anyone else in [company] could was soul destroying.
That was the straw on the camels back. We don’t come to work to take shit for doing a good job. We don’t allow our superiors to give people shit in our team when they’re doing nothing but a good job. And you know what: the opinion of the person that knows what they’re talking about is worth 10 times that of the fools who don’t.
My manager told me to hold off, the person supposed to be supporting us told me to stand down. I told him I was going to get the app to the business lead because he fucking loves it and can tell us if there’s anything to change whilst architecture sorts out their outdated fucking ideas.
Stand down James. Do nothing. Don’t do your job. Don’t back Morpheus with his skills and abilities well beyond any of ours. Do nothing.
That was the deciding point for me, I said if Morpheus goes... I go... but then they continued their nonsense, so I’m going anyway.
I made the decision Thursday, and Friday had recruiters chomping at the bit to put the proper “senior” back in my title, and pay me what I’m worth.
The other issues that caused me to see this company in it’s true form:
- I raised a key security issue, documented it, and passed it over to the security team.
- they understood, and told the business users “we cannot use ArcGIS’ mobile apps, they don’t even pretend to be secure”
- the business users are still using the apps going into the GDPR because they don’t understand the ramifications of the decisions they’re making.
I noticed recently that [company] is completely unable to finish a project to time or budget... and that it’s always the developers put to blame.
I also noticed that middle management is in a constant state of flux with reorganisations because in truth the upper managers know they need to sack them.
For me though, it was that developers in [company], the people that know what they’re talking about; are never listened to.
Fuck being resigned to doing a shit job.
Fuck this company. On to one that can do it right.
Morpheus you beautiful bastard I know you’ll be off soon too but I also feel I’ve made a friend for life. “Private cloud” my arse.
Since making the decision Thursday I feel a lot more free, I have open job offers at places that do this well. I have a position of power in the company to demand what I need and get it. And I have the CEO and CTO’s ears perking up because their department is absolutely shocking.
Freedom is a wonderful feeling.13 -
Stupid bloody PM.
I asked him for two images a long time ago: a 1x and a 2x ‘0’ monogram for Apple wallets, since we currently have monograms for glyphs 1-9 and a-z. And this is in production, so any merchant whose name starts with a ‘0’ will cause a crash. We’ve been fortunate thus far.
But this PM. He lied about who needed to make the images for three weeks, saying it’s up to the designer, when he actually made them himself. He also said he was going to take care of handing the task off, and never did, and then said designer when on FTO. When I asked the designer about it after he came back, he had no clue what graphics (and even the feature) I was talking about, or even what the requirements for the graphics might be. I had to confront the PM before he admitted he made the originals, and (begrudgingly) said he would make the new ones.
When said PM did finally make the images, the colors were all wrong. They’re not the light teal from our branding, they’re dark blue and the font is different, making them pretty ugly.
Also, after assuring me that the naming convention for the new images is the same, I discover that they’re neither organized into folders nor even named properly. (And yes, he is aware of how it should be.) I can rename and move them around easily enough, but come on, don’t say you did the work and then give me a mess to clean up!
And to top it all off, he completely spaced making the ‘u’ monograms, so I’m still short a fucking glyph!
Asdfjskldf.
How do you do every single thing wrong? Like, how!?1 -
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
QA: When I open the app I get this strange error message that includes "No data connection could be established" near the start of it.
Me: I'll clean up how thats displayed, but the error means your phone doesn't have internet connection.
QA: No that can't be it, I do.
Me: You screenshot shows no WiFi or 3g / 4g symbols.
QA: No those are never there, please investigate.
Me: I have investigated and found that every other one of your screenshots had a WiFi or a 3g symbol. Example: <link>. Please check your connection and try again, i'll clean up the error display.
PM: Oh i've had an issue something like this before. We really need to show users an error screen. We can't just leave them on this screen with no error message at all.
Me: ... we have an error, thats what QA is complaining about, its not loading the text and displaying the error object.
Anyone else want to not pay attention and complain about something else that doesn't make sense? ... no? ... ok good, back to work then7 -
VueJS FTW!
Today I realised I've been a fucking idiot.
For the last few years I have familiarized myself with libraries like React, VueJS, Preact etc.
All while playing around on my own side projects but when it came to doing actual work (perhaps from a lack of confidence/working experience with them) I always reverted to vanilla js or jQuery because I convinced myself it wasn't the `right` use case or `the project was too simple or small`.
I WAS AN IDIOT.
The below screenshot is a prototype of a n invoicing tool I needed to write which uses VueJS and is implemented in 50 beautiful, clean, maintainable loc. Combined with TypeScript it is a dream - never did I think I would see the day where I could grab an inputs numerical value without prepending the variable with + so I don't end up concatenating them as strings.
If your like me and haven't started using some kind of data binding view framework stop procrastinating and just do it. I feel like I wasted a large chunk of my life clinging onto my old ways.7 -
Today I was asked to decide on a handheld or "madonna" microphone for a conference I have to speak at in 2 weeks. Its time to come clean, I never thought the day would actually come, i'm far too terrified to actually go through with it. I just wanna write code in my dark little corner and be left alone. I wonder can I get out of this or is it too late4
-
!!office drama
I haven't been around much in recent weeks. Due to family illness, christmas shopping, dealing with estranged parents, and brooding over the foregoing, I haven't had a lot of time or energy left to myself.
tl;dr: The CTO ("API Guy") is ostensibly getting fired, and I might be taking over his job. I don't know if I should accept, try to stave this off, or simply flee.
------
Anyone who has been following my recent rants knows that API Guy is my boss, and he often writes terrible code. It's solid and unbreakable, but reading it is a *nightmare.* One of our applications is half the length of Leo Tolstoy's War and Peace, and it's difficult to tell what code is live and what amounts to ancient, still-active landmines. This is one application; we have several, most of which I've never even looked at.
Ostensibly the code is so terrible because the company grew extremely quickly, and API Guy needed to cram in lots of unexpected / planned-against features. From what I can see, that seems about right, but I haven't checked timeframes [because that's a lot of work!].
Here's a brief rundown of the situation.
- API Guy co-founded the company with the CEO.
- CEO and API Guy have been friends for a long time.
- CEO belives the company will fail with API Guy as head of tech.
- They could just be testing me; I have zero way of knowing. API Guy seems totally oblivious, and CEO seems sincere, so this feels pretty doubtful.
- CEO likes pushing people around. CEO believes he can push me around. API Guy doesn't budge. (I probably won't, either, except to change task priorities.)
- API Guy's code is huge and awful, but functional.
- API Guy is trying to clean up the mess; CEO doesn't understand (maybe doesn't care).
- Literally nobody else knows how the code works.
- Apart from API Guy and myself, the entire company is extroverted sales people.
- None of these sales people particularly like me.
- Sales people sell and sell and sell without asking development if they can pull enough magic features out of their hat to meet the arbitrary saleslines. (because the answer is usually no)
- If I accept, I would be the sole developer (at first) and responsible for someone else's mountain of nightmarish code, and still responsible for layering on new features at the same pace as he. Pay raise likely, but not guaranteed.
- My getting the position is contingent upon the CEO and the investors, meaning it's by no means guaranteed.
- If I don't accept, likely API Guy will be replaced with someone else of unknown ability, who doesn't know the code, and whom I must answer to regardless. Potentially OK, potentially a monumental disaster.
Honestly, it feels like I'm going to be screwed no matter what course I choose.
Perhaps accepting is slightly better?
The best would be to assume the position of CTO and keep API Guy around -- but that would feel like an insult to him. I doubt he'd be okay with it. But maybe. Who knows? I doubt the CEO would seriously consider that anyway.
I feel like a lamb between a dim, angry rhino, and an oblivious one.23 -
I joined a "multi-national" company in middle-east where 90% of the developers are Indian. And since it's a "multi-national" company with 50+ developers I thought they already figured it out. Most of them have 5-10 years of experience. They should know at least how to use git properly, deployment should be done via CI/CD. database changes should be run via migration script. Agile methodology, Code Review - Pull Request. Unit testing. Design Patterns, Clean Code Principle. etc etc
I thought I'm gonna learn new things here. I have never been so wrong in all my life...
Technical Manager doesn't even know what Pull Request is. They started developing the software 4 years ago but used Yii v1 instead which was released almost a decade ago. They combined it with a VueJS where in some files contains around 4000 lines of code. Some PHP functions contain 500+ of code. No proper indentions as well. The web console is bloody red with javascript errors. In short, it's the worst code I've seen so far.
No wonder why they keep receiving complaints from their 30+ clients.10 -
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 -
Once upon a time, there were a restaurant called "iEat.tech.com".
It was a small single-location place, where the sufficient number of patrons could be served by the cozy number of employees.
In fact, headcount was so lean that the cook was also the one who washed all the dishes.
But then came the suits and their "VC"(daddy) money and scaled shit up.
Soon, there were so many patrons that the dishes started to pile up the sink, never washed.
"We need someone to wash the dishes!" said the cook
"Fuck you, you wash the dishes!" said the s*its
Naturally, the cook left soon after.
The s*its had a problem now. They could not replace the cook fast enough - all other cooks were either young, inexperienced and mediocre (but did clean the dishes), or refused to waste their time on the sink.
So the suits did what $*its always do - they got a fucking consultant. Who told them to get a fucking dishwashing machine and billed them the GDP of Ireland.
The s*is, of course, did not want to buy a dishwashing machine. "Our fucking process is too fucking disruptive for us to use a fucking store-bought mass-produced metal servant!" (s*its don't know what "machines" are. For them, it's all in terms of "servants", employees and machines alike).
So the s*its hired an engineer to "solve the fucking dish problem, once and for all".
The engineer quickly started measuring and drawing and calculating. The engineer was about to prepare a budget when the s*its came screaming "What the fuck are you doing? There is a fucking pile of dishes in the sink!"
The engineer replied that "I'm designing the machine!", to what the s*its responded "don't bring me fucking problems, bring me solutions!" (or some other s*it blabber)
So the engineer quickly designed an efficient dishwashing assembly line to be done in half the time most people would. And then went back to designing the machine.
But the s*its were having none of it. They kept expanding and expanding and doing what they could so that the engineer never had a moment to work on the machine. They dit it so surreptitiously that no one barely even noticed, but one day they were paying a team of engineers to be fucking human dishwashers.
Now replace "dishes" with "Jira tickets" or "quick fixes" or "tiny changes" and fix other terms accordingly.
Fucking s*its.10 -
Week 26 advice - you all probably know this but good to refresh!
Eat healthily
Sleep well
Document clearly
Annotate your code
Use version control properly
Keep yourself in check with project management tools
Your peers are your friends... And competition.
As much as your boss is an idiot respect them and your life will be easier.
With great power comes great responsibility; don't touch that keyboard until you think through what you are doing chances are your first idea is not the best.
Don't write quick fixes and say you will go back to clean it up later on when you have time. That time will never come.3 -
Soooo, after raising my issue regarding microsoft's massive invasion of privacy and removing control from the user a couple of my friends, ahem I mean "aquaintances", said this to me:
"Get a mac! So clean, lightweight and user friendly and won't spy on you".
Clearly people who never looked at their list of background processes and installed little snitch. I swear, every couple of minutes something is trying to phone home to Apple.
Now I've been pretty open to all platforms (Win/Mac/*NIX/misc) until recently but this has reached a point it is no longer funny.
When I get a moment I'm gonna shove linux so far up that machine's arse Steve Jobs is gonna feel it in the ether!14 -
TLDR; My 2TB HDD got wiped in one fell swoop by a 9-year old child.
You know... I've never been too great about keeping backups. Even to this day, I only keep one or two local backups and nothing on the "cloud".
So this was about 5 years ago. At the time, I was living together with my girlfriend - who would later become my wife. She had a son from a previous relationship, who at the time was 9 years old.
I had a small desk in the living room of our one-bedroom apartment, that I used for my computer, which has been a laptop for a long time now. One unfortunate thing about the layout of the apartment was that the wall plug near my desk was attached to a light switch.
I had a 2TB external hard drive - with its own power cable - plugged into my laptop. Then, things started to move in slow motion... The GF's son comes inside from playing, my GF asks him to turn off the light. He reaches over, and shuts off power to my laptop - and the external hard drive.
He must have hit that switch at JUST the right fucking time. The laptop ran on battery, no big deal. The hard drive, when I powered it back up - was wiped clean. I tried data recovery on it, but the HDD was encrypted, which makes things more complicated.
Needless to say, I was not happy. I never got that data back, but I did learn not to expose my hard drives to 9 year olds. Very dangerous little creatures.
You want to know the best part? He destroyed another hard drive of mine, a few years later. Should I tell that story?5 -
A tip to tech folks from my personal xp.
If you fuck up and make an impacting mistake in your company, like taking PROD down, noone is going to fire you on spot. Assign some more mandatory trainings - maybe. So you'd be more careful next time.
See, it's not worth getting rid of someone who made a mistake. You should be seated down and insisted to fix it. If you don't - then they might consider firing it. If you do fix it [with help or alone] - you become a more valuable asset to the company as you prove you are responsible for your actions and you take it seriously. You show that you can clean up your own shit and you don't need a babysiter next to you.
If you simply make a mistake and they replace you with someone else, that someone else is likely to be unaware of your mistakes and is doomed to repeat them. It's just bad for business.
Ofc if you making mistakes becomes a tendency rather than an exception, it's also a red flag for the business.
Don't get too laxed! And always answer for your shit. Never hide a fuckup - always alarm about it asap so that corrective actions could be taken by respective organs of the company while you are fixing it.
Come up with an action plan, announce it. Estimate resources you need [like help from others] - announce that too. Update concerned parties every half an hour or so about the status. If you find you need anything else while fixing it or you come across some blockers/delays/change of impact - always announce asap. Do avoid false alarms and disinformation.
// inspired by someone's rant today7 -
I've never had a problem with helping junior devs but when their keyboard and mouse looks like they bought it used from a primary school - glossy and covered in food etc... All I can think is burn it..... Burn it with fire.
Seriously... Keep your peripherals clean... They get nasty pretty quickly.1 -
Greetings from Denmark! Thought I would join after a lot of lurking, and tell a little story, as to how I fucked up when I started in my company.
I've been there around 10 days and had never used git besides just add, commit, and push. I was told to work in feature branches, and I did, I was playing around trying to learn, and got some merge conflicts, made a lot of unnecessary commits etc. I was told to clean it up before I merged into dev. And as I didn't know git I asked how I could do that. I was told I could force push in my branch, and that it was okay as long as it was only inside my branch. I tried that and saw my command line force pushing to all branches including dev, and master. My heart skipped a couple of beats, and I went directly to my Lead developer and asked what happend. He got a bit mad at me for pushing in dev and master, and override all the commits there had been made. I tried to explain I didn't he did not really believe me, I was so nervous. Luckily everything came back to normal with people's local branches being pushed etc. But that day I learned about git's push matching config, and my lead was luckily only mad in the heat of the moment and even apologized for getting mad. Just one of my little fuck up's in my short time as a developer7 -
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2 -
One developer to me:
I will need access to root account on that new machine you just installed so that I can install/configure all the stuff and so you won't have to do it.
Me - I can't give you root. Not even sudo, this will be a production machine, I need to have a clean track of it.
D - but I will give it (root) back to you once I'm done.
Me - look pal, root access is like virginity. I can give it away but I will never be able to get it back.
D - But you can remove my access later. And, talking about virginity, there are operations that "restore" virginity ;)
Me - yes, and I can take access to root from you afterwards, which would be similar to the procedure you are referring to. But it won't change the fact that the server was already fucked. -
When managers look at my code, it’s shit, it’s over complicated, it’s overly difficult to read, it took too long, it’s too much for a simple ticket, i handled too many edge cases, we’ll never need most of it, why did I bother making it extensible when it’ll never need to change, how dare I use “unless”, why did I bother writing all these comments, why did I update the documentation that nobody reads because it’s outdated, etc. They say I should be more like the legendary devs and push janky code quickly, and complain that I don’t have any flops (problems in prod) like those are a good thing.
When my coworkers look at my code, they say it’s clean, amazingly easy to read, a monster feature that’s somehow still a joy to review and work on, it makes their lives easier, that it does exactly what it should in all cases, that they learned something from reading it, and thank me for the comments and documentation. And marvel that I finished it so well in so little time.
Am I bragging? Not intentionally; I’ve heard these things repeatedly since I started here, and the contrast between the above is so stark.
In reality, the managers are just idiots who were promoted far above their competence, and make everything worse. (Gee, who woulda thought?) It’s just so frustrating.19 -
Today is the first time my pc fully crashed. I keep always everything updated and never had a problem. I didn't know what went wrong. After I opened my pc up I found out that a mouse family was living in my pc. Maybe I should clean the hardware more8
-
Dear Atlassian Support,
In my life I had a lot of experiences...
But your software manages to replace all these experiences with a unique feeling of depression, hatred, anger... Only negative emotions.
Not once have I said anything good about your software - not once in > 5 years.
Whenever your chum bucket of mismanagement and misanthropy stops working, it's never the fault of the end user, the administrator or someone else.
It's entirely your fault.
Fucked up upgrades, lack of documentation, catastrophic handling of logging, lack of support of current database systems, lack of proper migration and clean up of plugins, ....
I could go on. But it's really just and endless tirade.
I wish I could stop management for even giving you money for the pile of poo you call software, but sadly they don't listen.
But there's hope on the horizon.
Thanks for making people go cloud only.
No one wants that.
It would mean entrusting that pile of poo to the craptastic hands of your irresponsible people.
No one really wants that.
Not even management who blindly paid the license fees all the times.
Thank you for your cloud only movement.
Maybe we can finally find an alternative and I can finally start a therapy for the PTSD I have thx to your software.3 -
I never understood the appeal of Steve Jobs to other people, and had never bought an Apple product until about six years ago.
However, after buying a couple of Macbooks - including ones, circa 2012/2013, on eBay - it's very obvious that the quality has shrivelled into oblivion after his passing.
If I was to credit him with one thing, Jobs was the ultimate QA guru with long lasting products as his top priority.
Now, Apple sells glue machines and Steve Jobs would be clean slating the entire list of employees - from the top, down - if he was alive to notice how little the company seemed to care about what he had planted as the seed, many years ago.20 -
A few hours ago I decided it was a good idea to to clean up my keyboard. I did so and took a walk leaving the keys to dry.
After I came back I hoovered the -board and decided to put back the keys. I started with the special keys since they were the easiest to find (and some required a metal thing).
Now, I was quickly made aware of something that I had never known nor noticed before. Bear with me here as I'm not a person that cares too much about hardware unless I need to. (Hardware here meaning stuff like mice, keyboards, headsets, and stuff like that). But I learned that
Not all keys are the same size. They look really similar to someone like me. But I manned up and put the keys back.
A little under 1.5 hours later and I now posses a keyboard that is in uncanny valley. It doesn't feel like it though, and it shouldn't be that big of a problem since I never look at my keyboard anyway.
Messaged one of my m8's about and this was his reply
"nope
one kind per row
usually says the row on the underside"
Now fantasize about the elasmobranch fish which is characterized by a cartilaginous skeleton of which I am the proprietor at what he said. I pulled a key out and, sure enough, "C28 R1".
Now I am not sure about the 28th column, but it did fit in the first row.
Fuck me9 -
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 -
Until now I've never thought of putting stickers on my laptop. Always preferred it to be clean, but with all those cool stickers on all your laptops... It made me wanna put as many stickers as possible and since devRant stickers looked lonely, I've decided to print some of my own. On other side I wantedthem to be useful for me so I grabbed a handful of NFC stickers and designed links and required shortcuts for my phones to run with them on touch. for example if I need a hotspot on my mobile to be activated quickly, I just put my phone against the WIFI sticker and bingo! And yes, devRant logo opens devRant app))5
-
“Get the code working first, then worry about how to clean and optimize it.”
For me when I learnt about optimization and how one thing was better than something else, I tended to focus on that. I’d have a picture of that in my mind, and would try to write as clean of code with less hacks in the middle and as optimized as I could in the first go, which slowed me the way fuck down.
After he said that to me, I realized I was stupid and just wasting time if I worried about that from the start. Would waste time, and just cause more headaches from the start than it was worth.
——
Oh also another one, I knew never to trust the client from the start but the way he said it was funny. “Never ever trust the fucking client, don’t trust them with anything. I trust Satan more than I trust the client.” 😂7 -
Tl;Dr - It started as an escape, carried on as fun, then as a way to be lazy, and finally as a way of life. Coding has defined and shaped my entire life from the age of nine.
When I was nine I was playing a game on my ZX spectrum and accidentally knocked the keyboard as I reached over to adjust my TV. Incredibly parts of it actually made a little sense to me and got my curiosity. I spent hours reading through that code, afraid to turn the Spectrum off in case I couldn't get back to it. Weeks later I got hold of a book of example code to copy out to do various things like making patterns on the screen. I was amazed by it. You told it what to do, and it did it! (don't you miss the days when coding worked like that?) I was bitten by the coding bug (excuse the pun) and I'd got it bad! I spent many late nights on that thing, escaping from a difficult home life. People (especially adults) were confusing, and in my experience unpredictable. When you did things wrong they shouted at you and threatened to take you away, or ignored you completely. Code never did that. If you did something wrong, it quietly let you know and often told you exactly what was wrong. It wasn't because of shifting expectations or a change of mood or anything like that. It was just clean logic, simple cause and effect.
I get my first computer a year later: an IBM XT that had been discarded by a company and was fitted with a key on the side to turn it on. With the impressive noise it made it really was like starting an engine. Whole most kids would have played with the games, I spent my time playing with batch scripts and writing very simple text adventures. And discovering what "format c:" does. With some abuse and threatened violence I managed to get windows running on it. Windows 2.1 I think it was.
At 12 I got a Gateway 75 running Windows 95. Over the next few years I do covered many amazing games: ROTT, Doom, Hexen, and so on. Aside from the games themselves, I was fascinated by the way computers could be linked together to play together (this was still early days for the Web and computers networked in a home was very unusual). I also got into making levels for Doom, Heretic, and years later Duke Nukem 3D (pretty sure it was heretic; all I remember is the nightmare of trying to write levels entirely by code!). I enjoyed re-scripting some of the weapons and monsters to behave differently. About this time I also got into HTML (I still call this coding, but not programming), C, and java. I had trouble with C as none of the examples and tutorial code seemed to run properly under a Windows environment. Similar for my very short stint with assembly. At some point I got a TI-83 programmable calculator and started rewriting my old batch script games on it, including one "Gangster Lord" game that had the same mechanics as a lot of the Facebook games that appeared later (do things, earn money, spend money to buy stuff to do more things). Worried about upcoming exams, I also made a number of maths helper apps, including a quadratic equation solver that gave the steps, and a fake calculator reset to smuggle them into my exams. When the day came I panicked and did a proper reset for fear of being caught.
At 18 I was convinced I was going to be a professional coder as I started a degree in Computer Science. Three months later I dropped out after a bunch of lectures teaching what input and output devices were and realising we were only going to be taught Java and no C++. I started a job on the call centre of a big company, but was frustrated with many of the boring and repetitive tasks we had to do. So I put my previous knowledge to use, and quickly learned VBA to automate tasks. It wasn't long before I ended up promoted to Business Analyst where I worked on a great team building small systems in Office, SAS, and a few other tools.
I decided to retrain in psychology, so left the job I was in and started another degree. During my work and placements my skills came in use a number of times to simplify and automate tasks. I finished my degree, then took a job as a teaching assistant while I worked out what I wanted to do next and how to pay for it. Three years later I've ended up IT technican at the school, responsible for the website, teaching a number of Computing lessons each week, and unofficial co-coordinator for Computing as a subject. I also run a team of ten year old Digital Leaders who I am training in online safety and as technical experts; I am hoping to inspire them to a future in coding. In September I'll be starting teacher training with a view to becoming a Computing specialist teacher. Oh, and I'm currently doing a course in Android Development in my free time.
And this all started with an accidental knock on the keyboard of a ZX Spectrum.6 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
I think I want to quit my first applicantion developer job 6 months in because of just how bad the code and deployment and.. Just everything, is.
I'm a C#/.net developer. Currently I'm working on some asp.net and sql stuff for this company.
We have no code standards. Our project manager is somewhere between useless and determinental. Our clients are unreasonable (its the government, so im a bit stifled on what I can say.) and expect absurd things from us. We have 0 automated tests and before I arrived all our infrastructure wasn't correct to our documentation... And we barely had any documentation to begin with.
The code is another horror story. It's out sourced C# asp.net, js and SQL code.. And to very bad programmers in India, no offense to the good ones, I know you exist. Its all spagheti. And half of it isn't spelled correctly.
We have a single, massive constant class that probably has over 2000 constants, I don't care to count. Our SQL projects are a mess with tons of quick fix scripts to run pre and post publishing. Our folder structure makes no sense (We have root/js and root/js1 to make you cringe.) our javascript is majoritly on the asp.net pages themselves inline, so we don't even have minification most of the time.
It's... God awful. The result of a billion and one quick fixes that nobody documented. The configuration alone has to have the same value put multiple times. And now our senior developer is getting the outsourced department to work on moving every SINGLE NORMAL STRING INTO THE DATABASE. That's right. Rather then putting them into some local resource file or anything sane, our website will now be drawing every single standard string from the database. Our SENIOR DEVELOPER thinks this is a good idea. I don't need to go into detail about how slow this is. Want to do it on boot? Fine. But they do it every time the page loads. It's absurd.
Our sql database design is an absolute atrocity. You have to join several tables together just to get anything done. Half of our SP's are failing all the time because nobody really understands the design. Its gloriously awful its like.. The epitome of failed database designs.
But rather then taking a step back and dealing with all the issues, we keep adding new features and other ones get left in the dust. Hell, we don't even have complete browser support yet. There were things on the website that were still running SILVERLIGHT. In 2019. I don't even know how to feel about it.
I brought up our insane technical debt to our PM who told me that we don't have time to worry about things like technical debt. They also wouldn't spend the time to teach me anything, saying they would rather outsource everything then take the time to teach me. So i did. I learned a huge chunk of it myself.
But calling this a developer job was a sick, twisted joke. All our lives revolve around bugnet. Our work is our BN's. So every issue the client emails about becomes BN's. I haven't developed anything. All I've done is clean up others mess.
Except for the one time they did have me develop something. And I did it right and took my time. And then they told me it took too long, forced me to release before it was ready, even though I had never worked on what I was doing before. And it worked. I did it.
They then told me it likely wouldn't even be used anyway. I wasn't very happy at all.
I then discovered quickly the horrors of wanting to make changes on production. In order to make changes to it, we have to... Get this
Write a huge document explaining why. Not to our management. To the customer. The customer wants us to 'request' to fix our application.
I feel like I am literally against a wall. A huge massive wall. I can't get constent from my PM to fix the shitty code they have as a result of outsourcing. I can't make changes without the customer asking why I would work on something that doesn't add something new for them. And I can't ask for any sort of help, and half of the people I have to ask help from don't even speak english very well so it makes it double hard to understand anything.
But what can I do? If I leave my job it leaves a lasting stain on my record that I am unsure if I can shake off.
... Well, thats my tl;dr rant. Im a junior, so maybe idk what the hell im talking about.rant code application bad project management annoying as hell bad code c++ bad client bad design application development16 -
OK< been a long time user of Unity.
Tried the latest update as I and others were enthusiastic about creating a joint project of gamers and developers.
As I was building up a started website and we were getting things with Unity ready...BOOM,. They Fuck up the installs.
Not just a minor thing here or there but not finding its own Fucking file locations where it installs shit. You try and say, Hey Unity you fucking twat, install here in this folder.
Boom again, it installs part of it there, and then continues installing shit everywhere else it wants to. Then the assholes at Unity give this Bullshit claim "the bug has been fixed."
Just reinstall.
Fuck you, its never that simple, You have to delete all sorts of fucking files to make sure conflicts from a previous corruption isn't just loaded on top of so it does not fuck up later.
So we did all that from programs, program data, program(x86), AppData Local, Local Low, and Roaming.
For added measure we manually removed all the crap from the registry folders (that was a pain but necessary), and then ran a cleaner to make sure all the left over shit was gone.
Thinking, OK you shit tech MoFo's we are clean and here we go.
HOLY SHIT BALLS, Its fucking worse with the LTS version it recommends and Slow as Fuck with their most recent version which is like 2020 itself, and insane piece of fucking bloated garbage and slower than a brick hard shit without fruit.
So we were going to all go post on the forums, and complain the fix section isn't fixed for shit.
Fuck us running backwards naked through a field of razor grass. Its so overloaded with complaints that they shut down further posts.
What makes this shit worse is we cannot even get the previous fucking versions of the editor before all this to work where our only option is without using the fucking Hub demand is just install 2018.
great if we started coding and testing in that. We cannot get shit where we were at back on track because you cannot fucking backward load an exported saved asset file.
Unity's suggestion? Start over.
Our Suggestion? Stop fucking smoking or using whatever fucking drug you assholes are on, you fucking disabled the gear options so we can resolve shit ourselves, and admit you did that shit and other sneaky piece of shit back stabby, security vulnerable data leak bullshit things to your end users.
Listen to your fucking experienced and long time users and get rid of the Fucking backward stepped hub piece of shit everyone with more brains than whatever piss ant pieces of shit praised that the rest of us have hated from day fucking one!
And while fixing this shit like it should be fucking fixed if you shit head bastards want to continue to exist as a fucking company, overhaul the fucking website or get the fuck out of business with now completely worthless SHIT.
Phew:
Suffice it to say....
We are now considering dealing with the learning curve and post pone our project going with unreal just because of these all around complete fuck ups that herald back to shit games of versions 3.0 and earlier.8 -
This is something I'll never forget.
I'm a senior UI engineer. I was working at a digital agency at the time and got tasked with refactoring and improving an existing interface from a well known delivery company.
I open the code and what do I find? Indentation. But not in the normal sense. The indentation only went forward, randomly returning a bunch of tabs back in the middle of the file a few times, but never returning to its initial level after closing a tag or function, both on HTML and JS.
Let that sink in for a minute and try to imagine what it does to your editor with word wrapping (1 letter columns), and without (absurd horizontal scrolling).
Using Sublime at the time, ctrl+shift+P, reindent. Everything magically falls beautifully into place. Refactor the application, clean up the code, document it, package it and send it back (zip files as they didn't want to provide version control access, yay).
The next day, we get a very angry call from the client saying that their team is completely lost. I prove to the project manager that my code is up to scratch, running fine, no errors, tested, good performance. He returns to the client and proves that it's all correct (good PM with decent tech knowledge).
The client responds with "Yeah, the code is running, but our team uses tabs for version control and now we lost all versioning!".
Bear in mind this was in 2012, git was around for 7 years then, and SVN and Mercury much longer.
I then finally understood the randomness of the tabs. The code would go a bunch of tabs back when it went back to a previous version, everything above were additions or modifications that joined seamlessly with the previous version before, with no way to know when and so on.
I immediately told the PM that was absurd, he agreed, and told the client we wouldn't be reindenting everything back for them according to the original file.
All in all, it wasn't a bad experience due to a competent PM, but it left a bad taste in my mouth to know companies have teams that are that incompetent, and that no one thought to stop and say "hey, this may cause issues down the line".4 -
In the Ruhr area (Germany) we have some very old, very strange words with strange meanings. One of those words is ‚Prutscher‘.
A Prutscher refers to a person who does things but never gets a good result, due to lack of knowledge or simple carelessness. Most of the time, Prutschers are people who are interested in certain subjects and often work in the related jobs, but who lack the motivation to properly train themselves, learn what there is to learn and to always keep up with their technologies .
Here are a few examples I've stumbled upon so far in my career:
- Developers in their 60's who read a book about PHP 25 years ago and decided to become a software developer. Since then haven't read anything about it. Who then now build huge spaghetti monoliths for large companies, in which they prefix every function, every variable and constant with their initials and, of course, use Hungarian notation.
- People who read half a fucking tutorial about <insert any fancy js framework here> and start blogging/tweeting about it
- Senior web developers who need to be told what the fuck CORS is and who can't even recognize CORS related errors in their browser console.
- People who have done nothing else for 18 years than building websites for companies on Wordpress 1.x and writing few lines of PHP and Javascript from time to time. Those who are now applying as a frontend dev due to the difficult economic situation and are surprised that they are not accepted due to a lack of experience.
- Developers who are the only ones working on Windows in the team and ask their Linux colleagues for help when Windows starts bitchin.
- People who have been coding for 30 years, have worked with ~42 languages and don't know the difference between compiled and interpreted languages in the job interview.
- Chief developers at a large newsletter-publisher who think it's a good idea to build your own CMS (due to a lack of good existing ones, of course).
- Developers who have been writing PHP applications for multinational corporations for 25 years and cannot explain how PHP is executed. They don't even know what the fucking OPcache is, let alone fpm. FML
- People who call themselves professional developers but never ever heard of DRY, KISS, boy-scout rule, 12-Factor App, SOLID, Clean Code, Design Patterns, ...
- Senior developers wondering why the bash script won't run on their fucking Windows machine.
- Developers who consider Typescript to be a hindrance and see no value in it.
- Developers using ftp for deployments in 2022
- Senior Javascript Developer applying for a job and for whom Integer is a primitive data type in JS.
- Developers who prefer to code without frameworks and libraries because they are only an unnecessary burden/overhead and you can quickly code everything up yourself.
- Developers who think configuring their server(s) manually is a good idea.
You fucking Prutscher. What you have already cost me in terms of work and nerves. I can't even put it into words how deeply I despise you. I have more respect for the chewing gum that has been stuck in my damn trash can for the past 3 years than I do for you guys. You are the disgrace of our profession. I will haunt you in your dreams and prefix every fucking synapse of your brain with MY initials.
As a well-known german band once sang in a very fitting song: I wouldn't even piss on you if you were on fire.
If you recognized yourself in one of the examples here: FUCK YOU!29 -
Forgot to post a book yesterday, so maybe I’ll post two books today...
Anyway, this book, I found it recently never seen it before. But boy is it great.
It’s similar to the programming pearls book as far as what it’s about. Think of the refactoring book, clean code, programming pearls, and the mythical man month books, thrown in a blender, added some new spice and some new things, and filtered down into 100 or so page book, simple quick and enjoyable actually.
This book the references staple books by Sedgwick, knuth, Brooks, Myers, and so many others. It’s funny how things come full circle.
My favorite quote from the book. I’ve been essentially saying this for years, but to see it on a book, it’s lovely... more people need to realize it too.
“Understanding how things work at a low level becomes a base for making good decisions at the high level”
Followed up with if you’ve never built a computer from scratch your missing out... get yourself a breadboard and some TTL logic.. and build a 4 bit CPU, once you know how to program in assembly the next step is building your own computer ... if your university didn’t teach a class that did this they ripped you off....
Don’t bitch at me.. the book said that.. and I agree! 100% because it’s true, you can’t debate that.
Oh and btw this is another book written by a female developer.. kudos to her for nailing so many topics in such a short book!35 -
Probably the last person to enter this, but fuck, it's done! Somewhat, but not totally inspired by this week's theme, I went to Ikea today and bought this brand-new beauty, along with a rug and small LED strip and OH. MY. GOD.
Technically didn't clean it off because it has never been dirty before. More pics in the comments. Holy shit I love it.8 -
People with dirty, greasy keyboards and mice. They obviously never wash their hands and all that disgusting gunk builds up around where they touch.
The feeling when you use someone else's mouse, and you can feel the lumpy texture of the sticky grey filth on it.
Clean your desk equipment occasionally, people. Also, wash your hands properly after using the bathroom, and it won't even be much of a problem.8 -
Hey, it's 2023.
If your component isn't written in TypeScript, I'm not using it :)
"TypeScript is overly complicated!!!" why, because it pointed out everything wrong in your JS code?
"TypeScript is not flexible!!!" why, because it makes you not rely on fragile "only possible in javascript" patterns?
"TypeScript isn't needed!!!" why, because you've never worked on a project with more than 100 lines of code where dependency management and clean code policies were implemented?
god just stop with the JavaScript purist BS, you aren't going to win this battle, and it's even worse because not only are you injuring everyone in the software community, you're injuring your own productivity and skillset
actually, you know what, fine. just use pure JS and HTML implementations. see you in 10 years when i'm retired and you are still running around in circles wondering why the world has left you behind25 -
I DID IT!!! just fucking installed lineage os <3 never imagined that it could be so complicated... they really don't want you to flash your phone man. I guess the main problem was that my phone is old x)
So I'm trying to get a clean and free environment, any advice about applications? My biggest problem is with telegram, I'll try wire, bit there is anything else that can replace telegram and on android and Linux? I mean I need to keep conversations sync, and I won't use a Chrome application TT so no signal.41 -
It happened during my campus placement.
My friend was working in the company and he too had come for the interviews. So when I walked into the interview room and saw him, we both acknowledged that we knew each other so the coordinator had my panel changed. The interview went well enough and the interviewer liked me. However when the results were announced my name wasn't there. I was really depressed. Just thought I could never get a job and all that.
Then my friend calls me a week later and tells me because of the mix up during changing the panel, even though i had cleared the round, was not in the final list.
This really was one of the worst moments.
I must come clean as my friend was able to get me another interview and obviously this time I had to blow it. I literally just went blank. I got my first question wrong and after that it just went down hill.
Now that I think about it I'm not sure which interview would be my worst interview story :p -
This happened with one of our senior profs during the first year of my college. I wouldn't call him a dev if my life depended on calling him a dev but regardless, I narrate the story here.
We were "taught" C++ by some really dumb professors during our first year of college and it was mandatory that everyone cleared the subject regardless of what field of engineering the students chose. Having already done 2 years of C++, it was quite a breeze for me. But during the final lab exam, one of my friends requested my help in solving the quite tough question (for those beginners). Thinking the exam and teaching was unfair, I stupidly wrote the answer on a piece of paper and passed it to him. One of our teachers, who had seen him ask me, was lying low waiting to catch me in the act and she swooped in and busted our asses kicking us out of the exam hall and sending us to the HoDs office like some prize from her war against academic corruption.
In the end, I failed the exam for cheating and had to redo (not only the exam but the entire lab course).
When I returned to college during the summer vacations to redo the course, I first met the antagonist of our story. Having a huge head that looked like a deformed watermelon and an ego the size of a building, he assaulted us first with a verbal diarrhoea of his achievements as a CS professor. I quickly realised that I was in a class of people who had failed to grasp how to make a program that printed "Hello World". To make things shorter, every question the prof gave us, I managed to solve in a mere matter of minutes, several better than his own solutions. Not having expected a student who knew his shit, he was determined to play me down. He hurled tougher question at me and I knocked them over his enormous head piercing his ego. He asked me such questions as how to reverse 1000 and get 0001 and wasn't satisfied with the several ways I gave because none of it were what he had in mind (which turned out to be storing them in a fucking array and printing them in reverse. That's printing not reversing you dung beetle). I kept my calm throughout but on the day of the final exam, he set quite a tough paper for a class of people who had already failed once. To his utter shock and dismay, I aced that too and I produced flawless code. This man who has an MTech from one of the most reputed colleges of my country then proceeded to tell me that he had to cut my marks because I had used more than one function when the question had asked for one function ( it never said only one). I lost my shit and pointed out that since I was the programmer, it was my wish how I coded. I also explained to him how repeating code is a bad practice and one should use functions to reduce redundancy and keep the code clean. Nevertheless, he lost his shit and he threatened me with consequences as apparently "I didn't know who I was messing with". I handed over the paper and stormed out of the class (though he called me back and tried to argue more with me. I apologized for losing my shit and left when he was done talking). I ended up getting a 'C'. Totally worth it.4 -
• Plan out everything by taking notes on the rough functionality of the project and how it could be done in a preferably simple way
• Writing code, but documentating it while doing so
• Also trying to write clean code so it can be more easily built upon
• Also keeping everything simple. If I'm using nasty, unreadable one-liners because of efficiency advantages, I'm putting a comment there for what could alternatively be used + explaining it
• Abandon it because side projects never get done1 -
Difference between Thermal Paste And Thermal Pads
As we all know that the surface of the CPU or a heat sink is not flat. So the uneven surface of both types of equipment give rise to the small gaps, and these small gaps are poor in thermal conductivity, as a result, the Gaming Computer gets heated off quickly.
To fill these gap we require a thermal conductive which delivers the entire heat coming out from the CPU to the heatsink and there comes the role of Thermal paste or Thermal pads for more info about thermal paste see here (https://glinkster.com/best-thermal-...)
But the real question here is which should you chose to avoid heating problems? Is it either thermal paste or thermal pads? So without wasting much time let's get to know what are the basic differences and when you should apply what?
What is the difference between thermal paste and thermal pads?
Thermal paste or thermal compound actually it has a lot of names. Thermal paste is a greasy conductive paste directly applied to the heatsink. It is most commonly used as the interface in between the non-conductive parts for the cooling purpose. A good thermal paste made with the best quality of thermal compound can work well for the system. To apply thermal paste, you have to very careful as you have can also sometimes drop it near to the main CPU. But this is not the only option to fill the holes in between the CPU and the heatsink, there is one more thing that you can use is Thermal Pads.
Thermal Pads
Thermal pads are easy to put as compare to thermal pastes. But they are not as effective as compare to the thermal paste. You will find some stock coolers come with thermal pads as it looks clean. If sometimes you have to replace the heatsink, then you have to remove the pad too. So remember whenever you remove the heatsink ot dismount it, always change the thermal pad.
Common Mistakes you have to avoid
There are some common mistakes that a lot of people make while applying the thermal paste or thermal pads.
1) Never use thermal paste and thermal pads together.
2) But you can use thermal paste on the top of the thermal pads to improve the efficiency.
3) Use of two or three pads altogether can kill the performance of the CPU.10 -
that one legendary guy who cranks out code and builds insane features. PMs (product management) love him because he builds features in several months which 10 devs together couldn't have built in the same time (so they say), features that are loved by customers as well, become their new standard and that have saved our company's asses in the past.
features are really awesome, performant and have very few bugs (compared to the rest of the software シ).
but this guy seems to live for this job. he also works at weekends, at unholy times of day and night and even in his holidays (he doesn't care that this is actually illegal, in terms of employee's rights, and he wouldn't listen to his superiors, no matter what they tell him)
so far, so good - except that he will probably die of some stroke or something very soon due to this lifestyle.
but it must be an absolute pain in the ass to work with him, as long as you're a developer (or his superior).
he lives in his own world and within the software, his features are also his own world. since the different modules interact with each other, sometimes you would be assigned a bug that might have its cause in some interaction of your and his module. talk with him about it? forget it. he wouldn't answer most devs who contacted him for some reason. ever. fix it in his module yourself? might happen that he just reverts your changes to his module without comments. so some bugs would lie on your desk forever because theoretically you know what would need to be done but if you cannot reach out into HIS world, there's no way to fix it. also - his code might be good in terms of performance and low bug numbers. but it seems to be hard to work on that code for everybody else but him.
furthermore, he is said to be really rude. he is no team player, but works on a software that is worked on by a huge team.
PMs think he's a genius, just a great dev, but they don't understand that other devs need to clean up the mess behind or around him.
everyone who's been his superior so far recommends to get him fired, but the company wouldn't fire him because they don't want to lose his talent. he can just do what he wants. he can even refuse to work on certain things because he thinks they are boring and he is not interested in them. devs seem to hate him, but my boss said, they are probably also a bit jealous because of his talent. i think, he's not wrong. :)
i haven't actually met him so far or was actually "forced" to deal with him, but i've never heard so many contrastive things about one person, the reputation of his, let's say vibrant personality really hurries ahead. he must be a real genius, after all i've heard so far, like he lives in the code. i must say i'm a bit curious but also somewhat afraid of meeting him one day.
do you also have such a guy at your company?11 -
A few days ago Aruba Cloud terminated my VPS's without notice (shortly after my previous rant about email spam). The reason behind it is rather mundane - while slightly tipsy I wanted to send some traffic back to those Chinese smtp-shop assholes.
Around half an hour later I found that e1.nixmagic.com had lost its network link. I logged into the admin panel at Aruba and connected to the recovery console. In the kernel log there was a mention of the main network link being unresponsive. Apparently Aruba Cloud's automated systems had cut it off.
Shortly afterwards I got an email about the suspension, requested that I get back to them within 72 hours.. despite the email being from a noreply address. Big brain right there.
Now one server wasn't yet a reason to consider this a major outage. I did have 3 edge nodes, all of which had equal duties and importance in the network. However an hour later I found that Aruba had also shut down the other 2 instances, despite those doing nothing wrong. Another hour later I found my account limited, unable to login to the admin panel. Oh and did I mention that for anything in that admin panel, you have to login to the customer area first? And that the account ID used to login there is more secure than the password? Yeah their password security is that good. Normally my passwords would be 64 random characters.. not there.
So with all my servers now gone, I immediately considered it an emergency. Aruba's employees had already left the office, and wouldn't get back to me until the next day (on-call be damned I guess?). So I had to immediately pull an all-nighter and deploy new servers elsewhere and move my DNS records to those ASAP. For that I chose Hetzner.
Now at Hetzner I was actually very pleasantly surprised at just how clean the interface was, how it puts the project front and center in everything, and just tells you "this is what this is and what it does", nothing else. Despite being a sysadmin myself, I find the hosting part of it insignificant. The project - the application that is to be hosted - that's what's important. Administration of a datacenter on the other hand is background stuff. Aruba's interface is very cluttered, on Hetzner it's super clean. Night and day difference.
Oh and the specs are better for the same price, the password security is actually decent, and the servers are already up despite me not having paid for anything yet. That's incredible if you ask me.. they actually trust a new customer to pay the bills afterwards. How about you Aruba Cloud? Oh yeah.. too much to ask for right. Even the network isn't something you can trust a long-time customer of yours with.
So everything has been set up again now, and there are some things I would like to stress about hosting providers.
You don't own the hardware. While you do have root access, you don't have hardware access at all. Remember that therefore you can't store anything on it that you can't afford to lose, have stolen, or otherwise compromised. This is something I kept in mind when I made my servers. The edge nodes do nothing but reverse proxying the services from my LXC containers at home. Therefore the edge nodes could go down, while the worker nodes still kept running. All that was necessary was a new set of reverse proxies. On the other hand, if e.g. my Gitea server were to be hosted directly on those VPS's, losing that would've been devastating. All my configs, projects, mirrors and shit are hosted there.
Also remember that your hosting provider can terminate you at any time, for any reason. Server redundancy is not enough. If you can afford multiple redundant servers, get them at different hosting providers. I've looked at Aruba Cloud's Terms of Use and this is indeed something they were legally allowed to do. Any reason, any time, no notice. They covered all their bases. Make sure you do too, and hope that you'll never need it.
Oh, right - this is a rant - Aruba Cloud you are a bunch of assholes. Kindly take a 1Gbps DDoS attack up your ass in exchange for that termination without notice, will you?5 -
My job sends out emails with things like "You won a prize!" In the subject line with embarrassingly vague reasons to click the links in the email. If you do, the links take you to a site where they slap your wrists for clicking an unknown link and teach you about the dangers of phishing.
It's fake spam. Ironically enough, though, it's the ONLY spam I ever get. It's more annoying than real spam because it never gets blocked by the system like an actual phishing attack would...
It is driving me crazy having to delete these stupid messages every day and they're clogging up my otherwise clean inbox! I don't even know who to contact about this bullshit because they're so "haha we got you!" about it, there's no department claiming responsibility. They're creating their own spam trying to prevent spam. What the hell?7 -
I never thought clean architecture concepts and low complicity, maintainable, readable, robust style of software was going to be such a difficult concept to get across seasoned engineers on my team... You’d think they would understand how their current style isn’t portable, nor reusable, and a pain in the ass to maintain. Compared to what I was proposing.
I even walked them thru one of projects I rewrote.. and the biggest complaint was too many files to maintain.. coming from the guy who literally puts everything in main.c and almost the entire application in the main function....
Arguing with me telling me “main is the application... it’s where all the application code goes... if you don’t put your entire application in main.. then you are doing it wrong.. wtf else would main be for then..”....
Dude ... main is just the default entry point from the linker/startup assembly file... fucken name it bananas it will still work.. it’s just a god damn entry point.
Trying to reiterate to him to stop arrow head programming / enormous nested ifs is unacceptable...
Also trying to explain to him, his code is a good “get it working” first draft system.... but for production it should be refactored for maintainability.
Uggghhhh these “veteran” engineers think because nobody has challenged their ways their style is they proper style.... and don’t understand how their code doesn’t meet certain audit-able standards .
You’d also think the resent software audit would have shed some light..... noooo to them the auditor “doesn’t know what he’s talking about” ... BULLSHIT!9 -
I'm getting more and more triggered by my colleagues overusing words in seemingly random fashion.
The word 'perspective' comes up at least 6 times during a meeting, from an x perspective, from a y perspective. It would be fine in a design meeting but it's used _so fucking much_ I cringe every time I hear it.
Another one is 'standard', that gets put in front of every word nowadays, standard process, standard protocol, standard machine, standard pipeline. What does it mean? No clue, what does it add? Nothing.
'Please put this add the standard location.'
Where?
'The default one'
What?!
I remove it from documentation every chance I get.
Furthermore, some documentation changes make small pieces of information super long. A nice summary list of features? Make it at least 3 sentences for every bullet point. 1-sentence info with a reference link to more info? Scratch that let's include all information in that reference paragraph anyway. Sometimes they even expand English expressions for no reason, making them longer and harder to read.
WHYYYY
We always complain about shit documentation and yet we're oblivious to the fact that our own docs are so bloated. Stop repeating information, stop using useless adjectives, just put it all in 1 sentence and add dozens of code examples. One piece of code says more than a billion words.
I'm not innocent either. As a teen I was great at writing long pieces of text that seemed like a great read but were actually way too bloated for the information I needed to convey. It was great for reaching word limits.
Now I'm trying my absolute best to be as concise and to-the-point as possible because I know that nobody likes reading and people just want the information that they're looking for.
Even this rant is overly long, but thank god that it's just a rant and I can let off some steam.
Btw same thing goes for diagrams, too many icons, too much text, too many lines. When I try to submit a clean-as-fuck diagram I get asked to add more info/features to which I say No, we're already at the max.
I even got a PR for review that made some changes to add unnecessary information, I pointed it out and never heard anything from them again. I rejected the PR, and never saw a new one.
* Sigh *
It's just so strange to me, it's never clear to me why these things happen. I'm too much of a coward to point these things out unless they endanger the quality of the product. But maybe they just need somebody to tell it to them.6 -
Inappropriate experience at work? Here is another one:
The IS department manager 'John' loved shelled peanuts, but hated cleaning them up. By the end of the day his desk and surrounding area were covered in peanut shells (he never bothered trying to put the shells in the trash can). He didn't seem to care because the maintenance crew would clean up the office every night and he would come in to a clean area every day.
That was until the company owner's wife was making the rounds one day and saw his mess. The shells hit the fan. The 'beat down' occurred at EOD, so most didn't witness it, but she lit him up. Almost screaming that he's a grown man and the maintenance crew have enough to do without cleaning up after him...etc..etc.
John never ate peanuts at his desk again. -
It's killing me.
This senior keeps doing all his fixes in the the same branch (named "develop-copy-{hisname}") and keeps merging it directly into develop and deployment branches. He has a lot of experience and therefore the manager gave him direct access to the branch.
The problem will arise when the QA team sends back one of the issues in the release back for changes. This never happened till date (his fixes are early and we vet all in-team changes, therefore he gets time to clean up his mess before the release date) but someday this will bite us in the ass.
I'm really unsure about ratting him out to the manager but I couldn't convince him to use separate branches (or separate commits) for different fixes. I couldn't convince him to add JIRA links/numbers into the commit messages either.
And, the junior devs I manage are getting inspired by him, and won't listen to me when I try to enforce separate branches, creating a political mess (probably I'm kinda like a contractor and they are permanent employees).
Sucks.6 -
I tought I'll buy a new laptop last week.
Went to the mediamarkt. I've choosen one with hdd. That was cheaper and I have a nice ssd at home, so I tought I'm gonna change that so I've asked the salesman about the hdd. I mean if I take it out and replace it with an ssd, it'll invalidate my warranty? Said yes. But they gladly change it to me if I bring my ssd in for a dirt-cheap €79. I said you are defenetly lost your mind. It takes 5 screws and around 5 minutes.
Anyway. I've choose an another one with ssd. But there was a sticker on it too, means it is prepared to use out of the box. It means as always, the windows is full with advertises, demos and annoying settings. And I don't use windows anyway. Ohh and it costs €29. I wanted one without this thing. Said ok, he'll check it. Comes back and said these modells are all prepared with this. I've asked him to show me a product which is 'clean'. He replied "actually all our laptops came prepared".
So I went mad and left them. This whole procedure takes more than an hour with one lesson: never go there again to buy a computer.
But at the end I've found a solution. Configurable laptops with 2 year warranty even if you upgrade it. Thats what I'll buy soon. I've had enough of big brands bullshits about unnecessary features and other bullshit. I'll buy what I need, not more, not less.
I'll write down the brand if anyone interested.26 -
The feeling when you realize some people on the project are writing legacy code from scratch. Apparently it seems they've never heard of any coding standards, they think clean code and style guidelines are for the weak and single responsibility means one single method is responsible for a bunch of unbelievably diverse things. They are like the Gumbys of the dev realm but it's my brain that hurts every time I have to deal with their code.4
-
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 -
Dear previous dev on this project,
I know that everyone loved you and still admires you for being so nice and having such a great knowledge. Please teach me your ways of achieving this level of popularity while writing big bowls of fucking flying spaghetti monster code with a bunch of hidden bugs and thousands of lines of unit tests that clearly never been used since it is literally impossible to run them thanks to missing mocks and overall bad design.
Teach me so I can become this person who shits big reeking piles in the office in front of everyone and even after leaving people still praise them for being exceptionally clean and sophisticated.3 -
Oh gee whiz fellas. I lived through my nightmare. Recently too.
(Multiple rants over last few months are merged in this one. Couldn't rant earlier because my login didn't work.)
I joined a new shithole recently.
It was a huge change because my whole tech stack changed, and on top of that the application domain was new too.
Boss: ho hey newbie, here take this task which is a core service redesign and implementation and finish it in two weeks because it has to be in production for a client.
Normally I'd be able to provide a reasonable analysis and estimate. But being new and unaware of how things work here, I just said 'cool, I'll try my best.' (I was aware that it was a big undertaking but didn't realize the scope and the alarming lack of support I'd get and the bullshit egos I'd have to deal with)
Like a mad man I worked 17+ hours a day with barely a day off every week and changed and produced a lot of code, most of it of decent quality.
Deadline came and went by. Got extended because it was impossible (and fake).
All the time my manager is continuously building pressure on me. When I asked questions I never got any direct/clear answers. On asking for help, I'd get an elaborate word vomit of what was already known/visible. Yet I finally managed to have an implementation ready.
Reviewer: You haven't added parameter comments on your functions and there aren't enough comments in code. We follow standards. Clean code and whatnot. Care for the craft verbal diarrhea.
Boss: Ho hey anux, do you think we'll be able to push the code to production?
Me: Nope. We care for the craft and have standards. We need to add redundant comments to self documented code first, because that is of utmost importance as Nuthead reviewer explained.
(what I wish I had said)
What I actually said: No, code is not reviewed yet.
And despite examples of functions which were not documented (which were written by the reviewer nut), I added 6-7 lines of comments for my single line functions describing how e.g. Sum takes two input integers and returns their sum and asked for a review again.
Reviewer: See this comment is better written as this same-meaning-but-slightly-longer way. Can we please add full stops everywhere even though they were not there to begin with? Can we please not follow this pattern and instead promote our anti-pattern? Thanks.
Me: Changed the comments. Added full stops. Here's a link for why this anti-pattern is bad.
Reviewer: you have written such beautiful code with such little gems. Brilliant. It's great to see how my mentoring has honed your skills.
.
.
.
I swear I would have broken a CRT on his stupid face if we weren't working remotely (and if I had a CRT).
It infuriates me how the solution to every problem with this guy is 'add a comment'.
What enrages me more is that I actually thought I could learn from this guy (in the beginning). My self doubt just made me burnout for little in return.
Thankfully this living nightmare will soon be over.rant fuck you shitty reviewer micromanagement by micrococks wk279 living nightmare fml glassdoor reviews don't lie9 -
Next week I'm starting a new job and I kinda wanted to give you guys an insight into my dev career over the last four years. Hopefully it can give some people some insight into how a career can grow unexpectedly.
While I was finishing up my studies (AI) I decided to talk to one of these recruiters and see what kind of jobs I could get as soon as I would be done. The recruiter immediately found this job with a Java consultancy company that also had a training aspect on the side (four hours of training a week).
In this job I learned a lot about many things. I learned about Spring framework, clean code, cloud deployment, build pipelines, Microservices, message brokers and lots more.
As this was a consultancy company, I was placed at different companies. During my time here I worked on two different projects.
The first was a Microservices project about road traffic data. The company was a mess, and I learned a lot about company politics. I think I never saw anything I built really released in my 16 months there.
I also had to drive 200km every day for this job, which just killed me. And after far too long I was finally moved to the second company, which was much closer.
The second company was a fintech startup funded by a bank. Everything was so much better than the traffic company. There was a very structured release schedule, with a pretty okay scrum implementation. Every team had their own development environment on aws which worked amazingly. I had a lot of fun at this job, with many cool colleagues. And all the smart people around me taught me even more about everything related to working in software engineering.
I quit my job at the consultancy company, and with that at the fintech place, because I got an opportunity I couldn't refuse. My brother was working for Jordan Belfort, the Wolf of Wallstreet, and he said they needed a developer to build a learning platform. So I packed my bags and flew to LA.
The office was just a villa on the beach, next to Jordan's house. The company was quite small and there were actually no real developers. There was a guy who claimed to be the cto of the company, but he actually only knew how to do WordPress and no one had named him cto, which was very interesting.
So I sat down with Jordan and we talked about the platform he wanted to build. I explained how the things he wanted would eventually not be able with WordPress and we needed to really start building software and become a software development company. He agreed and I was set to designing a first iteration of the platform.
Before I knew it I was building the platform part by part, adding features everywhere, setting up analytics, setting up payment flows, monitoring, connecting to Salesforce, setting up build pipelines and setting up the whole aws environment. I had to do everything from frontend to the backest of backends. Luckily I could grow my team a tiny bit after a while, until we were with four. But the other three were still very junior, so I also got the task of training them next to developing.
Still I learned a lot and there's so much more to tell about my time at this company, but let's move forward a bit.
Eventually I had to go back to the Netherlands because of reasons. I still worked a bit for them from over here, but the fun of it was gone without my colleagues around me, so I quit last September.
I noticed I was all burned out, had worked far too much, so I decided to take a few months off and figure out what I wanted to do with my life. I even wondered whether I wanted to stay in programming.
Fast forward to last few weeks. I figured out I actually did want to work in software still, but now I would focus on getting the right working circumstances. No more driving 3 hours every day, no more working 12 hours every day. Just work close to home and find a company with the right values.
So I started sending out resumes and I gave one recruiter the chance to arrange some interviews too. I spoke to 7 companies in the span of one week. And they were all very interested. Eventually I narrowed it down to 2 companies and asked them for offers. And the company that actually had my preference offered me significantly more than I asked for, which settled the deal.
So tomorrow I'm officially signing with them, and starting next week I'll be developing in Kotlin, diving into functional programming and running our code in serverless environments. I'm very excited! -
Keeping my layer names as clean and explicit as my variables when I am designing.
I will never leave an "New Layer 1" untouched!2 -
tl;dr Do you think we will any time soon move from editing raw source code? Will IDE or other interfaces allow us to change the code in graphic representation or even through voice?
---
One thing I found funny watching Westworld is how they depicted the "programming" - it is more like swiping on a smartphone, a bit maybe like Tom Cruise's investigations in Minority report. Or giving certain commands and key words by voice.
There was one quote from Uncle Bob's "Clean Code" I could never find again, where he said something along the lines, that back in the seventies or eighties they thought they would soon raise programming languages to such a high level they would use natural language interfaces, and look at us now, still the same "if's".
So I feel uncomfortable without my shell and having tried a graphical programming language once this particular (Labview) seemed clumsy to me at best. But maybe there are a lot of web devs here and it seems with them frameworks you might be able to abstract away a lot of the pesky system programming... so do you feel like moving to some new shiny programming experience or do you think it will stay the same for more decades as the computer is that stupid machine where you have to spill it out instruction by instruction anyways?7 -
One of my worst WFT moments was just over 2 years ago.
A former colleague had been tasked with “upgrading” our solution for handling customer specific CSS on our platform for building newsletter emails.
He had been with us for about 5 years and ported most of the front end gui over that time from classic asp to .net and C#.
This work started in November and with a pause over dec-mid jan for high season and Christmas leave he continued.
In the beginning if mars we had the first of multiple WTF on that when I realized that his solution required a lot of special CSS or rather LESS, more than the a actual HTML for the template, and all was custom less rules that was very hard to understand.
We found that he actually never really understood how LESS worked and had tried to do things in a very backward way. Another colleague jumped in and manage to clean it up a bit so it got down to manageable levels.
Then in the end of Mars came the next bigger WTF. This is a newsletter building application. Turns out the new LESS based solution was entirely dependent on the js version of LESS and only worked when running in the browser. Guess what, the email send engine is not a browser and css classes and rules generally does not work in emails.
The new solution was impossible to integrate with the part that built and sent the emails without some very heavy rework.
Oh, and it was also completely incompatible with 12 years of old newsletters and customer templates that just did not work.
And of cause, he had not shown any of this in code reviews but rather just merged it part by part to the new version branch interleaving it with 5 months of other work.
He left the company short after.11 -
Proudest bug squash? Probably the time I fixed a few bugs by accident when I was just trying to clean up an ex-coworker's messy code.
So I used to work with a guy who was not a very good programmer. It's hard to explain exactly why other than to say that he never really grew out of the college mindset. He never really learned the importance of critical thinking and problem-solving. He did everything "by the book" to a point where if he ran into an issue that had no textbook solution, he would spin his wheels for weeks while constantly lying to us about his progress until one of us would finally notice and take the problem off his plate. His code was technically functional, but still very bad.
Quick Background: Our team is responsible for deploying and maintaining cloud resources in AWS and Azure. We do this with Terraform, a domain-specific language that lets us define all our infrastructure as code and automate everything.
After he left, I took on the work to modify some of the Terraform code he'd written. In the process, I discovered what I like to call "The Übervariable", a map of at least 80 items, many of them completely unrelated to each other, which were all referenced exactly once in his code and never modified. Basically it was a dynamic collection variable holding 80+ constants. Some of these constants were only used in mathematical expressions with multiple other constants from the same data structure, resulting in a new value that would also be a constant. Some of the constants were identical values that could never possibly differ, but were still stored as separate values in the map.
After I made the modification I was supposed to make, I decided I was so bothered by his shitty code that I would spend some extra time fixing and optimizing it. The end result: one week of work, 800 lines of code deleted, 30 lines added, and a massive increase in efficiency. I deleted the Übervariable and hardcoded most of the values it contained since there was no possible reason for any of them to change in the future. In the process, I accidentally fixed three bugs that had been printing ominous-sounding warnings to the console whenever the code was run.
I have a lot of stories about this guy. I should post some more of them eventually.2 -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
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 -
- a split keyboard with a touchpad in the middle that will let you control all gestures on a computer
- a set of desk/monitors that adjusts perfectly for ergo for anyone
- a vertical laptop dock that is modular so you can add extra memory/video processing power and only using your laptop as a CPU/secondary graphics card
- a set of kitchenware and plates that would be so easy to clean and would never get stained
-an insect home alarm system that tells you where the fucking insect is so it doesn't take you by surprise/you can call someone to remove it
- a clothing brand that has a buy one gift one operation mechanic, where you buy a shirt and an article is donated to a local charity
- a restaurant
- a simple, yet robust database option that walks users through creating good databases that is super user friendly
- an app that takes tattoo designs in any format, converts them, allows for editing, and then can hook up to a special printer that gives you the transfer you will use on the client22 -
I know people have mixed feelings about Uncle Bob and I really never followed the guy at all, but back in college I found his book Clean Code on a shelf and read it cover to cover. A lot of it really stuck with me. In fact, I might dig it up again now that I'm thinking about it.3
-
If I ever get the chance to start my own company or pick out the dev team I work with... I will never, ever, ever work with anyone who doesn't understand how to abstract out a problem. Our prod DB is a mess and our API is a mess because we left it to some dudes who are dumb as shit and doing everything ad-hoc. Now their ad-hoc shit doesn't work anymore and I get to clean it up. 😫😞FML
-
Day 2 of devWholesome...
Have another great day! Have fun and do something productive! It is always a great feeling when you finish something that requires a lot of time and effort. Finish that project that you started but never finished, clean your room, or maybe just catch up on school work! Make sure you are also taking care of yourself with your hygiene and to eat all your meals and drink plenty of water. If you are feeling stressed today, take a break and relax! And again, make the most out of your day!4 -
Hitting a really deep, deep low in the manic-depressive roller-coaster of the development cycle:
There comes the crunch time. No meeting goes by hearing the odious: "We don't have time for that." - One critical component needs to be finished for Big Sur and instead of addressing the real issues we keep changing design and goal. One main dev already gave up fighting the PO and team lead(!) - and now I'm next. So that dev build this really clean and minimal library as the core part. But now it's just like, yeah, take that nice Porsche engine put it on the old rusty bicycle from the shed,.. but maybe because that's so shitty we need that specially formed exhaust pipe to tune it. Yeah, very 'agile' - Only thinking about it makes me shudder in disbelief and anger. I shouldn't take that shit so serious, be emotional about shit code, I know, but I can't. Let them drive some rounds around the block, if it runs at all,.. because until now we still didn't make it run on the fuckin' street. It's all so insane. Will make some nice fireball, when it goes up in flames.
Well, I have been part of quite some shitty projects. Real suicide commandos set out to fail, and somehow stood them through or made it even "work" though it should never have. But what enrages me here is, that it needn't to be that way. We had plenty of time. Our team was often rowing along in good rhythm. And now I just feel drowned in resignation and sarcasm.rant fuck po resignation crunch time shitty design manic-depressive sarcasm low roller-coaster low fail hard -
5000 scss file with the name global.scss styling.
How fucking dumb can you be to fucking mess up a clean component based architecture like Foundation or Bootstrap and fill it with shit in a single file.
No wonder WP gets shit. The legacy code is usually shit.
And to put the shit cherry on top. This motherfucker had a settings.scss file with all general components and he never used it.
Fucker put different font size in px everywhere! Fucking asshole!!! -
Got a new job a couple days ago, cleaning cars at a dealership. One of my friends works there doing the same and he told me I should apply.
The hourly rate isn't much more than I was making at McDonald's, but I have very consistent hours now. I'm only scheduled for 35 hours a week, but normally we don't get out on time. On Friday we didn't get out until an hour after I was scheduled to leave, so chances are I'll get overtime here.
Basically all I wanted in a job was to have consistent hours. Come in at 2, leave at 8, rinse and repeat. McDonald's was basically, come in at 4, leave at 10, maybe stay until 11. Next day you're coming in at 7 and closing, next day you normally work but now you don't. Just very inconsistent, and basically no chance at full time unless you're a manager's favorite.
I like the new job, I get to drive nice cars and clean them, and that's basically it. I got to drive a car that's the same model as my mom's car, but 7 years newer (she has a 2011, the one I drove was a 2018). Even got to drive the exact model of the car that hit me a few months ago (same year too).
I've never been a huge car guy, but I really like it there. There's just something very satisfying about driving a brand new car. Also, at McDonald's I wasn't allowed to have a beard. At the new job they don't give a shit, as long as I work.3 -
When I was 6yo I was playing next to my dad with his old PC on a good old CRT a game called “Sperms” where you catch sperm with condoms and every time you do it made a really loud “YIPPIE” sound. I was playing this game for 4 years.
Somewhere around when I was 10 my dad told me we should build a PC and I was asking “Why does everyone has to make their own PC?”, I didn’t yet know what an cheap ass my dad is, so we did. Had a lot of fun and was very scared of the PSU, like really scared.
It blew up a few months later because I switched the toggle on the back from 220v to 110v, and got even more scared of PSU’s until I started an electricians apprentice.
Anyways, one day my dad and I where at a friends place and I played Tux Racer on his super loud Maschine that would crash if you kept the side door of the table closed, it ran some kind of Linux and I was fascinated how “simple and clean” it looks. I got a mini-cd to install it at home and immediately was hooked because the windows installation was such a pain in the arse those years. I did that all by myself just because I also wanted to play Tux Racer at home.
Anyways, somewhere right before GTA IV came out I started with VB.Net and ever since I was totally hooked and spend more time doing that than actually going to school.
My dad didn’t care and just let me do this, my mum just made sure I would have been up at least after the first lession, I don’t miss the bus and that I went to bed in a timely manner, which never happened because the PC was in my room and my mum slept downstairs and couldn’t notice that I was doing script kiddie things after an hour or so of “sleeping”.
So yeah, they didn’t care and were happy I didn’t annoy them.
Actually I didn’t wanted to become a developer because I always wanted to have it be a hobby or something and I liked woodwork more, but then people more qualified than me were more stupid than this script kiddie that still just wanted to play Tux Racer. That’s it.2 -
Warning long rambling story cause sleep deprivation
I never really bothered with ssh outside of using putty to remote into my servers and rpi's from my desktop to run updates, install something, or whatever else.
But today I was on a call with my cousin bored cause she was just rambling, so I opened vscode to clean my install of unnecessary extensions I installed and haven't used more than once or twice.
I saw Remote - SSH and as I was bored listening to a teenager complain about high school just like I used to (lol) and responding when she asked me something. I scrolled through the page, then the documentation just casually skimming the text
I setup an ssh key on an rpi I threw manjaro arm following the instructions on their tips and tricks page
I then moved the key to my desktop using winscp (cause lazy)
leading to having a minor hicup of rsa not being an accepted keytype (thanks 'your favorite search engine' for the help)
Finally, I was able to connect using the private key
at this point my cousin went to bed cause she has school tomorrow. But I was still doing stuff with ssh, I created a new ssh connection in VSCode, but had to go to the documentation to figure out how to make it use my fancy new key file, not hard took 30 seconds of looking to get it working.
Now that I was in, I moved to my development folder, created a folder for PiHole, created a compose yml, created a pihole-data folder.
I opened the yml and pasted in a compose from dockerhub.
at this point I thought 'i can't just run this from terminal can I'. and Obviously it worked cause there's literally no reason it wouldn't I'm just stupid to think it might not.
So I created folders and files on a remote system, launched a docker container, checked for package updates after on a linux machine. All from VS-Code on a windows machine.
I know this is simple for some people, i know some people are like 'where's the interesting part'. but ehhh I thought it was cool to get it setup, I now really regret not getting into ssh sooner, and I'm definitely going to uninstall vscode on all my smaller graphical VM's in favor of doing this. and this will definitely help with my headless vm's.
I also will have to thank my cousin, might not have done this if I wasn't stuck at my computer on messenger call with her lol
I'm gonna go to bed now, But I feel accomplished for the first time in a while even if it's for something so simple as setting up anssh key for the first time3 -
I needed to log in on a website in someone else's pc and didn't know the password by heart. I thought I'd log into chrome, if I log out later, what could go wrong right?
Apparently, a lot. It facking merged my bookmarks, history and passwords with hers! And she had shitloads of them! It took me facking hours to clean up the mess chrome created. I trust her, but I still didn't want her to have my passwords etc.
Omg I'm never logging into chrome again elsewhere, what a frustrating facking waste of time10 -
So while everyone is posting their devdesk, here I'm contemplating whether to clean or buy new or just roll back and ignore I have never seen this.
I'm in a mudaphuking closed air conditioning room. Where did all this came from?6 -
Got a virus (was stupid enough to rely on Defender coz didn't want to compromise performance).
Hell I right-clicked > scan with defender and it gave it a clean chit.
Later got every click on any page leading to some porn website (that too fuckin clickbaits not the real ones -_-)
Installed Kaspersky on trial > virus removed.
BUT the fucker modified files.
Reinstalling Firefox disinfected it,
BUT I CANT REINSTALL EDGE.
Another full-OS reset.
I guess this is how women in their late 30s feel like..
'Ill never get the luxury of settling down'
*sigh*3 -
Let's face it: I am and will always be a tinkerer. Yes, I know my ways around, I can sneak into legacy code bases easily and throw new stuff in there, I've seen software stacks. But scarcely sound design, really modular. Even from the cleverer, experienced ones. They can master more complexity, so they can handle more spaghetti. Some essay from the 80's had this grand idea to organically 'grow' software. That's how it looks like most of the times: cancerous, parasitic super fungi (armillaria). Yeah, we all know have to fight bit-rot and entropy, but it was all lost before already. We'll never get rid of legacy protocols, legacy code.
And even when we go green field, start a fresh. Yeah, take a great design, make everything new, after some months of throwing features and outer constraints at the thing, it's the same old mud again.
But we can still dream on: some day I will design great APIs, I will have great test coverage, documentation, UML design, autometed tests, fuzzing, memchecking, I'll work professionally, clean coder style.
Pfft forget it. Maybe change for consulting, because we'll continue to dream of the 'clean' code, so you can sell the next 'recipe', development method. It's like diets. As effective. For the one selling.2 -
My uncle has definitely been my biggest influence. My parents never understood computers and refused to buy one. Eventually my uncle gave me an old Win95 box with an 8GB HDD, and 512 MB of RAM(most other people in the world were running XP at this point). The thing was completely useless as a computer to do work on when I received it.
The internet wasn't really a thing yet back then, but I managed to figure out how to clean up the OS, as well as taking it a part and figuring out the parts.
He was the one who taught me that with computers, all things are possible.
From there he was always buying me books about programming, and pointing me in the right direction. He was never one to give me the answer, but always told me where to look or what to ask.
Now I'm the main web developer at my company and I love what I do. -
I really need to get out of this clusterfuck of a mess I got into, A.K.A. our website projects. Now, it feels more and more like all these problems and issues we're having are all my fault.
Here's the thing: I had 0 experience on web development before I got this job. I started as an intern, expecting to learn all the right practices and techniques on building websites. Nope. What happened was I was thrown in this big project, responsible for almost every functionality that it was supposed to have.
A junior-level guy. Doing a huge project on his own. Hell, I'm probably even lower than a junior. But here I am, pigeonholed in this shittard. My boss even said to me, "you know more about the website than I do." Fucking hell. He's not even aware of the clusterfucks I've done on the codebase because, fuck, what did I know? I don't even get feedbacks about my code. I don't fucking know if I'm doing all of these shit right. I don't know if this function is supposed to be here, or if it's supposed to behave that way, and, shit, the concept of test-driven development is probably something my boss has never heard of before.
So right now, I'm a bit obsessed with web development best practices, and how to write clean, maintainable code. I would probably get more learning from going to meetups than I will ever have from this place.
This has been a very shitty start of my career. I hope a much better learning experience will be plentiful at my next job (if anyone's willing to hire me). It would be like starting all over again. Sorry for the long post. I would like to put this as a blog post, but it's probably not a good idea, specially since I'm looking for a new job. Thank God for devRant.2 -
I refused to get into python pretty long but yesterday it happend. I got the py. :')
Coming from Java/Netbeans I tried installing it again (for personal projects), but since Apache took over and Java 10 got released I never seemed to be able to accomplish a clean IDE install.. I gave up while I wanted to turn a current python programmer to java and, again, Netbeans fckd me over. I tried IntelliJ again afterwards but Netbeans seemingly fcked over the whole JDK installation too, so I gave up for real.
Everyone in my vicinity told me about python and it's coolness. I just.. no.
No {}, no semicolons, indentations are relevant... idk. I did not want to, but some part of me still wanted to try it. I want to work in the infosec branche so it definetly should be one of my interests shouldn't it?
So I tried yesterday, installed PyCharm and in literaly minutes (of course with trusty Stack Overflow behind me) I had a Qt based GUI which functioned as a basic webbrowser. I was intrigued. Well, I took like 100 times that time to get a working .exe out of my .py with all dependencies, but with the help of mentioned python friend I also got this to work. Python is cool now, I guess... ;b -
I need to vent or I'm going to fucking explode like a car filled with bombs in motherfucking Iraq...
A couple of months ago I inherited a project in development from our team leader who was the sole developer on it and he was the one who designed every single thing in it.
I was told the project is clean, follows design patterns, and over all the code is readable and easy.
Those were all fucking lies.
See throughout the period he was working on it, I saw some of the code as it was going through some pull requests. I remember asking the dev why he doesn't comment his code? His response was the most fucking condescending shit I've ever heard: "My code is self-documenting"...
Now that I have full control over the code base I realize that he over engineered the shit out of it. If you can think of a software design pattern, it is fucking there. I'm basically looking at what amounts to a personal space given to that dev to experiment with all kind of shit.
Shit is way too over engineered that I'm not only struggling to understand what the hell is going on or how the data flows from the database to the UI and in reverse, I'm now asked to finish the remaining part and release it in 8 weeks.
Everything is done in the most complicated way possible and with no benefits added at all.
Never in my career have I ever had to drag my sorry ass out of bed to work because I always woke up excited to go to work... well except for the last 2 weeks. This project is now taking a mental toll and is borderline driving me crazy.
Oh, did i tell you that since he was the only dev with no accountability whatsoever, we DO NOT EVEN KNOW WHAT IS LEFT TO BE IMPLEMENTED?
The Project Manager is clueless.. the tickets board is not a source of truth because tickets set to resolved or complete were actually not even close to complete. FUCK THIS SHIT.
For the last week I've been working on 1 single fucking task. JUST 1. The whole code base is a mine field. Everything is done in the most complicated way and it is impossible for me to do anything without either breaking shit ton of other features (Loosely coupled my ass) or getting into fights with all the fucking libraries he decided to use and abuse.
1 whole week and I can't even get the task done. Everyday I have to tell the project manager, face to face, that I'm still struggling with this or that. It's true, but i think the project manager now thinks i am incompetent or just lazy and making excuses.
Maybe I'm not smart enough to understand the what and why behind every decision he made with this code. But I'm sick to my stomach now thinking that I have to deal with this tomorrow again.
I don't know if I'll make the deadline. But I'm really worried that when this is released, I'll be the one maintaining that nightmare of a code base.
From now on, if i hear a fucking developer say their code is "self-documenting" I will shove my dick + a dragon dildo + an entire razor gaming keyboard up their ass while I shoot their fucking knees off.
oh... and there are just a couple of pages of documentation... AND THEY ARE NOT COMPLETE.2 -
Wrote a set of beautiful Swift functions. Runs Xcode, nothing. Checks code...looks good...clean build, delete app, re-install, rebuild...nothing. Checks documentation, watches three videos, re-writes code...nothing. Stares at screen for an hour...realizes I never actually called the functions. Closes laptop, checks self into pysch ward.3
-
I messed up . My testicle problem isn't going anywhere soon, and one ultrasound report already says could be a tumor. 2nd test will be done in 10 days, but if its a cancer, then my life just got officially reduced by 20 years and practically reduced to this year, coz fuck this life if I can't be normal.
I already
- haven't ever got love or chance to kiss a loved one,
-have a super beta personality and never got enough respect from anyone
- am not having any friends at current stage
- shifted from my native location and living in a new isolated place
- got ugly ass looks, height and weight to never feel happy
and now with a probable tumor coming which would lead to hair lossing chemo sesssions, ball removal surgery and followed by lifelong of infertility, I would prefer death over a meaningless loveless life
I am so devastated as to why i got into this state. nothing has been going good for lalst 2 years.
- i left my previous company which had a great culture, less work but asked for relocation . i joined this current company with horrible work culture, 3 days working and overload of stress
- I had fights with my friends and don't have any friends anymore
- i broke my arm this year.
- i caught terrible cough last year which took time but got better
- there have been constant bickering and fights among parents for 100s of reason . no more than 2 days goes by when any 2/3 people of our nucleolus family is not fighting
- and countless more shitty stuff
I was on a path to become a mediocre okayish guy. i was having a decent salary , learning new stuff everyday, fighting new task battles, becoming a beeter dev amd aiming to go for senior dev/TL role, buying car l, new home and planning for marriage, ...
but nope. God has some other plans.. some ugly and cruel plans, for the guys who don't even had the chance to live a villionous life.
I wonder how that guy from my scchool who used to date so many girls is doing now. God must be very angry with his Casanova behaviour. Oh wait, that asshole is earning 160k and married her gf from last 8 years!
i wonder how that gu from my homies is doing who used to hookup with random girls every weekend. Oh wait, he got promoted to TL and bought a new home!
I wonder how my friend who smokes 4 cigs a day and drinks beer every night is doing. Oh, he's going on international trips every month , earning 600k and have a clean medical record!
yepp such a great decision maker that guy on the top is . Let me connect with him soon and ask these questions , will let you know what he says. :/7 -
I love git stash.
It's helps a lot for doing refactors to me. I guess it's not the most complex workflow, but it wasn't obvious to me when I started with git. Let me explain.
Refactors. As you start writing the first lines of a refactor, you start to notice something: you're changing too many things, your next commit is going to be huge.
That tends to be the very nature of refactors, they usually affect different parts of code.
So, there you are, with a shitload changes, and you figure "hey, I have a better idea, let me first do a smaller cohesive commit (let's call it subcommit) that changes a smaller specific thing, and then I'll continue with the upper parts of the refactor".
Good idea, but you have a shitload of changes nearly touching every file in your working copy, what do you do with these changes? You git stash them.
Let's say you stash and try to do that smaller "subcommit". What sometimes happens to me at this point is that I notice that I could do an even smaller change inside this current "subcommit". So I do the same thing, I git stash and I work on that even smaller thing.
At some point I end up `git stash pop`ing up all these levels. And it it shows that git stash is powerful for this.
* You never lose a single bit of work you did.
* Every commit is clean.
* After every commit you can run tests (automated or manual) to see shit is still working.
* If you don't like some changes that you had git stashed, you can just erase them with git reset --hard.
* If a change overlaps between a stash you're applying and the last "subcommit", then
if they differ, git shows conflicts on the files,
if they are identical, nothing happens.
with this workflow things just flow and you don't need to wipe out all your changes when doing simpler things,
and you don't need to go around creating new branches with temp commits (which results in bloated temp commits and the work of switching branches).
After you finish the refactor, you can decide to squash things with git rebase.
(Note: I don't use git stash pop, because it annoys the fuck out of me when I pop and you I get conflicts, I rather apply and drop)4 -
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
The year was 2006. During the first half of my career, I use to work in the NOC. This was before I made my transition to software engineer. I worked on the third shift for a bank services company. The company was on a down turn. Just years earlier they just went public, and secured a deal with a huge well known bank. Eventually they entered a really bad contract with the bank and was put into a deal they couldn't deliver on. The partnership collapse and their stock plummeted. The CEO was dismissed, and a new CEO came in who wanted to "clean things up".
Anyway I entered the company about a year after this whole thing went down. The NOC was a good stepping stone for my career. They let me work as many hours as I liked. And I took advantage of it, clocking in 80 hours a week on average. They gave me the nick name "Iron Man".
Things started to turn around for the company when we were able to secure a support contract with a huge bank in the Alabama area. As the NOC we were told to handle the migration and facilitate the onboarding.
The onboarding was a mess with terrible instructions that didn't work. A bunch of software packages that crashed. And the network engineers were tips off, as they tunnel between our network and the banks was too narrow, creating an unstable connection between us and them. Oh, and there were all sorts of database corruption issues.
There was also another bank that was using an old version of our software. The sells team had been trying to get them off our old software for over a year. They refuse to move. This bank was the last one using this version, and our organization wanted to completely cut support.
One of the issue we would have is that they had an overnight batch job that had an ETA to be done by 7 AM. The job would often get stuck because this version of the software didn't know how to fail when it was caught in an undesired state. So the job hung, and since the job didn't have logging, no one could tell if it failed unless the logs stopped moving for an hour. It was a heavily manually process that was annoying to deal with. So we would kill the JVM to "speed" the job up. One day I killed the JVM but the job was still late. They told me that they appreciated the effort, but that my job was only to report the problem and not fix it.
This got me caught up in a major scandal. Basically they wanted the job to always have issues everyday. Since this was critical for them, all we needed to do was keep reporting it, and then eventually this would cause the client to have to upgrade to our new software. It was our sales team trying to play dirty. It immediately made me a menace in the company.
For the next 6 months I was constantly harassed and bullied by management. My work was nitpicked. They asked me to come into work nearly everyday, and there was a point I worked 7 days with no off days. They were trying to run me so dry that I would quit. But I never did.
On my last day at the company, I was on a critical call with a customer, and my supervisor was also on the line. My supervisor made a request that made no sense, and was impossible. I told her it wasn't possible. She then scalded me on the call in front of customers. She said "I'm your supervisor, you're just a NOC technician, you do what I say and don't talk back". It was embarrassing to be reprimanded on a call with customers. I never quite recovered from that. I could fill myself steaming with anger. It was one of the first times in my adult life that I felt I really wanted to be violent towards someone. It was such a negative feeling I quit that day at the end of my shift with no job lined up.
I walked away from the job feeling very uncertain about my future, but VERY relieved. I paid the price, basically unable to find a job until a year and a half later. And even was forced to move back in with my mother. After I left, the company still gave my a severance. Probably because of the supervisor's unprofessional conduct in front of customers, and the company probably needed to save face. The 2008 crash kept me out of work until 2009. It did give me time to work on myself, and I swore to never let a job stress me out to that degree. That job was also my last NOC job and the last job where did shift work. My next few jobs was Application Support and I eventually moved into development full time, which is what I always wanted to do.
Anyway sorry if it's a bit long, but that's my burnout story. -
This happen last year during a one day workshop over zoom. We where around 16-18 strangers plus the tutor. We started with everyone introducing themselves (most showing their faces on camera), then it was just the tutor with his shared screen. Two hours in, one of the participants accidentally turned her camera on. I know it was accidental because I still cringe from what happened next: she started picking her nose. At this point, I have to clarify that I'm not familiar with zoom, because I'm on Microsoft teams almost exclusively thanks to my organization. While I looked frantically on how to DM this person (something along the lines of "hey, your cam is on :)" or whatever), I watched in horror as the second act of this play unfolded as she put her finger in her mouth and started to eat it. At this point I was actively dying from second hand embarrassment. Like girl, our orgs payed good money to be on this workshop, gave us a day off (so to speak) and know all I can focus on is you going gold hunting and bringing home some cured cave meat. My boss basically paid so I can get traumatized! And all this while being being in the comfort of my own home. Thanks, zoom! Anyway, she went in for seconds. That is when I died. I am dead at this point. My eyes glued to the screen. Ears ringing. Brain fried. It is done. Now, that the cringe has peaked, does it even matter If I figured out how to dm her? It is too late at this point. We all saw it. The tutor must have seen it. We all witnessed it. We are all witnesses, your honor. She has been witnessed! What else can I do at this point? Me, one bystander amongst bystanders. Idle and powerless.This is exactly how the holocaust started! At this point, I'm no better than your average Joe, who doesn't really like the new regime but doesn't fight it either. At this point, I ask myself what would Jesus do? Or Hollywood? What would happen in the movies in this situation? If I cant fight them, join them? Starting my cam, knuckles deep and double fisting my air holes to save what? It is done. Nothing left. She made her statement. She basically played us for fools. By god, what a freaking boss move that was! Like, can you imagine? Here we were, during the end of a world wide pandemic, bound to our homes, advised to regularly clean our hands, protected ourself and our loved ones and, yes, not eat buggers. And here comes miss fuck-it-all showing us degenerates how its done. You go girl! You showed us the light while we dwelled in darkness. You are our queen! Long may be her reign and just her punishments! I have seen true power and wept with the angles! I was born again. My mind at peace. I was Gandalf the Grey, now I am Gandalf the White. This is the day I will tell my children about. Songs have been written for less. I will never forget this!
Anyhow, I could go on, but that this is basically what happened over the span of a couple of moments in late 2022. I will never forget her. And now you won't either ❤️1 -
TLDR; After my dad was lazy, I assembled the parts myself.
As far back as I can remember, if I think of my father he is sitting behind his pc playing games. It was like me, his escape.
When I was between 3-5 years old he upgraded his pc to one that supported windows 95. The most exciting thing I remember about his new pc is that it had a sound card or what passed as one anyway - think polyphonic ring tones in place of onboard beeps. It was fucking awesome.
He gifted his old 386 to my brother and I which we spent a blissful year or so playing DOS games on until it finally died. I wouldn't have access to a home computer again until I was 11 - touching my fathers computer was out of the question, never mind actually using it.
The reason I didn't have access to a pc was simply because he didn't replace his pc - he made minor upgrades to it until he died with a whopping 512mb of RAM. Seriously his pc specs were a bragging factor like geek porn - better than any else's I ever saw including his I.T friends (he was an electrical engineer), everyone knew this apparently aside from his boss...
Auto-cad started becoming a thing and my father for the first time ever had a reason to actually do work on a computer, he immediately used the opportunity to leverage his company into paying for a pc. To get better "value" for the company he ordered the parts in place of a pre-built machine - in reality he blew 90% of the budget on a new motherboard and graphics card to upgrade his own pc and the cheapest entry level components for everything else. The day they arrived he upgraded his own pc, threw the excess parts into a box and told us it was our new computer which he would put together over the weekend. He didn't.
After 3 months of nagging I was fed up and taking liberties with him that landed me more than one hiding, at some point he was over it and told me if I wanted something that badly I should do it myself. He walked into my room after becoming concerned if I had run away/hurt myself since he hadn't heard a whistle from me in 6 hours and I was battling my ass off trying to install windows 98.
He inspected my assembly gave me an approving nod and showed me that the hard drives physical jumper was set to slave and the rest is history. I hadn't used windows before, or built a computer let alone used one in years but somehow I always knew, it just clicked and made sense to me.
I didn't truly recognise just how much I had learn't watching him play DOS games over his shoulder and clean/upgrade his pc. It changed everything and thanks to only being allowed to watch him use a pc, once I finally had access to my own computer again I revered it and all it's possibilities. I knew I should use it to do something special. -
Goals:
-> Write clean code
-> Never trust the code
-> Never use PHP
-> Stop procastinating
-> Stop ranting3 -
To all that read my rants regarding my webshop before! Here's the long awaited update!
So this asshole partner did just not take care of business so I decided to stand down as a director for that company. So we arranged that last monday.
I thought: let's end this properly, clean up my mail, some other stuff... tuesday he revoked me access to everything, so I couldn't access anything anymore. Wow fucker! You never did a thing and now suddenly you take action? Wtf?!
Can you please pay your part of the bill for the accountant? You already promised a couple of times.
Well of course mr retard, you really think I'll follow up on my promises? You never kept 1 of them yet expect me to keep that promise? Fuck you man.
So today he asked again. I told him that I'd like to know what he wants with all the custom made stuff as I developed it and copyright is owned by me. Then mr asshole started insulting again: just because of the fact that you're not a front end dev doesn't mean that makes.up for you taking so much time.to implement all that. I asked an expert.and he could do it in 3 hours! Wow dude! A front end dev optimizing db queries, rewriting parts of the back end in just.3 hours including the front-end?,You're so right.
Of course not cunt face. I'm already full stacking for 20 fucking years and.you tell me that?! Really? Mr insult's back again!
Then he says: I'm so fed up with all this crap that to end this properly I will have my new IT business partner look at your so called 'custom made components'.
For fuck's sake man, can I send you a tree with a rope so that you can hang yourself?
Good luck getting your domain name as it is still registered on my company's name. I might cancel it someday in the future at my convenience.
If anyone here loves fucking up a website, get in touch with me.1 -
Had to clean out a colleagues desk today, they were asked never to show up to the office again as of immediate effect. No clue what went down. And was all out of nowhere.1
-
Im having a sort of dilema. I recently started taking freelance work for web developement (and design ack) and Im uncomfortable with the state of the industry. Ill explain: Say if I bid a client for a simple 1-3 page site w contact form (a new page, not migration) My suggestion is to use djangocms, django, or just static html/css/js (ie bootstrap), which produces clean, fairly secure, and fast sites. Of course I can throw a templated unoriginal wordpress site together in a few hours 2 days latest, so I offer that option as a sidenote on the bid, charging almost 2x more. For some reason I dont understand they choose the wp shitshow. I explain all the reasons that not the way to go( which I wont list, if u dont know, u never used it. google up) but they dont care abt the details, they rather pay more for shit job. OFC I reluctantly deliver what they want, but as a result my portfolio is full of unoriginal shit Im not happy showing off. I have a few sites Ive done on the side my prefered way, but they not deployed and sit in my github for all intents n purposes unviewable to potential clients.
I want to be proud of my portfolio, and it to be a representation of what Im capable of. BUT, I gotta eat, and work is better than no work.
There are so many "wordpress designers" oversaturaring the field and it lowering the overall standard of what we are capable of. I just begining my dev journey, but if I cant have a body of work Im proud of, theres no way I can see doing this the rest of my life, and that makes me really sad. My love of developing, coding, and IT/computers in general drove me to change careers from audio engineering to web development, and the fact that this fucking mr. potatoe head of a CMS is slowly turning that love into hate really pisses me off. So Im ending this !rant looking for hope.
Your thoughts?1 -
When client budget is less than the time needed to do a good jobs.
Happens more than I like.
"We’ve all said we’d go back and clean it up later. Of course, in those days we didn’t know LeBlanc’s law: Later equals never."
-Clean Code1 -
The „UI-God“ in our team has never heard of dry or clean code.
Clashing classnames for modules in global namespace, gives a f* about patterns, naming conventions, structure and everytime I rebase it breaks my code.
I need the same amount of time fixing his work as he spends on it. -
Too many people seem to think that "goto" in C is the worst thing you could do. It's an abomination, never use it! (Not something I've seen here per se, just generally around)
Challenge:
Break out of a loop inside a loop without using goto, and make it look pretty. Seriously, I don't think it can be done, and goto just makes it so clean!7 -
DEAR NON TECHNICAL 'IT' PERSON, JUST CONSUME THE FUCKING DATA!!!!
Continuation of this:
https://devrant.com/rants/3319553/...
So essentially my theory was correct that their concern about data not being up to date is almost certianly ... the spreadsheet is old, not the data.... but I'm up against this wall of a god damn "IT PERSON" who has no technical or logic skills, but for some reason this person doesn't think "man I'm confused, I should talk to my other IT people" rather they just eat my time with vague and weird requests that they express with NO PRECISION WHATSOEVER and arbitrary hold ups and etc.
Like it's pretty damn obvious your spreadsheet was likely created before you got the latest update, it's not a mystery how this might happen. But god damn I tell them to tell me or go find out when the spreadsheet was generated and nothing happens.
Meanwhile their other IT people 'cleaned the database' and now a bunch of records are missing and they want me to just rando update a list of records. Like wtf is 'clean the database' all about!?!?!?
I'm all "hey how about I send you all records between these dates and now we're sure you've got all the records you need up to date and I'll send you my usual updates a couple times a day using the usual parameters".
But this customer is all "oh man that's a lot of records", what even is that?
It's like maybe 10k fucking records at most. Are you loading this in MS Access or something (I really don't know MS Access limits, just picking an old weird system) and it's choking??!?! Just fucking take the data and stick it in the damn database, how much trouble can it be?!!?!?
Side theory: I kinda wonder if after they put it in the DB every time someone wants the data they have some API on their end that is just "HERE"S ALL THE FUCKING DATA" and their client application chokes and that's why there's a concern about database size with these guys.
I also wonder if their whole 'it's out of date' shit is actually them not updating records properly and they're sort of grooming the DB size to manage all these bad choices....
Having said all that, it makes a lot more sense to me how we get our customers. Like we do a lot of customer sends us their data and we feed it back to them after doing surprisingly basic stuff ever to it... like guies your own tools do th---- wait never mind....1 -
Anybody here know that shitty service called Birthday Reminder? Yeah? Fuck them.
Never signed up for the bullshit, but because some kiddo's I was in class with 10+ years ago (I think it started when i was ~12 yrs old) did, I keep on getting their spam. They have an unsubscribe button in their emails, directing me to a page that says I can only unsubscribe if I log in.
FUCK YOU.
I NEVER SIGNED UP FOR YOUR SHITTY SERVICE AND I REALLY DONT WANT TO DO NOW EITHER.
Ofc I emailed them politely to remove both my email addresses from their databases.
And they are politely ignoring me.
Fuck you.
PS yes I know I can mark them as spam, but I prefer just not receiving their shit at all. I have a very clean spam folder.5 -
Alright fellow sweaty programmers, mama Kiki is here to teach you the basics of hygiene.
TEETH
- If you have a toothpaste prescription, use it.
- Every single whitening toothpaste is a scam. Don’t use them.
- Every single over-the-counter toothpaste that decreases sensitivity does work. If your teeth are sensitive, use it.
- Otherwise, buy the cheapest name-brand toothpaste.
- Use dental floss. As long as it’s flat and waxed, the cheapest one will do.
- When flossing, never move the floss back and forth as if you try to saw through your gums. Just put the floss in, then out. Repeat if necessary.
- Don’t put your toothpaste on your toothbrush. Put a small amount of it directly in your mouth with a bit of water. Close your mouth and spread toothpaste all over your teeth using a rinsing motion, as if it was mouthwash. Now your teeth are completely covered.
- When brushing teeth, don’t use -90°/0°/90° angles. Use -35°/35°. This way you will spend less time while getting better cleansing. Bristle ends should touch where your teeth meet your gums.
- Get yourself a tongue scrubber. Scrub your tongue until what comes off of it is clean. Dirty tongue is why your breath smells bad, not dirty teeth.
- After you’re done, don’t rinse! Spit the toothpaste out, but let its residue stay there. The remineralization process is now started. If you follow the routine, you don’t need mouthwash at all.
- Drinking/eating sugary things, not washing your teeth and going straight to bed is the best way to get cavities ASAP. In your mouth, sugar quickly turns into the kind of acid that we use for soldering. It can strip the oxide layer off of copper. Do you know how after you drink Coke, your teeth become almost squeaky clean? That’s this. If you like sugary drinks, carefully drink them using a straw. Rinse immediately after you’re done drinking & eating.
SHAVING
- Get yourself an old-school safety T-razor, the one that takes suicide blades. It will last a lifetime. Mühle and Merkur are good manufacturers (not affiliated). Once you have it, for the rest of your life, you will only buy blades. This is the most environmentally friendly way to get a clean, close shave. Electric razors save water, but they often contain batteries.
- Because of how violently electric razor’s blades hit hair while cutting it, they chip your hair. This leads to your freshly grown hair being sharp, rough and unpleasant to the touch. The manual razor, on the other hand, produce clean edges. When your hair grows back, it will be softer than what you get with an electric razor.
- Feather brand blades (not affiliated) are the sharpest in the world. The sharper the blade, the less traumatic it is. Watch T-razor tutorials on YouTube. There are different shaving techniques that will get you a killer shave.
- T-razor blades last considerably longer than their modern soyboy single-use counterparts.
- Because of a single blade construction, T-razor almost never leaves irritation.
- Basically, modern single-use plastic blades are horrible for the environment, and they’re almost a scam for how much you get for your money. They’re only rivaled by printer ink. Use them only for intimate shaving, as they’re considerably handier down there.
- Always shave after hot shower.
- Before shaving, dry the skin surface. Apply shaving foam on dry skin only, as it contains chemicals that make your hair softer. When diluted, they’re not as effective, and shaving unsoftened hair is almost always unpleasant and dangerous.
- After applying the foam, wait about a minute for the foam to work. If the skin gets irritated, don’t wait for as long, or perhaps try a different foam brand.
- Before shaving, thoroughly clean your razor with hand sanitizer or ethanol. Ideally, it should be sterile. Using boiling hot water is also a good option, just be careful with it.
- After shaving, rinse off foam, immediately dry your skin with a clean towel, then apply aftershave. After applying it, don’t touch your skin until it completely dries. If you follow this routine, your skin won’t get any pimples, guaranteed.
- Scrubs won’t help you. Don’t use them.
More in the comments!11 -
This is why I don't use and will probably never use Python.
Back in the uni days, I had a very important assignment. It determined whether I was going to the fourth grade from the third or not. It involved math and charting. It was very complex, and I spent a very long time on research, naturally. I knew Python 3, and I decided to use it. The only lib I needed was matplotlib, which I installed with pip. So I did the whole thing, tested it again at home, closed my laptop and was ready to go. My laptop used Windows 7 and was set up to ignore the lid closing. When I closed it, nothing would happen, even the screen stayed on. When I arrived at the lab, I opened my laptop, hit Ctrl + B as usual… and matplotlib import wasn't working. I obviously panicked, I tried to do something about it, but it just kept throwing an import error. Reinstalling the library didn't help. My friends too weren't able to help me. It just wasn't working, and that was it.
I failed the assignment, automatically. I had nothing to show. This was the first time I failed anything in the uni. Later I rewrote the code in C++ with Qt plotting library, and everything worked fine.
I never used Python since. I did everything uni with C++, and later with JavaScript. I don't care if it was Windows error or Python's. My Windows install was clean, I reinstalled it pretty much every year and kept the default settings. My laptop was for studying purposes only, and all my personal life happened on my desktop.
I didn't use exotic things like PyPy. It was just Python 3, the most basic, official installation. If you promote your fucking language as a cross-platform solution, please be bothered to make its basic behaviour stable on the most popular OS out there.
I will probably never use Python again. Maybe this issue was addressed and fixed. Maybe it wasn't. Maybe it never would've happened on Linux or Mac. I don't care. It's like maintaining friendship with a person that betrayed you. I just can't do it.
JS and NPM never failed me.6 -
Reading code takes time!
Everytime I read:
"var" or "auto" Add: 10s
- Just use the type
Everytime I read:
if(Expression1 && Expression() ? GetNumber() : 0 > 0) Add: 30s
- Just write two if statements or create two bools the line above.
Everytime I read:
delegate = () => {} Add another 5 minutes of reading time.
- Just write a separate function for it. It helps with searching and understand what it does
Please code like the person that needs to check your code or change it just knows basic coding skills and logics.
I do know all these concepts I just never use them because it makes the code unreadable. hard to follow, mistakes that can happen everywhere. difficult to search.
And it frustrates that I need to read 10 extra lines to understand code flow or hover my mouse in an IDE to figure out what type object it is.
It's properly just me... I just like clean readable code. that is logical and failsafe and strict and deterministic with its behavior9 -
Being victim of an arbitrary worplace's culture on dev experience and documentation makes me a very frustrated dev.
Often I do want to document, and by that, I don't mean laying an inline comment that is exactly the function's name, I mean going full technical writer on steroids. I can and WILL get very verbose, yes, explaining every single way you can use a service - no matter how self explanatory the code might look.
I know developers (and me included) can, and sometimes will, write the best variable and function names at the time, wondering if they reached the peak of clean, DRY code that would make Robert Martin have a seizure and piss himself, only to find weeks later after working on something else that their work is unreadable. Of course.
I know the doc's public, it's me, and I've done this.
But then again explain for the people in the back how the FUUUUCK are we meant to suggest improvements, when we are not the ones who are prioritising features and shit WITH the business?
Just email me when the fucking team recycles, and no new team member knows how to even setup the IDEs because this huge piece of monumental shit called CompanyTM is also run by VPN. Fuck, no one wants to access that garbage, you have no docs.
I once tried setting up a culture for documentation. I did an herculean amount of work studying what solutions were internally homologated, how steep the learning curve would be from what we had at the moment (NOTHING, WE HAD FUCKING NOTHING, jesus christ, I even interviewed SEVENTEEN other squads to PROVE they FUCKING NEED
DOCS
TO WORK
You know what happened to that effort?
It had a few "clap" reactions on a Teams meeting and it never reached the kanban.
It didn't even made it to backlog.
I honestly hope that, someday, an alien fenomenon affects the whole company, making their memories completely reset, only to have the first one - after the whole public ordeal on why our brains became milkshake -, to say: "oh, boy, I wish we had documented this".
Then I will bring them to the back and shoot them. -
I currently work on a legacy system for a company. The system is really old - and although I was hired as a programmer, my job is pretty much glorified data entry. To summarise, I get a bunch of requirements, which is literally just lots of data for each month on spreadsheets and I have to configure the system to make it work, which is basically just writing a whole bunch of SQL scripts.
It’s not quite as simple as that, because whoever wrote the system originally really wrote it backwards, and in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work because the process is so tedious that it’s easy to make a mistake.
As you can guess, it is pretty much the most boring job ever. However, it’s a full time job with decent pay, and I work remotely so I can stay home with my son.
So I’ve been doing it for about 18 months and in that time, I’ve basically figured out all the traps to the point where I’ve actually written a program which for the past 6 months has been just doing the whole thing for me. So what used to take the last guy like a month, now takes maybe 10 minutes to clean the spreadsheet and run it through the program.
Now the problem is, do I tell them? If I tell them, they will probably just take the program and get rid of me. This isn’t like a company with tons of IT work - they have a legacy system where they keep all their customer data since forever, and they just need someone to maintain it. At the same time, it doesn’t feel like I’m doing the right thing. I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.
There might be amendments to the spec and corresponding though email etc, but overall, I spend probably 1-2 hours per week on my job for which I am getting a full time wage.
I really enjoy the free time but would it be unethical to continue with this arrangement without mentioning anything? It’s not like I’m cheating the company. The company has never indicated they’re dissatisfied with my performance and in fact, are getting exactly what they want from employing me.5 -
I feel like writing or telling people about the time I jumped from Windows 7 Ultimate and jumping to Windows 10. (I'm not against 10, but I'm never updating after what had happened to me)
It all starts when none of my games will play due to a possible issue with my graphics card. I look up "3D source game bug" and not many results pop up. I go on Microsoft's Qna areas and ask this question but to my surprise nothing they say would make sense. "Clean the pins of your graphics card, make sure you verify the games on Steam". I verified the games and they checked out as perfectly fine. I don't have access to my graphics card because this is a laptop, sadly not a tower.
Two months pass and my computer is already showing signs of stress, like it didn't want to live in a sense. It was three times slower than when I was on Windows 7 and it was unallocating areas of my main hard drive where I could make virtual hard drives.
Instantly I start looking up Linux distros and find Linux Mint. 17.3 was the current version at the time. I downloaded it and burned it onto a DVD-rom and rebooted my computer. I loaded into the disc and to my surprise it seemed almost like Windows 7 apart from the Linux part. I grab my external hard drive and partition it to hold the Linux distro and leave it plugged in incase Windows 10 does actually fail.
On December 19, a few months after Windows 10 had released. I start my laptop to try and continue my studies in video game development. But to my surprise, Windows 10 had finally crashed permanently. The screen flickered blue and black, and an error box saying Loginui.exe failed to start. I look at it for a solid minute as my computer had just committed suicide in a sense.
I reboot thinking it would fix the error but it didn't. I couldn't log in anymore.
I force shutdown the laptop and turn it back on putting it into safe mode.
To my surprise loginui.exe works and I sign in. I look at my desktop, the space wallpaper I always admired, the sound files, screen shots I had saved.
I go into file explorer and grab everything out of my default hard drive Windows was installed on. Nothing but 400gb got left behind and that was mainly garbage prototypes I had made and Windows itself. I formatted my external hard drive and placed everything on it. Escaping Windows 10 with around 100GB of useful data I looked at the final shutdown button I would look at.
I click it and try to boot into normal Windows 10. But it doesn't work. It flickers and the error pops up once more.
I force it to shutdown and insert the previous Linux Mint disc I made and format the default hard drive through Linux. I was done. 10 gave me a lot of shit. Java wouldn't work, my games has a functional UI but no screen popped up except a black abyss and it wouldn't even let me try to update my graphics card, apparently my AMD Radeon 5450 was up to date at the AMD Radeon 5000's.
I installed Linux Mint and thinking the games would actually play I open steam and Launch Half-Life 2 to check if Linux would be nicer to me than Windows 10 had been.
To my surprise the game ran. The scene from Highway 17 popped on screen and the UI was fully functional. But it was playing at 10-15fps rather than the usual 60-70fps. Keep look at my drivers and see my graphics card isn't in use. I do some research and it turns out I have a Hybrid Laptop.
Intel HD Graphics and an AMD Radeon 5450 and it was using the Intel and not the AMD. Months of testing and attempts of getting the games to work at high frame rates pass and the Damn thing still functions at a low terrible fps. Finally I give up. I ask my mom for a Windows 7 disc and she says we can't afford it. A few months pass and I finally get a Windows 7 installation disc through money I've saved up. Proudly I put it into my optical disc drive and install it to my main hard drive deleting Linux completely. I announced to all my friends my computer was back in working order and I install everything I needed, Steam, Skype, Blender, and Unity as well as all my games. I test Half-Life 2 and it's running exceptionally smoothly, I test Minecraft at max settings and it's working beautifully. The computer was functioning properly once again and my life as a developer started as I modeled things and blender, learned beginners C# and learned a lot of Batch. Today the computer still runs at a great speed and I warn others of what happened to me after I installed Windows 10 to my machine if they are thinking of switching from 7 or 8 on an older machine.
Truly the damage to my data cannot be undone. But the memory of the maintenance, work, tests, all are a memory of how Windows 10 ruined me and every night before the one year anniversary of Windows 10's release, I took out the battery of my laptop and unplugged it from the a.c. power, just so Windows 10 doesn't show it's DLLs, batch scripts, vbs scripts, anything on my computer. But now, after this has happened and I have recovered, I now only have a story to tell5 -
I'll never use code hacked by another dev for work.
I got code that only solves one single fucking use case but there are way more to consider ...
The way the problem is solved ... not dev friendly to use, clean code is non existend and did I mention that it doesn't solve many other important use cases?
All has to be refactored and rethinked and everybody complains about why it takes so much time and the code should not be a technical masterpiece.
I'm sick of these bullshit devs, not taking their role as professionals serious.
Devs should not only learn how to code but also to work as a professional. Soft skills shouldn't be optional and the way how IT is seen has to be reshaped.
There are reasons why in these days the developed software has a lot of bugs and is not flexible. Everything has to be done now, changes come so often that they conflict with previous ideas and nobody knows the complete customer specification so the conflict shows in dev phase up.
Most devs work like they are in a hackerspace. Stop doing this.
You can do this in your freetime but stop doing this when you work in a professional environment.2 -
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 -
On This Episode of Ghetto Medium..
Posted after midnight for extra spooky effects. Read in the dark at your own risk. You've been warned.
So my mother has been on a binge watching shows like long island medium (apparently the taller your hair the closer you are to god or something), and every time we talk she begins at length to talk about, you guessed it.. 'ghosts.'
Now don't get me wrong, I've had some 'spooby' shit occur in my lifetime, the sort that will tighten your sphincter faster than bill cosby asking you if you want some koolaid or grape drank, but I digress.
The ghost talk is tiring. Lately theres been a *flood* of these new shows, purportedly showing mediums and people who can 'look into the other side' and I realize just how vapid and ridiculous it's all become, as if they all are being personally haunted by the ghost of John Edwards burnt out husk of a career. Theres long island beehive big-hair medium, celebrity medium, allison DuBois (the inspiration for that one sappy show *medium*) whos red hair and vacant stare speak of glimpses into centuries past like an intimate unseen horizon. or maybe she forgot to unplug her curling iron in a hotel one time and has been rendered permanently catatonic. And who can forget *Beyond With James Van Praagh* (everyone) whos face, as measured by the width of his mustache, appears to be expanding at a constant rate like a bad image macro edit thats been memed and repasted a thousand times. Then theres Chip Coffee, whos name is about as believable as his teaching degree on the show *Psychic Kids* where he mentored, again, you guessed it, *psychic kids*. Of course theres Tyler Henry, a youthful, uh, "flamboyant" medium for celebrities with ghost problems. Never trust a man with two names, this ones no exception, he looks so clean cut hes either secretly mormon, or secretly gay, maybe both. I'm not judging, but I am saying if I ever saw his clean cut, smooth, wrinkless (seriously, how tyler? how?), all american face, say smiling that subtle smile outside my kitchen sliding glass door at 3 am, his face watching me from the pitch dark outside, I wouldn't at all be surprised, except for the hospital bill I'd have to pay after shitting a brick and needing anal surgery.
At this rate we have mediums popping out left and right, like clowns at one of them R.L Stein nightmare carnivals, or beggers outside a methodone clinic. Geez, they're coming out the wood work, like those painting you see with hidden faces in them, or wheres-waldo posters, only you're trying to find the non-waldo guy amongst all the characters because they're ALL waldo: goofy acting, goofy dressing, and just all around goofy looking.
At this rate I'm fully expecting "pet medium" (starring a character named Stephen King and his marital problems, played by johnny depp eating way to much corn), and "haunted objects medium", and "car medium" (it's just seinfeld in a car, talking to psychics instead of other people), and "ghetto medium."
Today on this episode of "Ghetto Medium"..
Medium: Teneesha, aw yeah girl, u *definitely* ded gurl, uh huh! You WAY to white too be alive, you done passed over gurl!
And in the next episode of Ghetto Medium, one man claims "every time I bend over I can hear "wOoOoOoOoO!, Is my asshole possessed? Find out is it real or fake, and what our verdict is in Ghost Medium, episode 3: A Haunting In My Nether-regions."
Cut commercial break.
"Jerry Springer: One women asks, 'jerry, is my unborn child's foreskin haunted? And later today we ask the crowd, would you have sex with a ghost?"
Welcome to American television 'programming' in 2019.
Yes, it's all brainwashing.2 -
Theorem 2.71 All software is shit.
Corollary 3.14 So stop the braindead OS wars. All OS are shit, too.
Proof. The only software that can stay beautiful and clean is software that is never used. Maybe if you are Dijkstra or live in a Haskellian world, you might come away with it, but for the rest of us our artifacts have to interact with other artifacts or are build upon strange historically grown systems, they have to deal with users who will put it to creative use.. and in the process we also actually might have to alter some state.
Or put another way: code is a social construct. Like science are the beliefs and superstitions grown by a scientific community, software is the montainous dunghill produced by our laborious efforts to make shit even work. Of course this only piles the stack higher and higher until you can already smell it from the moon. -
Stupid manager/boss
my good idea always get rejected first so badly.
Someday ,i proposed a good idea. after meeting with client he said "yeah we actually working on that by using this and this idea" like he's the one who found it, then he said do that idea of yours.
Then someday, i do split the repository to make things clean in approval of my other boss which is more weird. Then after split it up i got bashed from him infront of other team.
But after critical phase that make me night work. He says "we need to split it up to make this easier". Fuck. If we do it first. We dont need to take night work.
Come on, actually i never do something only based on my task. But i do want create better environment on the office. At least morale up your fuckin employee dont bash them everyfuckintime.
But yeah, like buzz said.
"Stupid people, i see stupid people everywhere" -
Extremely frustrated with the release process and versioning system at my current company. Don't know if this is same everywhere or the half ass release managers can't think of a better way here.
Basically for any client raised issue that can't wait for next release are built as a hotfix. However hotfixes are never bundled togather or shiped to other clients. This is causing a vicious chain, two clients raise two separate issues on same version. Instead of fixing them as single hotfix (however minor the issues) we create two hotfix versions for each with only their issue. A week later same clients come back with the issue the other raised. Once again instead of bundling what is now effectively same code we build hotfixes on top of the clients respective branches. We now have two branches to maintain with same codebase. No matter how serious issue, the hotfix is never made generally available and always created on client's specific hotfix version.
Now that was an example for only two clients, in reality we have released five patch versions of a product in last 2 years. Each product version contains about a dozen artifacts (webapps, thick clients, etc) with its own version. Each product version being shipped to various clients. Clients being big banks never take a patch of product even if it fixes their issues and continues requesting hotfix. We continue building hotfixes on client branch and creat ever increasing tech debt. There is never a chance to clean up or new development. Just keep doing hotfix after hotfix of same things.
To top if all off, old branches are still in svn while new in git. Old branches still compile with ant new with maven. Old still build with java 5,6,7 while current with 8. Old still build from old jenkins serve pipelines while new has different build server. Old branches had hardcoded integration db details which no longer exists so if tou forget to change before releasing it doesn't work.
Please tell me this is not normal and that there are better ways to do this? Apologies I think I rambled on for too long 😅5 -
I've just published my first npm module/package .For so long, I was feeling bad that I've never shared any code via npm before. So, today I thought of sharing any old code that myabe some people would find useful . I did (also had to add some lines and remove alot of lines to keep it clean and simple) and for my surprise, in few hours it got 45 downloads! although it's angular (1 not 2)3
-
I started working for a startup as Server Administrator/ System Integrator beside university to get some dollars with easy work and nice people.
((I Know two of the C*Os so I got a had feeling with this. Besides the upcoming story I'm still really happy with my position and career chances here. God bless my Department which has the most funny/rude guys, love you.))
tl;dr:
Guy fakes his Skillset and fuckup whole department, can´t do most of his basic tasks. I had my first and hopefully last interaction with this bastard.
Heres how everything started:
I was more and more involved in the leading processes and decisions.
Heard about a story where and why the whole dev-department was kicked out of his position because they were crappy developers. And cant just believe the stories they told me about the former Dev-Lead
Now I met the former "Development Lead"
I was brought in because we in the IT wondered why he would like to share his local machine password with colleges. After some questions he came out with the Reason.
He is doing home-office for some days a week now and wants his colleges to be able to start his "software". (already confused by that)
The "better IT-guy" in me offered help for automatic deployment CI/CD stuff so that they can use it as an inhouse service.
BIG OOF incoming:
"The code is not in git because I wanted to clean it up before"
"My IDE is the only place where my PHP crap work is running"
"The 'PHP-software' is to complex for this"
My Lead and I were completely speechless,
I understand the decision to kick this "dev-Lead" from the lead position down to a code monkey/ script kid.
Now I´m thinking about getting my Hands on the Lead position after my exams because if such bastards with no clue about basic stuff, no clue about leading, no clue about ci/cd, no clue about generic software stuff get the job I would easily be the "good IT-guy" with more responsibility/ skill.
Now I sit here, hate people that fake their skills and set back work of colleges for multiple months and never asked for help or advice.
And the little "Bastard Operator from Hell" in my just wants to delete all his files, emails account during a migration to completely demotivate the person who failed to be responsible for a team nor their projects.rant ci/cd php administrator startup script-kid i hate people unskilled skill faker lead developer devops5 -
So I had this project manager that asked me for a "quick win" on the Tuesday (no release planned) I told him I'm already working on fixing this solution properly and be ready for Friday.
He was determined i wrote code that was going to be useless and never used. As a result I sent him the productivity graph from the clean code book.
After about an hour and a half of silent. I was move project.1 -
Aka... How NOT to design a build system.
I must say that the winning award in that category goes without any question to SBT.
SBT is like trying to use a claymore mine to put some nails in a wall. It most likely will work somehow, but the collateral damage is extensive.
If you ask what build tool would possibly do this... It was probably SBT. Rant applies in general, but my arch nemesis is definitely SBT.
Let's start with the simplest thing: The data format you use to store.
Well. Data format. So use sth that can represent data or settings. Do *not* use a programming language, as this can neither be parsed / modified without an foreign interface or using the programming language itself...
Which is painful as fuck for automatisation, scripting and thus CI/CD.
Most important regarding the data format - keep it simple and stupid, yet precise and clean. Do not try to e.g. implement complex types - pain without gain. Plain old objects / structs, arrays, primitive types, simple as that.
No (severely) nested types, no lazy evaluation, just keep it as simple as possible. Build tools are complex enough, no need to feed the nightmare.
Data formats *must* have btw a proper encoding, looking at you Mr. XML. It should be standardized, so no crazy mfucking shit eating dev gets the idea to use whatever encoding they like.
Workflows. You know, things like
- update dependency
- compile stuff
- test run
- ...
Keep. Them. Simple.
Especially regarding settings and multiprojects.
http://lihaoyi.com/post/...
If you want to know how to absolutely never ever do it.
Again - keep. it. simple.
Make stuff configurable, allow the CLI tool used for building to pass this configuration in / allow setting of env variables. As simple as that.
Allow project settings - e.g. like repositories - to be set globally vs project wide.
Not simple are those tools who have...
- more knobs than documentation
- more layers than a wedding cake
- inheritance / merging of settings :(
- CLI and ENV have different names.
- CLI and ENV use different quoting
...
Which brings me to the CLI.
If your build tool has no CLI, it sucks. It just sucks. No discussion. It sucks, hmkay?
If your build tool has a CLI, but...
- it uses undocumented exit codes
- requires absurd or non-quoting (e.g. cannot parse quoted string)
- has unconfigurable logging
- output doesn't allow parsing
- CLI cannot be used for automatisation
It sucks, too... Again, no discussion.
Last point: Plugins and versioning.
I love plugins. And versioning.
Plugins can be a good choice to extend stuff, to scratch some specific itches.
Plugins are NOT an excuse to say: hey, we don't integrate any features or offer plugins by ourselves, go implement your own plugins for that.
That's just absurd.
(precondition: feature makes sense, like e.g. listing dependencies, checking for updates, etc - stuff that most likely anyone wants)
Versioning. Well. Here goes number one award to Node with it's broken concept of just installing multiple versions for the fuck of it.
Another award goes to tools without a locking file.
Another award goes to tools who do not support version ranges.
Yet another award goes to tools who do not support private repositories / mirrors via global configuration - makes fun bombing public mirrors to check for new versions available and getting rate limited to death.
In case someone has read so far and wonders why this rant came to be...
I've implemented a sort of on premise bot for updating dependencies for multiple build tools.
Won't be open sourced, as it is company property - but let me tell ya... Pain and pain are two different things. That was beyond pain.
That was getting your skin peeled off while being set on fire pain.
-.-5 -
Everybody is bussy!
So let's going to give this mess to the one who never worked with mongo, does not know the objects in the DDBB, add to it some weird way to build queries in java to it and hope for everithing end well!
End well = need to be done today.
Guess what? Not for today! I have no clue of how to clean this shit.1 -
Windows 10 randomly installs apps from their market on my PC. Reinstalled windows a few days ago and wanted to keep it clean (not installing too much stuff I won't need anyways). So I installed my 7 programs. What do I see in my apps list 2 days later?
- 3 versions of Candy Shit Whatever its called
- 2 racing games
- 10 utilities I never heard of before
WHAT THE FUCK IS GOING ON??8 -
Up until now, I never had any breaking updates on Linux on my laptop, Except for Nvidia drivers stopping. It would switch to noveau. Even my cobbled together hack of Broadcom Bluetooth solution worked without even having to touch it. Well, I still don't have problems with core Linux but add gnome to the issue mix today. Surprisingly, Nvidia drivers for the first time Nvidia drivers upgraded (to 340) and I didn't had to do anything for it to work. Gnome deprecated synaptics driver support and now uses libinput implementation for it. Well Ubuntu Gnome updater won't clean the configuration and I had to remove the driver and clean config myself. Nothing too much, i have to deal with these stuff on my arch installation but Ubuntu has been "it works fine. No need to interfere" thing for me. It works fine on Wayland (it always used libinput on Wayland a if I am correct) but nvidia drivers doesn't support Wayland. And then since the update gnome has been disabling some of my extensions at random. All on X. I have no problems with Wayland except for Nvidia fucking drivers. All that said, its still better than windows where I lost fucking network connectivity during something important. And the trackpad drivers on Linux are somehow much better than anything I have used on windows. (that or Sony made fucking great trackpads and nobody noticed). Here's to hoping Nvidia starts supporting drawing on Wayland and I can ditch X completely. I have seen visible improvements in performance under load and slight decrease in battery usage with Wayland.8
-
!dev
Needing to (re)move all my organised crime, uh, notes and stuff for the cleaning lady.
And having to tell them everytime they don't need to clean my damn keyboard and mouse as they'll ruin the traction pads and fill up the keys with fluids.. -
devRant, Ineed your advice / help. This following year I'm going to study in the afternoon again. Since this year I don't have to do an intership, I wanted to start working in the morning. There are some problems though:
I never had a job
I'm still 17 so, even if I can legally work, companies don't like to hire underage people
I'm a punk, so even if I'm a really passionate person and I try to give my best always, I've already had been rejected because how I look (literally)
So, I wanted to know how can I build a professional looking CV and how to show to the requiter my GitHub (and now gitea) accounts, if I should clean my repositories, etc...
I'm basically searching advice on how to get my first job. Skills aren't the issue since I know how to code, manage networks, server infrastructures...
Thanks :D18 -
I want to rant here but I have a lot of backlog. They’re all pretty deep for refinement. So I want to put them all in one sprint. Because I don’t want a marathon of ranting.
But I do realise in IT sprints never end, and eventually turn out to be a marathon of sprints. I came to a point to deliver over 100 story points in one sprint. Maybe I shall write a book instead of exploding this app.
I could have never imagined the dark side of this occupation.
However I love coding so much I’ll brush the backlog under the carpet😏
But you know there are always saviour heros wanted for refactoring. This honour goes to:
The arrogant guys who think they’re a genius when their code compiles.
The insecure guys who want to overpower the next available when their code doesn’t compile.
The egoists who like to underestimate and show of, where their faulty biased googles display a little girl instead of a developer.
The aggressives when they are invited to the reality and kindly offered to sit back on their place.
I hope this rant wouldn’t ouch anyone. If it does, not sorry, the message is delivered.
If there’s an offence or reaction to this refactoring job, the 4th one would be offered to clean the mess.2 -
I've almost had enough of Atlassian. So, our customers want us to integrate Jira / Confluence support into our software.
I initially thought it would be a great addition to the other providers we support, so I explored it further.
After trying Confluence – and already knowing first-hand how horrendous Jira is from a previous role – I left in absolute disgust at not only how horrendously slow, buggy and overengineered Confluence is (just like Jira), but how horrendously FUCKING SHIT their developer / API documentation is. I suspended the project at this point. No fucking way was I allowing time to be sucked away because another company can't get their shit together.
Customers kept asking for integration support, so I authorized the team to revisit Jira integration support a few weeks ago. Nothing has changed. Documentation is as shit as before, software as slow as before and the platform as overengineered as before. No surprises.
Here's the problem:
1. You can't set multiple auth callback URLs so you can actually test your implementation.
2. You can't revoke access tokens programmatically. Yes, really.
3. You need to submit a ticket to get your integration approved for use by others, because automating this process is clearly fucking impossible. And then they ask questions you've already answered before. They don't review your app or your integration beyond the information you provided in the ticket.
4. Navigating the Atlassian developer documentation is like trying to navigate through a never-ending fucking minefield. Go on, try it: https://developer.atlassian.com/clo.... Don't get too lost.
I was so very FUCKING CLOSE to terminating this integration project permanently.
Atlassian, your software is an absolute fucking joke. I have no idea why our customers use your platform. It's clearly a sign of decades of lazy and incompetent engineering at work, trying to do too much and losing yourself in the process.
You can't even get the fundamental shit right. It's not hard to write clean, maintainable code and simple, clear and concise API documentation.1 -
Useless JS library #1 ready:
A paned-tabbed js grid, where cells can be iframes because every grid operation only changes the css and the cell itself is never moved in the DOM. The purpose is to support complete sandboxing of untrusted snippets, so we could even let users pick their own modules if they want extra functionality.
Soon I'll clean up both this and the messaging and put them on github, but to me writing these is a creative process and the working prototype is everything but readable.
In the meantime I put it on
http://test.tardigrade.dynu.com6 -
Possibily the weirdest coincidence I've experienced... I was just searching for, specifically and explicitly, the ebook version of O'Reilly pocket references for a babydev since physical copies, if/when available, are expensive and slow delivery. While googling the PHP one, somehow, 1984 (orwell) in russian was oddly high in the search results.
1984 is my favourite book and I've been meaning to take time to brush up on my russian. Normally I'd blame the result on things like tracking data, but this was via a clean, isolated, never logged into anything, system. The only factors that couldve been skewing results are my explicit locale settings, primary- german/germany, secondary- english/US, additional languages- dutch, russian, arabic, spanish. No other cookies or previous search history and using a static IPv4 that has been allocated, but until a few hours ago, totally unused for ~6mo (part of my /28 block).
It's so serendipitous that I keep mulling over everything trying to figure out wtf I missed... seriously, how the hell does "O'Reilly pocket reference php ebook" return a russian paperback of 1984???
I'm totally gonna find and buy one now too (the actual result is costly, plus would ship from germany so more costly).5 -
This morning I found out that the code I wrote to convert json data to a new format in our DB was giving errors and a bunch of questions got saved with the wrong property. It was assumed when it was triaged with my boss that we would only see one key property so the code written by me so the code was aimed at that. Well some questions have multiple keys for no reason. They are mostly floating data that hasn't been wiped clean because the develop who wrote this use json data in psql with no validation or data cleaning. This edge case was also never caught on PR reviews and we got a pretty heavy review process. I'm not being blamed for it. Most of it I think all the devs feel bad we didn't catch this because it affected us greatly. I've been working all morning trying to resolve it with my boss and just now in the evening we stopped. I just feel like I'm not a good dev at all and just want advice on how to deal with situations like this. I'm a new dev and this is my first job I have held for almost a year2
-
Without diving into OO or "Micro$oft", I think the one major flaw in C# is the ability to use "regions".
It's like a feature that was specifically designed to hide shitty code.
If you know how to separate your logic properly and focus on good design principles, you should never have to use a "region" to "clean up" the way your source looks!5 -
Today I created some reusable clean decent code to replace the random chaos in a huge project and then realised I had 3 options:
1. Sort out every instance to use the new code. This is very high risk because the project is both a shit show and has no tests. I don't have time to manual test or write unit tests on so much stuff.
2. Move over only some so that I can manually test. Still no time to unit test (management is fucked on their priorities). This will fuck the project even more since i will never get time to revisit this and adds yet more inconsistency and chaos to a project on its last legs and has this problem in droves.
3. Leave the project fucked
\_(^^)_/
I'm veering towards option 3 these days.1 -
I was hoping that I never have to build stupid websites again, but here I am...
The thing I hate the most, is the hassle to have an easy to update dev, staging and prod environment. Fuck wordpress, fuck drupal, fuck joomla.
git pull && composer install && npm install should be all that's needed to get the latest code in an environment.
composer require *** to install plugins. No stupid web interface where users install plugins in production env.
I don't want to create database dumps just because these fuckers think that you should store configurations in the database.
Is there any clean CMS primarily for professional programmers? Or are they all just made for retarded subhumans?5 -
I'm using typescript and run mocha acceptance tests. I was confused as to why my tests were failing on the Jenkins albeit they passed locally just fine.
I couldn't find the error. Just after making a pause, implementing something else, I realized what the problem was:
As I renamed a folder from `fixtures` to `tapes` my test run on the Jenkins suddenly claimed to not find the files in `fixtures`. Yet in my code base there was no occurrence of the string `fixtures` anymore and then it hit me like a brick wall:
I have old transpiled files in my outDir, the `dist` folder on the jenkins! Locally, I make sure to run `git clean -fd` once in a while, so I never was hit by it it locally. Yet my jenkins had really old files in the `dist` folder. And just running `rm dist/* && tsc` fixed the entire ordeal.
Well, JavaScript is so 2012 and typescript is the new shit, yet transpiling the code can leave to some quite strong headaches.1 -
Just some free knowledge that I'd like to pass around:
I wanted to free up some space in my MacBook. I checked out different methods.
Here are some methods that helped:
- Go to ~/Library/Caches and try to clean shit up.
- If you have Homebrew, (if you don't, just quit dev already) run `brew cleanup` -- only for people with Macs.
- There's this app called Omnidisksweeper. Check that out.
- Also, indexing Spotlight is something I've heard of but never tried.3 -
The moment when you scratch your mousepad or take off your keyboard keys, and you find out how horrible your living conditions are...
-
Clean code is the biggest bullshit in software development history. Oris it agile/scrum? Can’t decide yet.
Note: A new contender arrives with anti-nested coding cult. You hide your deep nested logic away from main logic block, so it is easier to maintain… Said probably by someone who never coded serious software.4 -
Damn some stupid moves can literally fuck you up.
I just moved to linux distros around 4 to 5 months back. And I have installed and reinstalled it many times. So I thought it's simple and cool af.
So last time when i installed Ubuntu 18.04 i had it installed it on SSD and mounted my home from HDD. I felt super awesome. It worked perfectoo! 😘
And now I had some issues with dual booting so i planned to resort it and make it clean.
So during the installation process there's a part where you gotta select where to installation path and all. Its been a long time since I did a clean installation and TBH i forgot the / and /home . So what i did I put / on my previously maintained home instead of putting it on the SSD.
Now I am FUCKED!
Guys never ever make this mistake. It's baaad. Reaaal bad!2 -
// Rant 1
---
Im literally laughing and crying rn
I tried to deploy a backend on aws Fargate for the first time. Never used Fargate until now
After several days of brainwreck of trial and error
After Fucking around to find out
After Multiple failures to deploy the backend app on AWS Fargate
After Multiple times of deleting the whole infrastructure and redoing everything again
After trying to create the infrastructure through terraform, where 60% of it has worked but the remaining parts have failed
After then scraping off terraform and doing everything manually via AWS ui dashboard because im that much desperate now and just want to see my fucking backend work on aws and i dont care how it will be done anymore
I have finally deployed the backend, successfully
I am yet unsure of what the fuck is going on. I followed an article. Basically i deployed the backend using:
- RDS
- ECS
- ECR
- VPC
- ALB
You may wonder am i fucking retarded to fail this hard for just deploying a backend to aws?
No. Its much deeper than you think. I deployed it on a real world production ready app way.
- VPC with 2 public and 2 private subnets. Private subnets used only for RDS. Public for ALB.
- Everything is very well done and secure. 3 security groups: 1 for ALB (port 80), 1 for Fargate (port 8080, the one the backend is running on), 1 for RDS postgres (port 5432). Each one stacked on top and chained
- custom domain name + SSL certificate so i can have a clean version of the fully working backend such as https://api.shitstain.com
- custom ECS cluster
- custom target groups
- task definitions
Etc.
Right now im unsure how all of this is glued together. I have no idea why this works and why my backend is secure and reachable. Well i do know to some extent but not everything.
To know everything, I'll now ask some dumbass questions:
1. What is ECS used for?
2. What is a task definition and why do i need it?
3. What does Fargate do exactly? As far as i understood its a on-demand use of a backend. Almost like serverless backend? Like i get billed only when the backend is used by someone?
4. What is a target group and why do i need it?
5. Ive read somewhere theres a difference between using Fargate and... ECS (or is it something else)? Whats the difference?
Everything else i understand well enough.
In the meantime I'll now start analyzing researching and understanding deeply what happened here and why this works. I'll also turn all of this in terraform. I'll also build a custom gitlab CI/CD to automate all of this shit and deploy to fargate prod app
// Rant 2
---
Im pissing and shitting a lot today. I piss so much and i only drink coffee. But the bigger problem is i can barely manage to hold my piss. It feels like i need to piss asap or im gonna piss myself. I used to be able to easily hold it for hours now i can barely do it for seconds. While i was sleeping with my gf @retoor i woke up by pissing on myself on her bed right next to her! the heavy warmness of my piss woke me up. It was so embarrassing. But she was hardcore sleeping and didnt notice. I immediately got out of bed to take a shower like a walking dead. I thought i was dreaming. I was half conscious and could barely see only to find out it wasnt a dream and i really did piss on myself in her bed! What the fuck! Whats next, to uncontrollably shit on her bed while sleeping?! Hopefully i didnt get some infection. I feel healthy. But maybe all of this is one giant dream im having and all of u are not real9 -
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. -
In a country, a long time ago there was a programmer by the name of Alex. He was a programming genius and apart from a few hours of sleep, he was busy developing unique programs for new generation technology firms. Alex was a bachelor and he happily and proudly lived the way he wanted to. He did not have duties, authority over him, bosses to report to, children to take care of, and distractions. He could sit and code for the entire day without getting any break or feeling a bit tired. However, he had no idea that everything in his life was soon going to turn around. Before Marriage: The Bachelor’s Life Alex was the epitome of a modern ‘Play Boy ‘ or every man’s dream. He was fairly dressed, had a classy house, a snazzy car, and a good-paying job. He was in the habit of spending his mornings drinking coffee while browsing through the different coding topics. He comes in the afternoon and spends the evening part of the day with his friends. Life has never been this good. Alex was able to work hard and the more he was innovative, he enjoyed it. It illustrates how a young person would sit for many hours coding at night and not bother about other people around him. He was alone as a bird and as per him, that’s what he wanted to be. He had no peer to tell the truth to, no wife to prepare meals for, no maids to babysit his mess. A man could chow down a pizza for breakfast, lunch, and supper with not even a raised eyebrow from onlookers. He was profiting from living the best life he possibly could. After Marriage: Married Life: Alex & Sarah The climax for Alex is when he marries Sarah on a sunny morning on a fine day. Young people met, and after becoming enamored, started a family and got married to find a new home. Sarah was friendly with people and it was very easy for her to make friends; however, she had little knowledge of technology. Alex had it in his mind that marriage does not change the life you lead and how wrong he was. It was a fairy-tale to have such a perfect life for several days after the marriage. Their nights would be spent in front of the television set with their arms wrapped around each other, eating takeout. Despite this, when the number of days stretched into weeks, and the weeks into months, Alex felt the beginning of a shift in his behavior. The Coding Cave That Transformed into A Home Office Due to the pandemic the coding cave Alex used to have became a home office. Sarah had made up her mind to open her business from home, therefore, she required a home office. Thus, she moved inside the cubicle that Alex had created as his coding cave and left him with no space to code. He now had to code in the living room, because Sarah would incessantly request him to either lower the auditory input of the keys he was typing or to switch off the LCD screen. The Once-Clean Apartment Turns into a Mess Alex was a neat freak, and he adored tidiness, especially in his apartment. But after marriage, his once clean and neat-looking apartment was changed into a dirty one. Although Sarah was not very neat, she used to litter her things anywhere she felt like without being conscious of it. Alex was a programmer and his coding notes were mixed with Sarah's business papers, it irritated him so much. Alex’s to-do list before marriage The to-do list before marriage only comprised coding-related tasks. At marriage, however, he seemed to have developed a longer list of things to do than ever before. Instead of just going to the grocery store to buy some food, Alex seemed to have endless tasks to do mostly around the house. He had to cook for himself, sweep the house, and wash the dishes among other things. This was a new world as far as he was concerned. The Pizza Days Are Over Gone there is no more time for Alex could eat pizza in the morning, afternoon as well and evening. Sarah was very conscious of what she took as food or what her family took as food and therefore ensured that Alex took healthy home-cooked foods. He could not have the pizza anymore but the meals prepared by Sarah were really tasty. Conclusion Therefore from a life before marriage to the life after marriage, it was evident that Alex led two different lives. He went from a playful man with not much responsibility to a man with more responsibilities as a husband and a father. Still, he wouldn’t have it any other way, despite these changes. Later he cherished Sarah and the life they had, and nothing in this world could make him exchange what he had now. Essentially, it was a tricky business being married, but a blessing, and an addition of love, company, and much hilarity too. Therefore, if you are a bachelor reading this, embrace your coding cave and your pizza days because once you utter the words ‘I do,’ all those will be things of the past.But trust me, it's all worth it.
-
Oh boy this may be my best product review yet. I'm totally smitten with GitHub Copilot! I always put off trying it, but I finally gave it a try recently. Man, oh man, once I got a taste of it, there was no going back. This auto-suggest feature is pure sorcery! It throws out complete function suggestions while you type, and it's all based on the context of your code.
Let me tell you if you have never tried it, it's freaking awesome and super handy! I've been learning Python for less than a month, but thanks to the freaking Copilot, my Python skills have skyrocketed like for real. I know this because I tackled a Python project and nailed it. The client was stoked because it worked flawlessly, even though my Python skills are still a bit rough around the edges.
The coolst thing is hw clean my code looks, especially for a beginner. all I have to do to add a comment is type a double slash, and Copilot takes care of the rest. It suggests what should go on each line as I type, and it's scarily accurate.
You know what's wild? On the GitHub page, it claims that Copilot writes 50% of the code. But, dude, for me, it wrote way more than that!8 -
!rant
tl;dr I should start writing sitcoms
So my mind is going crazy. Last I night I had a dream about a colleague. He was working on a kind of smart photo frame thingie, which should be published to stores like walmart and so on. Also his 30th birthday was around the corner and his soon to be wife was driving him nuts. So the stage is set for some action. I was visiting him along to said store on the publishing day since he was that paranoid as his job was tightly connected to the success of this project. Anyway now the whole thing gets this tragic comedic type of feeling. He is about to go through a mental breakdown in the very store. Destroying things, yelling like a gramps and stuff you know from sitcoms. I swear at some point he did loose his pants. Also the staff didn't give a damn about him. I was trying to clean his path of destruction so that no one takes note of this. Of course I failed gloriously. This thing goes on for a while. Finally in some kind of credits scene he was sitting in front of his laptop reading a blog post about the success of this thingie. After an insanly long pause of suspension he was starting to kiss his monitor in relief. I swear to god there was fake laughter somewhere in the background like in the good old sitcoms.... Never eat pizza right before sleeping.... -
Trying to make a nodejs backend is pure hell. It doesn't contain much builtin functionality in the first place and so you are forced to get a sea of smaller packages to make something that should be already baked in to happen. Momentjs and dayjs has thought nodejs devs nothing about the fact node runtime must not be as restrained as a browser js runtime. Now we are getting temporal api in browser js runtime and hopefully we can finally handle timezone hell without going insane. But this highlights the issue with node. Why wait for it to be included in js standard to finally be a thing. develop it beforehand. why are you beholden to Ecma standard. They write standards for web browser not node backend for god sake.
Also, authentication shouldn't be that complicated. I shouldn't be forced to create my own auth. In laravel scaffolding is already there and is asking you to get it going. In nodejs you have to get jwt working. I understand that you can get such scaffolding online with git clone but why? why express doesn't provide buildtin functions for authentication? Why for gods sake, you "npm install bcrypt"? I have to hash my own password before hand. I mean, realistically speaking nodejs is builtin with cryptography libraries. Hashmap literally uses hashing. Why can't it be builtin. I supposed any API needed auth. Instead I have to sign and verfiy my token and create middlewares for the job of making sure routes are protected.
I like the concept of bidirectional communication of node and the ugly thing, it's not impressive. any goddamn programming language used for web dev should realistically sustain two-way communication. It just a question of scaling, but if you have a backend that leverages usockets you can never go wrong. Because it's written in c. Just keep server running and sending data packets and responding to them, and don't finalize request and clean up after you serve it just keep waiting for new event.
Anyway, I hope out of this confused mess we call nodejs backend comes clean solutions just like Laravel came to clean the mess that was PHP backend back then.
Express is overrated by the way, and mongodb feels like a really ludicrous idea. we now need graphql in goddamn backend because of mongodb and it's cousins of nosql databases.7 -
Starts new codebase
uses boilerplate with the intent to keep a clean structure.
after 2 weeks it already a complete bunch of spaghetti code and doing things like putting the same image in 4 different directories... boy i wonder why i could never hold down a job as employee...2 -
I never did get that break I wanted. Though, I did get off incident tickets.
Has been replaced with project after project though, with the emphasis being on "getting it over the wall", so as you can imagine. There is a pile of tech debt that's just being ignored. It'll blow up in production one day.
It's not all doom and gloom though. I've gotten the opportunity to write a few things, from scratch that are separate from the rest of our products. Nothing nicer than a clean slate, not built upon a steaming pile. -
I've never wrote nothing serious for PrestaShop and tomorrow afternoon I must have a functioning child theme.
Does anybody know a good article about PrestaShop 1.7 development or clean suicides?2