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 - "proper rant"
It‘s just amazing how much a proper type system and a modern language makes refactoring a good dev experience.3
so... not really a rant because i'm happy to be in the long-term zenlike state where i don't really give a fuck about anything anymore, but...
so today's my birthday (thanks in advance for all the semi-mandatory "cheers" reactions and such)
the agency i do temp jobs through sends money weekly (for the one week back) (which is the main and only reason i use them). they arrive at friday 12:25, so that's when i know to go "check" by withdrawing it, and it's also awesome because it's the best time to provide funds to reward myself (by booze/weed) at the end of the week.
last week, nothing came in. i called them and learned it was due to the contact person in the company i did job in being too late on sending the agency list of people who showed up at the work, i was told it's gonna arrive one week later together with the proper payment for the week-1,so effectively i was one week without any money (literally), but on the next week double was going to arrive, which is nice.
that next week of double was now. i found out that no double arrived, only single-value payment. i called them to ask why.
i was told that what arrived was the late payment, and the dude in company was again late with sending the presence list, so the other payment, for the proper week's work, will be a week late again.
so... that kinda ruined my financial planning tor tge week that's going to happen.
i guess my point (if i have any) is... funny how when someone fucks up, there's nobody for me to be angry at and hold responsible in any way, but when i have delays in my work due to delays upstream, nobody gives a shit about my excuses and it's my fault and i should have compensated, it was my responsibility and duty, and me not doing it (to my own detriment, for someone else) is me failing.
funny how the subjective dynamics of the world always somehow works out in a way where everyone else fucks up and i either have to suck it up and be okay with it otherwise i'm a selfish unreliable entitled asshole, or suck it up and extinguish their fire for them, otherwise i'm a selfish unreliable entitled asshole XD
anyone else noticed this in their life?
how does it work? what is the factor that decides whether you're in the "suck it up" class or the "fuck it, someone else will suck it up" class?
doesn't seem to (just) be the money(flow), i've seen this thing happen even in situations where the money/client dynamics were flowing the opposite way to what would be natural for the shit fall direction.4
Do one thing... That's where the trouble starts.
Yeah. Architecture and separation, these are the foundation.
If you don't do these two in a proper and sane way, you most likely end up with the rotten pile of shit most companies call micro services.
Hot glued unmaintainable mess of deprecated shit stapled together by a custom framework abomination cause no one gave a flying fuck to properly design it.
I see these things daily.
I write the reminders every week.
"Hey, lil retarded dev, you don't need that dependency, you can just use languages feature XY added in version XY"
"But that's how I always did it"
Moments where you want to apply violence from the category "inhumane".
Or even more retarded: Yeah it does everything that was written in that one epic that took 6 months with 30 devs to finish.
I sometimes really wonder how some people managed to survive till they got the job. Parents must have been pretty vigilant 24/7...
In reply to atheist in another rant ;)9
i was hired to join a team of old devs (40+) in an unnamed European country "yay goodbye 3rd world it's time to enjoy the quality of life" assist with enhancing already existing software and creating new solutions.
prior to my arrival most things were slow and super buggy, looking at the code base it shouldn't be a surprise, amateur hour everyone, logic implemented that is not needed, comment driven development, last time code review was done back in 1996. lots of anti patterns.
i swear there is a for loop that does nothing but it loops through a 100+ elements list, trunk based development with tfs since git is "not really needed"
test projects are not there.
>enter me an educated fool, with genuine passion for the craft and somehow a decent amount of knowledge.
>spent the last year fixing stuff educating people on principles and qualities.
> countless hours of training and explaining. team is showing cooperation, a new requirement comes in to develop with react.
> tear my ass creating reusable shit and self explanatory code with proper naming etc using git with feature branching, monday is first deployment day.
> today a colleague was working on an item submit a pull request and self approve it
> look at the code..... WTF the dumb fuck copied and pasted the whole code from different kendo components but somehow managed to refractor the name to test component, commented out all the code that he didn't use did the api call directly from the component, has 2 useeffects that depends on the a fucking text box changes for no reason, no redux implementation, the acceptance criteria is not achieved, and it doesn't work it just look right.
> first world country shit cannot scold, cannot complain, lead by example.
>asked him why you did this, the response was yeah probably i shouldn't have done that, i really didn't understand anything in the training but didn't want to waste time!!!!
> rest of the team created a different styled disaster with different flavors they don't even name their shit the same way.
fellow developers I'm stuck in a spaceship with a bunch of imposters, seriously i never cried in my entire life now I'm teary and on the verge of a break down.
talk with management "improving needs time" and offers me to join a yoga session to release the stress as if reaching nirvana would deliver shit on monday.
i really don't know what do is this a rant, is this a cry for help, I'm not sure, any advice is welcomed.7
!dev && !rant
so in my native language (slovak), basically any noun has a neutral (default), diminutive, and augmentative form.
including (first) names.
for literally decade and a half, SOME names sounded weird to me, as if there was something... unnatural about them, but I had no idea what, or why.
and then one day i finally gave it a proper thought, and realized:
those names don't have all three forms, only two.
because they basically lack the neutral form, and their default form is simultaneously their diminutive.
so i was happy to have figured it out, finally. but then i noticed that some names still sound weird, unnatural.
and then i realized, there's another cathegory - those which only have two forms, because their default is simultaneously their augmentative.
and so I finally had all the name cathegories figured out.
funny thing though, even though i now know this, and even though i've reminded myself of this many times...
...every time i think about it, I have huge trouble remembering even a single name for either of the two special cathegories, precisely as I have this time.
except right now i can't be bothered.
if anyone is curious, poke me in the comments and i'll come up with examples later.9
GraphQL fans, please read the whole rant until you jump in the comments.
I get it, when you have multiple data sources (that aren't always proper databases), your stuff is relevant.
But most of the people use GraphQL when they have a single database. In that case, native joins are always faster than GraphQL dataloader N + 1 BS you have. It takes less time and less code to go to the backend and write an endpoint for the frontend with a DB query than write several GraphQL ones on the frontend and then combine the data with imperative JS. It will work faster too.
So why the fuck should I use GraphQL at all?29
Egad! An actual rant is revealed!
Lamers who insist that informal or oversimplified stuff be written are damn annoying.
God forbid the appropriate use of a four-syllable word.
In what world is "uncanny" a strange word?
Is "blessed are the authors of good documentation" such a difficult sentence? Call the linguist; this shit can only be interpreted by an expert!
"U WRITE LIEK A ROBOT!!!!!!!!!"
Piss off, trog. Some men like succinctness and just wish to communicate without a great deal of ambiguity. A bit of clunkiness is preferable to a bit of ambiguity.
Pants are apparently shat when proper sentences are encountered.
If writing coherently and correctly implies being pretentious, then the world is beyond repair.
Also annoying are lamers who insist on wasting other men's time by asking questions which are perfectly suited for search engines.
Reaching through the monitor and beating the crap out of people sometimes seems a bit tempting. But doing such a thing is infeasible... and would probably result in felony charges if such a thing were feasible.13
This was initially a reply to a rant about politics ruining the industry. Most of it is subjective, but this is how I see the situation.
It's not gonna ruin the industry. It's gonna corrupt it completely and fatally, and it will continue developing as a toxic sticky goo of selfishness and a mandatory lack of security until it chokes itself.
Because if something can get corrupted, it will get corrupted. The only way for us as a species to make IT into a worthy industry is to screw it up countless times over the course of a hundred years until it's as stable and reliable as it can possibly be and there are as many paradigms and individually reasonable standards as there can possibly be.
The entire tech is rotting from the hundreds of thousands of lines of proprietary firmware and drivers through the overgrown startup scene to fucking Node.js, and how technologies created just a few decades ago are unacceptable from a security standpoint. Check your drivers and firmware if you can, I bet you can't even see the build dates of most firmware you run. You can't even know if it was built after any vulnerability regarding that specific microcontroller or whatever.
Would something like this work in chemical engineering? Hell no! This is how fucking garage meth labs work, not factories or research labs. You don't fucking sell people things without mandatory independent testing. That's how a proper industry works. Not today's IT.
Of course it's gonna go down in flames. Greed had corrupted the industry, and there's nothing to be done about it now but working as much as we can, because the faster we move the sooner we'll get stuck and the sooner we can start over on a more reasonable foundation.
Or rely on layers of abstraction and expect our code to be compilable on anything the future holds for us.2
Long time no see devRant. This rant is dedicated to an MQTT implementation we use. Mosquitto, mqtt.js - FUCK YOU.
I spent the last fucking 30+ hours trying to find why the bloody fuck the stupid server / client won't connect to the shitty mqtt broker. From changing all possible config, enabling & disabling specific code nothing abso-fucking-lutely works.
But then it will randomly decide to connect to the fucking broker, not causing any issues at all. And each fucking day when I wake up again and think to myself: oh today I can actually leave when it is still somewhat bright outside - NOPE. Because guess what? The fucking shitty abomination doesn't work anymore.
I just love these types of problems that are almost impossible to debug because the only logs you get is: "SERVER disconnected". It's impossible to get a proper reason out of this shit show, it's just turned into randomly guessing what the error could be (and especially where it could be).
And each time I got it to work, tested it and let the testing team know that they can start testing it will just stab me in the back and be like "fuck you, I'm not working any more". Luckily it's not like the deadline is next week... otherwise work is great, trust me.13
Today after longer vacation I came back to work.
Edit: wrote this rant long time ago, but never finished. Was too pissed.
Some easy meetings, then wanted to start on an easy job.
Just migrating some things from bash regex voodoo to proper tools like JQ.
Finished in roughly 1 h. Lovely.
Made some tea, ate some cookies.
Set up dev environment, found no documentation what so ever, got it running after half an hour.
Annoying, but ok.
Then I tried my scripts...
They worked... Except they didn't.
Console log empty, response code 200 with state: GENERATE_NO_FILES.
Eh. Fuck you. Just fuck you.
Fixed the logging configuration, which was broken since uhm... 2 years plus?
Well... Another half another hour gone...
Kinda pissed now.
Still script return failed...
Poking and trying to sprinkle debug all over that shit cause everything seems ... An incohesive, inconsistent diarrhea.
3 hours later...
Made the ticket to rewrite it.
I did nothing wrong at all.
The API just has no workflow at all. The
*seperate* API calls have to be in an **specific** order - as otherwise the generation will fail, as the prerequisites for the generation are not fulfilled.
Yeah. Completely logical. Especially not to give out any kind of warning or an error message like requirements not met, blablabla.
I drank that evening 2 six packs of beer. I was raging mad....
Then gave that shit to another manager, as I never want to touch that nuclear waste again....
How can someone be so brain damaged -.-1
Coming from a pure sysadmin environment and profession, I feel a great sense of accomplishment when I've successfully managed to use a ruby library properly instead if shelling out to use it's cli interface, with optparse, proper rake task in the lib folders and proper exit code handling.
It's never too late to learn how to program in any language for your personal project.1
Finally got SwiftUIRant into TestFlight:
This first version supports rant feed, notifications, ++/—, and commenting, essentially.
Posting rants and uploading images will be in the next major version.
I will also add proper notification badges later. For now it’s just text. A star (*) indicates unread notification categories.
I’m curious for your feedback 😄
JoyRant new version:
* delete rant
* selectable text in rants and comments
* proper badge on Notifications tab, showing number of unread notifications!
* mention suggestions for comments!
Here is a screenshot of the mention suggestions above the keyboard:
It collects all the user names from the comments, except for the user of the rant’s author and the logged in user.
Have fun 😄
I think posting rants will be next.12
I got a long weekend. I decided to see what React has been up to these days.
I happen to learn more about Suspense that now it allows f**king data fetching with relay.
I decided to give it a try . First time I am actually inclined towards trying out relay just so I can see what the f**king fuss about `Suspense` is all about.
Honestly the API is much better than what it looks like .
However what the fuck is this fucking relay. They have a page in their doc called glossary and most of the sections says TODO .
I wanted to see how the fuck data driven code splitting works . Due to the lack of proper documentation about it I could not get it right for two days . I stumbled upon couple of docs / blogs / github issues about it and then finally managed to get it working .
Well the end result wasn't as cool as I thought it would. The fucking API's to achieve this needless method of code splitting is insane
There are lot of better ways to achieve this with Suspense and the API relay offers is so shitty and not fucking type safe.
Now today I wanna learn more about the directives relay offers and there is no fucking documentation about them except for a fucking bold `TODO` explanation under the sections.
If relay developers thinks that they are fucking wizards and talk all about improving fucking performance . Please don't fucking over engineer API's and make it un un maintainable for the consumers of the library
Wow this feels good . first Day in rant and I m feeling great4
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.
The it manager said that the site on my private vps where we are using a small tool as reference, is a security issue and what if it may be hacked... Well, from this point of perspective all the websites shall be switched off. The tool lovered the problem resolution from 30 to 2 minutes.. I have asked for on premise server before but noone gave a shit so I hosted on my private vps. I wont give it back for free, its a sure thing. Soon they will start to get the complains that its offline because the customer is using it for debugging too. I feel like IT and dev is really moving appart. They act as bunch of pathetic jelous guys who couldn't learn programming and ended up in installing windows on machines...7
OMG I have a proper rant from last night.
It involves an unwanted rebase and lost uncommitted code from weeks.
Tune up after my shift.4
Came across a book by Clinton L. Jeffery that details in programming language design, a topic that has always fascinated me. So I went ahead and bought the book knowing full well it uses an obscure language called Unicon (cool fucking name) devised in order to mimic the Icon programming language (obscure as well) which are languages that detail goal oriented programming. While I do not mind the language itself, seems pretty good for my taste, does not use curly braces or semicolons and a lot of other scripty things, gets compiled to bytecode and works well, but shit man, trying to find documentation for this outside of its own (I don't like it) book is a pain in the ass. To give some perspetive: you know you are dealing with some obscure shit when there ain't any youtube videos on the language. It has some interesting notions, but I just fucking hate the "documentation standard" book that it has for it, and yes, this is because the language has not taken any actual traction from the masses, there are some things that it does not have such as full utf8 support among other things, it really is a nice tech but I hate the lack of proper documentation/tutorials on it.
so i finally got back to Control (the game), since i finally got the dlcs.
finished the main story long time ago, even though i didn't finish all the sidequests, so i'm kinda doing that now before starting the dlc.
it might be just that i didn't explore all the nooks and crannies of the oldest house before, since even the place where the "hunt down and finally fire Tomassi" was a place i haven't been to before, and all question marks on the map (and i assume that place was there even before the dlc, because the quest existed too), but i'm noticing a surprising amount of unvisited rooms now, and i assume at least some of them were added by the dlc.
which made me think: how cool that the lore of the game just enables them to add new extensions to the building without breaking it because just yeah, they appeared recently, it's the oldest house...
however i still hope that maybe at least after 100%ing the main game, the place will get to some more... homely state? i'd love a state where it would feel at least a bit more like a place i'm in charge of, and less than a battlefield perpetually in progress.
anyways, still a great game, i forgot how nice it feels to be in that place. looking forward to the dlcs, just have to find the proper time and mood to immerse in it fully.19
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?