Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "#wall"
Manager: We need to setup the security in the Mexico server
Dev: You mean that 3rd party firewall add on?
Dev: And set up the billing on the Mexico account?
Dev: lol, sure thing I’ll create the ticket
Manager: What’s so funny?
Ticket: Build wall and get Mexico to pay for it.14
"You claim you are a developer and don't know what firebase is? Pfft"
Words uttered by one of my classmates flexing on some 4th semester college inmates. I don't know what's more annoying his squeaky voice, the pretentiousness of using headphones as a necklace during class or that I was just like him when I was a freshman (minus the low hanging fruit flexing).
God fucking damn, I'm not even mad at his obnoxious pampered kid semblance, it's the irony of this enlightened fago falling into the god forsaken rat race. Why?
Because he hasn't been magnanimously disappointed by one of the most corrupt systems I've ever been witness of, yeah keep talking about firebase to the teacher who just nods pretending she knows what you are talking about.
I've had this same teacher before and your nice asynchronous ES6 express nosql solution will come last compared to all the WordPress templates she'll approve because they are pretty and all the time you invested, yeah, right into the crapper, seriously it would've been more satisfying to just masturbate everyday until Christmas break. I'm not pissed at him, annoyed by his semblance maybe, but I actually pitty him because the system will take a big shit on his face and he's just smiling.
Damn it, all these careers ruined by lazy ass professors who think leaving a shitload of diagrams as homework counts as teaching. And before any quirky brother interjects with "oh maybe your University is shit", "muh University verry gut u suk", you shut the fuck up! I know my university sucks even tho is "one of the best ones" by the corrupt media's standards, I'm here to vent about issues, real fucking issues happening in real corrupt systems, I'm taking about professors sexually abusing students, not going to classes, no centralized teaching systems, fucking chaos.
I'm happy for you if you feel good about the piece of paper you hang on your wall that certifies you as Bobby the guy who not only learned a shit load about computers, he also bent his ass so far for us and payed us so much money for it, it's funny he thinks himself as smart.
I know, I know, you went to an ivy league college, have a wonderful job and owe some money, good for you, some are not so lucky and I'll make sure those lazy asses who take advantage of the system lose their jobs.
I'm so sick of this shit we call "moodern educashion"7
Me: *quietly looking at mechanical keyboards*
She: Why do you want another keyboard? $80 for a keyboard? What's wrong with your existing keyboard?
Me: *glances over a wall of bags she owns*
Me: *clicks add to cart*6
I applaud my coworker who titled the business analytics dashboard showing end user feedback and CES values projected onto the 6 meter high wall of the office lobby.
"International Normalized Customer Effort Score Tracker"9
My dev colleagues, the ceo, a external designer and me (dev) are sitting in the meeting room
and we discuss the result from the designer. He designed a complete relaunch of a
small CRM for the logistics sector.
The designer is a designer as you know him, big beart, small macbook, chai late
and he designed nothing, he hired a freelancer from romania.
My boss studied software development in the 80s but didn't really developed a software
for about 20 years, but he thinks he knows all and everything.
My boss is constantly complaining about the colors in the design and he would like
a iOS approach. Our system should complete copy the styles from iOS.
The really funny thing happend in just 1 minute. My boss is complaining again about the
colors and told the blue color is way to dark and the designer meant thats not possible the
blue color very bright. My boss sat next to the designer and looked not on the wall where
the picture was thrown from a projector, instead he looks from the side in the macbook screen
of the macbook which was in front of the designer. Then the designer says "Oh my god, the color
changes if I look from the side or from the top of the macbook." The Designer was blown away. My
boss couldn't believe it and did the same movements with his head and said. "Wow, you are right
the color changes".
We all other people couldn't believe that they are so dumb and thought this must be a joke. But
that wasn't a joke. After the meetin my boss told everyone in our company his results regarding the screen.
I wrote every story in a document, and I'm planning to create a book with dumb shit like this.2
How many times, like a broken record, do I have to tell the managment team that the "what's new" text is 500 characters max for the google play store? How many times? Surely it's more than 5 times, since I've already told them 5 times! I'll report back in when it's 10 times, although by then I may have bashed my head against the wall so many times that I'll be dead, and finally freed from these clowns.6
"It is risky to release an app that depends on APIs that you don't control."
Yeah, dude, we also live in the real world.
Better to say: "Your app should handle cases where the third party API is partially or even totally down."
God, some people, they build a wall of rules around themselves and wonder why their skills don't improve.13
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".13
Stop calling people by their old occupation titles. .
Please address them by using their new titles accordingly
and they will like it their job more.
OLD: *Garden Boy*
NEW: *Landscape Executive and Animal Nutritionist*
OLD: *Petrol attendant*
NEW: *Fuel transmission engineer*
NEW: *Front Desk Controller*
NEW: *Printed Document Handler*
NEW: *Business Communication Conveyer*
OLD: *Window Cleaner*
NEW: *Transparent Wall Technician*
OLD: *Temporary Teacher*
NEW: *Associate Teacher*
OLD: *Tea Boy*
NEW: *Refreshment Director*
OLD: *Garbage Collector*
NEW: *Environmental Sanitation Technician*
NEW: *Security Enforcement Director*
NEW: *Practical Sexual Relations Officer*
NEW: *Wealth Relocation Officer*
NEW: *Automobile Propulsion Specialist*
NEW: *Domestics Managing Director*
NEW: *Food Chemist*
NEW: *Oral Research and Evaluation Director*
Which one got you more?15
I want to get this fake axe: https://amazon.com/Realistic-woodcu...
I want to hang on my wall at work and label it:
"merge conflict resolution tool".
Is that too violent for a joke?9
- I’m tired of being caught in this political bullshit and thinking about how to withdraw my money from the bank ASAP because govt can block my account to prevent me from leaving, how to let my salary make its way from Europe to me without making me a criminal for even having foreign currency, even though I pay taxes, being left without my meds because the country I was born in decided to deny the existance of my illness. At my age, I should be thinking about where do I want to go for vacation and what hair color should my next sex party fuck partner have.
- I’m tired of fighting this never-ending uphill battle with guilt upon guilt upon guilt that cripples my thinking and renders me helpless by the face of it, the constant sense of dread over me failing to even put into words what’s bothering me.
- I’m tired of seeing literally any thing associated with my childhood and having flashbacks of violence and gruesome things done to me as a child. Today, I had a full breakdown over seeing default Windows Vista wallpaper.
My anxiety always hits hard, but how hard should I hit the wall with my head next time to beat this shit out of it? sometimes I hear little bubbles inside. I left my country, but how hard should I vomit next time I eat two jars of nutella as a self-harm session for my country to leave me? I already have my eyes all red and messed up because of doing this. I can’t see straight. is it within my body? can I pull it out?13
If you can be locked out of it remotely, you don't own it.
On May 3rd, 2019, the Microsoft-resembling extension signature system of Mozilla malfunctioned, which locked out all Firefox users out of their browsing extensions for that day, without an override option. Obviously, it is claimed to be "for our own protection". Pretext-o-meter over 9000!
BMW has locked heated seats, a physical interior feature of their vehicles, behind a subscription wall. This both means one has to routinely spend time and effort renewing it, and it can be terminated remotely. Even if BMW promises never to do it, it is a technical possibility. You are in effect a tenant in a car you paid for. Now imagine your BMW refused to drive unless you install a software update. You are one rage-quitting employee at BMW headquarters away from getting stuck on a side of a road. Then you're stuck in an expensive BMW while watching others in their decade-old VW Golf's driving past you. Or perhaps not, since other stuck BMWs would cause traffic jams.
Perhaps this horror scenario needs to happen once so people finally realize what it means if they can be locked out of their product whenever the vendor feels like it.
Some software becomes inaccessible and forces the user to update, even though they could work perfectly well. An example is the pre-installed Samsung QuickConnect app. It's a system app like the Wi-Fi (WLAN) and Bluetooth settings. There is a pop-up that reads "Update Quick connect", "A new version is available. Update now?"; when declining, the app closes. Updating requires having a Samsung account to access the Galaxy app store, and creating such requires providing personally identifiable details.
Imagine the Bluetooth and WiFi configuration locking out the user because an update is available, then ask for personal details. Ugh.
The WhatsApp messenger also routinely locks out users until they update. Perhaps messaging would cease to work due to API changes made by the service provider (Meta, inc.), however, that still does not excuse locking users out of their existing offline messages. Telegram does it the right way: it still lets the user access the messages.
"A retailer cannot decide that you were licensing your clothes and come knocking at your door to collect them. So, why is it that when a product is digital there is such a double standard? The money you spend on these products is no less real than the money you spend on clothes." – Android Authority ( https://androidauthority.com/digita... ).
A really bad scenario would be if your "smart" home refused to heat up in winter due to "a firmware update is available!" or "unable to verify your subscription". Then all you can do is hope that any "dumb" device like an oven heats up without asking itself whether it should or not. And if that is not available, one might have to fall back on a portable space heater, a hair dryer or a toaster. Sounds fun, huh? Not.
Cloud services (Google, Adobe Creative Cloud, etc.) can, by design, lock out the user, since they run on the computers of the service provider. However, remotely taking away things one paid for or has installed on ones own computer/smartphone violates a sacred consumer right.
This is yet another benefit of open-source software: someone with programming and compiling experience can free the code from locks.
I don't care for which "good purpose" these kill switches exist. The fact that something you paid for or installed locally on your device can be remotely disabled is dystopian and inexcuseable.16
<...in the style of linkin park's in the end...>
I DOCUMENTED SO HARD, AND MADE SO MANY TICKETS!!!
BUT IN THE END, NOBODY REALLY READS THEM!!!
I HAD TO DEV!!! AND BUILD IT ALL!!!
BUT IN THE END, IT FEELS LIKE I'M TALKING TO A BRICK WALL!!!!
rhymes are lazy / nonexistent, I know, but my rage is superseding my ability to rhyme right now.3
CODING CODING CODING HAHAHA I LOVE PROGRAMMING BEING A LITTLE CODE SLUT. I LOVE SILICON VALLEY IM SUCH A QUIRKED UP LITTLE CODE SHAWTY LOOKING FOR SOME ALGOASS 🍆💦😩.
“Slams fists on keyboard”
I LOVE BEING A CUTE SCREEN TWINK, IMPRESSING PAPI CEO WITH MY FINGER COMBINATIONS. I LOVE PLEASING EXECUDADDY. 🍑😏
“Takes keyboard in hand and slams it against desk until keyboard keys explode everywhere”
I LOVE WATCHING THE AMERICAN GOVERNMENT AND CORPORATE AMERICA FUCK MY ASS IN RETURN FOR PERSONAL PROFITS. 🤑☔️
*digs fingernails into the wall and claws off paint and then snorts it”
*pees and shits pants*
*cries in corner with extra agony*11
Fun stuff from the few most recent pages in Dwarf Fortress bug tracker:
Human civilization's soldier is an Alligator Recruit.
Dead suspects confess to crimes
Crash due to zero-size weasel
Pets and other animals from retired fortresses appear as selectable 'workers' in request screen, die of old age on arrival
Some animal people have extra fingers
People dying twice?
Most confusingly, one necromancer shows as having died from old age twice, despite this not being possible.
My Nature Hating Adventurer Who Lacks Altruism And Is Very Cruel Isn't Happy After Butchering Animals
bat man males don't have geldables
Reanimated severed werebeast necromancer hand has a full body
Dwarf likes "cacao wood wood"
Dwarves turn hostile againt the player and defend their prison from raid sent to free them
Visitors giving birth during visit leave their baby behind
a water buffalo got stuck inside a rough tetrahedrite wall
Animals which retract into body parts forget to come out
Herbalist stuck on stepladder, starving to death.
Artifact has an image of nothing
Cave Dragons are sometimes intelligent, and sometimes join human civilizations
A goblin knocked over a workshop and now my dwarves are killing each other
Ambusher elves are being spotted, but the giant monsters they're riding on aren't.
runs with food from table to table. Can't eat
Intelligent Undead Sent on Mission Return as Ghosts
Horrified merchants immediately destroy their wagons, pack their goods and leave the depot
Dwarf king abdictates to become commoner necromancer apprentice
Internal body parts with certain tags can still wear clothing & armor, without being otherwise accessible
Necromancer marries zombie
Single dad dwarf with buggy dead wife leaves kid behind when he takes over holding
Large quantities of adamantine coins causes trade depot to burst into flame3
I don’t care how many tests you’ve passed, how many certificates you have on your wall, or how many letters you put after your name. I can tell if you’re an idiot one way or another.4
Embedded app design resources?
We have a device that is currently controlled through buttons and knobs. We are rethinking this design. We want to have a mix of buttons and knobs and in addition have a touchscreen. The controls must be redundant. So if we turn off the touch screen it must be able to control everything.
Does anyone know of any design resources for non-touchscreen embedded control?
I have been looking into how gaming console controls work. I like how they have the idea of controlling the game vs breaking the 4th wall. We have a similar constraint as we want the operator focused on what they are controlling and not the controls or even sometimes the screen. So immersion is definitely a concept for us. I have been toying with the idea of adding a d-pad for some controls. We have not solidified the hardware controls yet. That is still up to me to come up with some ideas to make it more intuitive.13
I had a job where the CEO/founder regularly yells at people and punches the wall.
During citywide rollout. He and a few other people went out to buy power inverters so they can power up my PC using someone's car14
"And in a stunning turn of events, he got it to work!"
But seriously... I've literally been throwing shit at a wall and seeing what would stick.
Fucking DTOs and getting shit out of a database. I need better resources on how to do this properly!
Anyways, I found that just using 'object' and letting the compiler deal with the rest of the bullshit actually allowed my code to work and run. I'm still a little in shock.
I'm over here trying to keep things in a nice one-to-one because that's what my PM recommended... and instead I just get slammed by Type casting nonsense and more errors than I can begin to understand. And unfortunately, Stackoverflow is of no help because everyone's issues are very nuanced and unrelated to my problem... Maybe I'm the problem? 🤷
But here it is working without all that bullshit. I don't know man... This code base is not the rager I was expecting. I'm getting my ass kicked with code that doesn't fall in line with the book I'm learning from.
You know how they say, "forget everything you've read and learned"? I'm feeling that really hard right now.
Constantly fighting the urge to rip everything down and do it based on what my book is recommending, but then the logical natured side of me is like "you ain't got that kind of time to be unfucking someone's work, only to get caught in more trouble. Your ego is not worth it"
Anyways, it's fucking late here and I'm glad enough to not have to think about this issue anymore. Bye.3
Java and C were telling jokes. It was C's turn, so he writes something on the wall, points to it and says "Do you get the reference?" But Java didn't.7
Here we are, three years later. Our system breaks down at the slightest load. An architecture is hardly recognizable anymore. The code consists of methods that have been refactored beyond recognition. The so-called architects came and went, leaving behind an ever-growing fiasco. Wrong decisions are concealed, criticism of them dismissed as ignorance. Our clients are on the verge of having us all killed. Daily crisis meetings are the norm. The remaining developers skulk around the unmaintainable code like emaciated ghosts. Everyone who has even the slightest chance to escape takes a parachute. Our dailies are made up of lies to cover up yesterday's lies. Our Mondays have become days of dread, because that's when the weekend disaster news has to be analyzed. Yet there are still developers who turn a blind eye. Who recommend this and that workaround in a good-humored tone. The code consists only of workarounds. Sarcasm has replaced any normal discussion. Reasonable suggestions on how to basically refactor the whole thing are rejected for cost reasons. In the process, our entire budget is eaten up by maintenance costs. Middle management should be put up against the wall. Why am I still here? This deceptive feeling that one could still turn the tide. This is eating me up.2
Day3: the accuracy has gone to shit and continues to stay that way, despite me cleaning that damn data up.
*bangs head against the wall, repeatedly*10
Nvidia. Why the fucking hell do I need to sign in to my Nvidia account to install drivers? I fucking hate your proprietary bullshit agenda!8
I love when devs bitch about the size of PRs on a very standard sized one. They're all related changes that can't be broken up. Do you want the app to be broken between PRs? He spent more time bitching about the size of the diff and telling me how he does it better instead of just reviewing the code. A tip or an ask is one thing, this was a wall of text.
Oh and he still didn't approve the PR, which I know he looked at, and didn't leave any blocking comments.4
We're completely redoing our bathroom. Apparently i accidentally damaged a pipe on the other side of the wall yesterday, and now we've had a water leak! 😁 Should've written tests before I went home yesterday2
when your questions turn into a wall of text because you have a hypothesis and want to show the research you've tried doing, with citations
then nobody reads it or answers you
Never! Deploy! To production! On Thursday! *banging my head against the wall*
Now I need to revert some things manually on production ON MY DAY OFF 🤦♂️🤦♂️10
Hello guys, I need your help.
Recently we purchased new property for our company. And we are about to start working there in few days.
And now we are searching quotes to stick on wall there.
Can you guys help me with this?
Please suggest me some quotes.16
SCW (Secure Code Warrior) IS TOTAL, COMPLETE AND UTTER SHIT!
I keep finding outright and definite mistakes... for example: two solutions that are 100% identical - I copied and diff'd them to be sure I wasn't stoned... the code they show has ZERO comments, so you have ZERO context for anything (and it's written like shit on top of it - I'd fire a motherfucker if they turned in ridiculous crap like this regularly)... I've found answers where one is a subset of another so the "superset" answer should be considered correct as well, so you effectively have two right answers (in other words: this is one of those "you better pick the EXACT answer we WANT you to pick, even if another is TECHNICALLY correct too, doesn't matter, you gotta divine which WE say is right" situations)... there's not enough information given in some cases to even realistically attack the problem... and so on.
It's just fucking garbage, but now I HAVE to get a passing score on the fucking thing to meet a work requirement and you think anyone is going to give two shits if I point out the problems? Of COURSE not! Just need to check the box, so now I have to waste hours of my day fighting through this horseshit just to say I did it.
Is there any value in it? FUCK NO! It's actually NEGATIVE value since now I'm not doing what I'm actually paid to do.
And the worst part is I absolutely, 100% know all this shit! It's not like it's a problem because I fundamentally don't know the concepts. But because your platform is a joke it's making it a nightmare for me.
FUCK THIS SHIT! Friday is over early because of this, I'll bash my head against the wall again on Monday.2
Yesterday was one of those days where I felt like punching a wall. A lot disappointments but here’s to a better tomorrow 🍻1
you know what annoys me about this situation the most ?
noone is living an ideal life
in any sense
except a few
but that being said, living less than ideal life if people had not wasted so much time, would have led to certain things becoming better.
if i was out of development work, and had to take a crap job.
and lets say that ended up putting me in a financially unstable situation.
if i had rotten teeth, i could work part time, go to a sliding scale place and fix them one by one
while either educating myself further or looking for a better job because in truth, if i'm accepting a part time job, i must be fucked.
i don't see any longevity in an intensely physical job, I see an early death.
there are not enough paying people to ensure everyone has a skilled job, and truthfully not everyone can, but we have more people than we need to do the unskilled and skilled jobs both so why are we not running with that ?
the best time to do unskilled labor or just labor jobs period is when a person is young and there body is new.
and then not for long or with accommodation considering throwing your back out or fucking up your knees stays with you for life.
everything is so backwards in this country.
people think in terms so frequently these days in 'how can i make someone else suffer for my amusement and see their potential diminished so i feel better about my fucked up pathetic life ?'
'how can i get revenge against a person that doesn't deserve it'
'how can i ensure other people are totally boned so my charmed life i don't deserve seems satisfying'
its pretty gross as are these people
well fast forward years later and life appears fairly repetitive for alot of people
took a very large of detours here, had some fun, experienced some fucked up horros, saw a few wonders which were mostly based off my ideas, and some that were not.
still i return to what is to be done about our unfair, wasteful system ?
I've always been a fan of removing people's 'excuses' to neglect their children for example.
and definitely blocking all avenues of abuse.
even unintended, or pretended to be unintended.
i also hate people who smell because they don't clean themselves, and use excuses for that
I also hate people who make other people live in a situation where they can't take care of themselves and then try to dominate places they seek refuge because our fucking system sucks.
I also hate that there is more food than people can eat and restaurants closing when there are hungry people.
i also despise that we have more vacant houses in this country than we have family units.
some are just rotting away from neglect.
and i most especially hate people who get off on watching whole landscapes decay.
there is tons of work for the proper people
some of it is hard
some of it is tedious
its these kind of tasks that are necessary
the right spirit and the RIGHT COMPENSATION and the work gets done.. hopefully.
starting out with placing everyone in means to eat and sleep and clean themselves seems the most important.
everything else is icing on the cake, because by and large many people get sick of doing the same exact things, and people hate staring at the wall.
the problem is, there are alot of people who are, due to extreme damages from our modified culture, extremely abnormal, sadistic and untrustworthy around... anyone.
so with more time on their hands, they get bored and turn destructive and antisocial and breed people to be worse.
years I've been preaching this.
same people fly past in man places.
here and there some new fool marches in, eyes sparkling with malevolence, only to get caught in the same eternal loop and be absorbed into it.
i haven't seen one such as myself that I know of, that showed up with every intention of changing their life, becoming friendly with people, finding the things they enjoyed, and improving themselves intellectually, emotionally and socially; searching for an environment filled with more people who would be helpful to this extent, getting a rude awakening and realizing how horrible their country was becoming.
don't know if I should be happy being alone as the only sane person. heh.
I really don't want to be. I just want us to be happy. this is deserved after so much hardship. after seeing how people in general have become.
oh we all have lusts and vices and shortcomings, but the gulf that had grown between ordinary folk and the general population is astoundingly wide.8
I graduate college in December and I got my first fulltime job offer today! I've been working in my university's oit department for 3 semesters, lol most of rants are about that job. I guess a lot of my frustration stemmed from being capable but hitting a wall in the sort of things I worked on. I didnt feel like I was growing and had no avenues to express concerns/feedback towards the end. Plus the job was not one where they could give me a job after graduation, so I just felt unseen and discardable day to day.
But turns out this job worked out for me! There's an opening in a whole other division that does api development and data warehousing with Snowflake/Attacama and they want me specifically for it. If the benefits/pay ends up being decent, I'm leaning towards accepting it.
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.
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.
I spent the whole damn day trying to setup grpc-web, but this protocol is documented so damn poorly!
You manage to set grpc up for one language and it’s all cool, then you stupidly think that you are free to reuse the compiler you used for the nodejs version for your frontend part but nope! Our web module is now deprecated, please use this module instead!
“Ah yes just clone the repo and check out (…) and you can also check this link whic is in no way highlighted in the middle of a wall of text (…)”
*checking the other page*
Ah yes you need to install a package available only on your unix machine (great! Screw the devs in my team who use windows I guess, they’ll be happy to hear this!) and don’t forget to clone this repo to build your own plugin! And by that I ofc mean to compile it on your own!
- compiler error
After digging for an hour you find a requirement in an obscure issue opened and closed cause “ah yes we have a dependency not stated anywhere” *close issue and never add it to the project*
Fine, fine I can survive this bs
- another compiler error, no solution found after 2 hours
Honestly? Why the fuck do I need to compile this stuff? Just give me a damn npm package I can use? Goddamn it’s just transpiling, you don’t need access to my OS! (Aside for fs to save the files, and which btw is accessible via nodejs)
Now, I COULD download the latest realease as a precompiled, but… honestly?
I give up, I’ll do some shitty rest apis cause the customer’s not paying me enough for even THINKING to go trough this shit again when they’ll ask an iOS app. Or having colleagues asking me to help them understand how to do it.
Side note: also add typescript support to the web-code-generation ffs! Why does node have it and web don’t?5
CSP: the thing that finally makes me jump out a window.
It's not that it's bad per se... well, I mean, it is, in several ways... but I can cope with it.
But when you're being pushed to apply a very strict policy to an app that is (a) itself 10 years old (predating CSP and most modern practices entirely you'll note), (b) has code that originally came from a 15-year old app at its core, and most critically (c) uses a third-party library that is at the very heart of it all and that simply can't ever play nice with CSP due to its fundamental nature... well... that's a recipe for an awful lot of head-meet-wall.
And you're not going to do a ground-up rewrite of an app that cost literally millions to develop (and is constantly being grown to this day) and which is now mission-critical and very highly regarded by the most important clients.
Any advice on how to deal with gatekeeping developers? How to deal with red tape?
I work with people that are resistant to code and process change. Continuous pedantic pushback on nearly anything; one raised a fuss over metrics not being satisfactory at a 5% threshold for alerting stating that 4.99% metrics variance wouldn't trigger an alert.
It's genuinely as though my coworkers are all scared of code based on the way they behave. They don't seem to code very often either.
I'm someone that codes quickly but I have to constantly write proposals for quite literally any change to the codebase. Even IF there were issues we could always rollback (and even then we have metrics, alerts, canary rollouts, feature flags, etc etc). As a quick aside, my pace isn't related to the pushback nor experience/skill level. Just affects my morale and mental heth to be blocked.
I can communicate effectively and I try to be as clear as possible in my proposals but this is absolutely driving me up the wall and killing my motivation.
This is a faang-level company and I would've expected better.
Any advice on how to best navigate this? Is this the norm???4
Everything we have in life is a set of illusions, one seemingly more real than the other. When a child pees themselves in their sleep, they pee in a perfectly real bucket. They hear a steady, real sound of urine hitting the wall, confirming they didn’t miss, but somehow, it doesn’t sit well with them, and they doubt. A serious, full-grown adult is different in just one thing — they also shit themselves.
They lack that doubt that brings the child closer to the truth. Instead, adults have a so-called “scientific worldview”, that, in a nutshell, is about how the bucket is real because of the sound, and the sound is real because of the bucket, and thus, we all should be working 24/7.
To help a serious, full-grown adult wake up from this reality, death exists.
The thing about startups is that you have the opportunity to be involved in a lot of different things. I easily get bored with repetitively doing almost the same thing day in day out.
In my current company, I have been working on the same mobile app for close to two years. It’s the same basic thing, build UI, make API calls, and fix bugs. I am so bored that I’m fit to climb a wall. Anyways, I’ve started applying for backend positions.
But then startups are volatile and things are almost always unorganised.2