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 - "convoluted"
-
I always like to approach a new coding project by concentrating on the data model first. I've seen a lot of projects built on extremely convoluted database structures and it really hurts because it makes it hard to add new features to the project.
So I look at the requirements of the new project and try to come up with a basic data model. Then I like to think about what logical future additions to the project could be. And using those, I try to see if the data model is flexible enough to be able to handle those additions fairly easily or if complex migrations or hacks would be needed to account for new use cases and features.
I think once you have a solid data structure and database technology, planning out an API or rest of the software is pretty straight forward. I like to create reusable pieces of middleware early on in the project which makes it easy to apply consistent functionality with ease to different API endpoints.8 -
Just for fun I am making an RPG Maker game called "IT Quest" where you go on a 40 hour long quest just to get the security team to modify a user. The game will feature tons of mandatory side quests and a convoluted plot that requires descending into the depths of the server room to find a virgin followed by a sacrificial ritual over the broken fax machine. And ultimately the security team just closes your request without telling you why and you have to fight the final boss of the game, Zeromus who runs security. When you defeat him you get the golden CAT5 cable of time which you beat the person who closed your request with until he reopens it and does his damned job.12
-
I googled "fuck apple" and ended up here... so yeah fuck this piece of shit company with shitty overpriced cancer inducing products. Xcode is the worse garbage I've ever seen in my life. For a company that masturbates to their superior design well they can eat a fat dick cause its horrible. Everything this fucking company does makes me waste my time. Add a fucking notch to their displays, retarded app store process, makes you workaround to install latest OS on older machines, hide options in convoluted interface, everything, make you feel like your 12 again and living with your parents. fuck them. fuck apple fan boys. fuck tim cook. fuck kids that jack off to iphones fuck you if you own a macbook and drink at starbucks . this is the last fucking ios app I ever make. bye39
-
SO GUESS WHAT
IF YOUR SHITTY WIFI CRAPS OUT DURING A VISUAL STUDIO UPDATE, VISUAL STUDIO FUCKING COMMITS SUICIDE
MICROSOFT CAN SUCK A BIG, VEINY COCK. IM SO DONE WITH THEIR SENSITIVE, CONVOLUTED, SLOW IDE.19 -
!!fml
"Root, go fix this bug. It'll take you two days."
The "bug" is a feature that was never implemented for one particular payment type.
The code in question is two years old, full of typos, smells, junior-isms, and is convoluted AF. The feature's commit touched 190 files and implemented many other features as well. Thus far, I have been unable to narrow down where this particular feature's code lives for the other payment types, nor which code or payment paths lead to it. Burned out, I can barely focus on the screen, let alone follow its many twisting and dynamically-inferred paths. I hint as to the ticket's scavenger hunt nature during standup.
"But I wrote comments on the ticket telling you exactly where to look to fix it," Thundercunt admonishes in front of the team.
"Sure, you did," Root replies. "You reworded what the original dev had said in the comments 20 minutes prior, and agreed with him. His comments were helpful, but it doesn't tell me how any of it works," she continues.
TC scoffs and closes the meeting.
Root stares blankly, seeing neither code nor screen, questions her life decisions, and recalls the previous tickets she has worked on: nearly every one of them busywork, fixing other people's bugs. Bugs she never could have gotten away with if she tried.
"Why do I put up with this?" She asks. "They don't care, and it's killing me."
But the bills remain, and so must she.
"Fuck my life" she finally decides.20 -
Had a meeting with my boss earlier. Got yelled at for:
a) Working on a high-priority, externally-committed ticket (digit separators) that i was 85% done with on the Friday afternoon before my vacation instead of jumping to a lower-priority screwdriver ticket that just came in. Even though my boss agreed with me that what I did was exactly what I should have done, it's still bad because I was apparently rude to product by not doing as they asked?
b) Taking too long on that digit separator ticket that amounts to following a gigantic mess of convoluted spaghetti and making a few small changes, and making sure it doesn't break the world because it's all so fucking convoluted and fragile as hell. Let's not even mention my 4-10 hours of mandatory useless meetings every week.
c) Missing something that wasn't even listed in that same ticket -- somehow my fault? -- so I very obviously didn't test my work. Even though specs all passed and QA also tested and signed off on it as working and complete. Clearly half-assed and untested. Product keeps promising/planning UATs and then skipping them, and then has the audacity to complain about it.
d) Not recovering fast enough from burnout and daily mental breakdowns. I can still barely get out of bed and you want me to be super productive? Got it. Guess what? I'm being amazingly productive for my mental health. But my boss, Mr. Happy-go-lucky, thinks depression is dropping your icecream cone on your clean kitchen table, and this three-ton pile of spaghetti is "maybe a little messy, I guess."
So I need to somehow "regain the confidence" of both him and product because I'm taking awhile on difficult tickets (surprise), while having these ridiculous breakdowns (surprise), and because I don't fix things that aren't even listed in the fucking tickets (fucking surprise) -- and worse, that the lack of information is somehow entirely. my. fault. (surprise fucking surprise)
GOD I HATE THESE PEOPLE.rant my guess is performance reviews are coming up ahsflkiauwtlkjsdf root is angry how dare you not be a robot i used to call this place purgatory now i think it's just another layer of hell how dare you go on vacation everything is urgent15 -
Reviewing coworker's code:
Me: I see you're doing a convoluted sort for every element twice to get your two lists in sync... 😐
CoWorker: Yeah. *straight face, no regrets* That's the only way to do this.
Me:... Uh... No? You can just manage one list with a simple struct and then use the the standard sort.
Coworker: Yeah sure I know. But it'll take time. We don't have time.
Me: *aghast* This is embarrassingly bad code!
Coworker: Don't worry, later on I'll use a hashmap for it. But this needs to be pushed now.
Me: *to myself, no you don't need a hashmap*
Okay, you do you but I can't back you on this. It isn't going to take a lot of time to correct it.
Next day.
Coworker: Hey can you review my code again?
Me: You've made the changes already? *in a bored tone, knowing that they wouldn't have changed shit*
Coworker: No this is a different file. Our manager agrees that we can worry about performance later.
Me: Sure. *😀🔨🔨*
Few weeks pass by:
QA: The operation takes absurdly long time to complete even with the smallest data. Ten minutes for X is unacceptable.
Me: Who would've known? ☺️21 -
That feeling: When you see a piece of code and you're like "I can do that in half the number of lines..."
And so you spend the next 45 minutes redoing something that was working perfectly.
Except now it's a convoluted and unreadable demon child that appears to writhe on the screen before your very eyes and cause madness and hatred in all who view it. But.. it works in 3 lines now instead of 7... and you don't need 4 of those local variables that you did before... and even though it's completely impractical because no sane mortal (including yourself - barely) can actually read it, it's still yours and you're proud of it.7 -
It seems like every other day I run into some post/tweet/article about people whining about having the imposter syndrome. It seems like no other profession (except maybe acting) is filled with people like this.
Well lemme answer that question for you lot.
YES YOU ARE A BLOODY IMPOSTER.
There. I said it. BUT.
Know that you're already a step up from those clowns that talk a lot but say nothing of substance.
You're better than the rockstar dev that "understands" the entire codebase because s/he is the freaking moron that created that convoluted nonsensical pile of shit in the first place.
You're better than that person who thinks knowing nothing is fine. It's just a job and a pay cheque.
The main question is, what the flying fuck are you going to do about being an imposter? Whine about it on twtr/fb/medium? HOW ABOUT YOU GO LEARN SOMETHING BEYOND FRAMEWORKS OR MAKING DUMB CRUD WEBSITES WITH COLOR CHANGING BUTTONS.
Computers are hard. Did you expect to spend 1 year studying random things and waltz into the field as a fucking expert? FUCK YOU. How about you let a "doctor" who taught himself medicine for 1 year do your open heart surgery?
Learn how a godamn computer actually works. Do you expect your doctors and surgeons to be ignorant of how the body works? If you aspire to be a professional WHY THE FUCK DO YOU STAY AT THE SURFACE.
Go learn about Compilers, complete projects with low level languages like C / Rust (protip: stay away from C++, Java doesn't count), read up on CPU architecture, to name a few topics.
Then, after learning how your computers work, you can start learning functional programming and appreciate the tradeoffs it makes. Or go learn AI/ML/DS. But preferably not before.
Basically, it's fine if you were never formally taught. Get yourself schooled, quit bitching, and be patient. It's ok to be stupid, but it's not ok to stay stupid forever.
/rant16 -
1. I wish that people start taking back their device ownership. Right to repair is an extremely important thing. Like that Nexus 6P that I've recently repaired by jamming another battery into it, now it's at 110-ish% health according to AccuBattery. And it cost me.. €10 or so? All the while if I wasn't able to get in there, it would've been a €120 paperweight (and that's not even considering the €300-ish (? Someone please fill me in on that) price it retailed at back in 2015 when it was a flagship).
(edit the so many'th: according to https://express.co.uk/life-style/... the base model was apparently £449 at release, haven't been able to verify it though.. point is, a paperweight at such prices would've been quite a bummer, I mean for me it was even one given that it failed a mere few months after purchase for €120.. €40/m for a phone ain't nothing :/)
Right to repair is an extremely important thing, and the ability to do so shouldn't ever be impeded. Users should become able again to service the devices that they own.
2. I wish that people start caring about their privacy again. Google and Facebook and the likes are large companies, but at the end of the day, that's all they are. Large companies. And they're hungry for your data, not because they're selling it, rather because they're collecting it to an extent which they shouldn't. Over at DDG (https://spreadprivacy.com/duckduckg...) they explain a very much viable alternative revenue model pretty well. Additionally, there's several tools which you can use to limit the amount of data that's being collected about you. These include but are not limited to Firefox, NoScript, ad blockers (I personally use uBlock), a trustworthy VPN (ideally one of your own), and Tor.
3. I wish that software would become less inefficient. It really pains me to see that applications with functionality that could be implemented in a couple of MB at most come at a size of several hundreds of MB. 1% efficiency, even the inefficient as fuck tungsten light bulbs weren't that awful!!! Imagine what could be done with all the hardware we have available nowadays, if every piece of software would be around 80% efficient as is a common norm in electronics. Just looking at Linux which is still in many ways convoluted, modern desktops with a couple hundred MB of RAM usage? You've got it! So why can't OS's like Windows (although I have to say, huge improvements have been made there over the last few years) and browsers like Firefox and Chrome be more like that? I really don't understand.
There's several more wishes I have of course, but those are the most important ones.. hopefully I'll be able to see at least one of them come true during my life.10 -
Why is the contributing manual of your open source project more thoughtfully cultivated than your code style guide and testing procedure?
Why the fuck do you care about the message in my PR, or even merge vs rebase of commits, when your spaghetti-tomatosource is so richly saturated with critically minced bugmeat?
Why are you standing there, shouting at me about your convoluted rules, in your little brown uniform? Why do I feel like the enemy when I contribute a useful fix, something which makes the code work better?
You know what, fuck all of you, you jilted acetous neckbeards, I will deploy my secret weapon, I will bypass the power you hold over your tiny fascist digital dominions.
If you play it like this, I will summon the nefarious vile side of Open Source. I will usurp your throne. I will stab out your crying eyes, rip out your conceited tongue, impale your lonely heart.
Tremble before me! I wield the almighty, legendary Fork!
The king is dead, long live the king!5 -
Code review:
- Almond: This method here is a mix of convoluted loops conditionals and ternaries... I really don't think we can pass this. Can we make sure this logic is a lot clearer?
- Bob: Oh, ok, sure. I'll work on that.
Next day:
- Bob: I've hopefully cleared up the meaning of that code now.
- Almond: Sure, let me look. Err... it looks the same to me? Have you done it in another branch?
- Bob: Oh no, it is the same, but there's a link in the code now to a PNG of a flowchart I put together in draw.io to show how it works.
...🤦♂️16 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
Jesus Christ. Dagger2's documentation has got to be the most convoluted shit I have ever laid my eyes on.
The sheer mental gymnastics I had to do to get through this one line at 2:30 am...11 -
I'm editing the sidebar on one of our websites, and shuffling some entries. It involves moving some entries in/out of a dropdown and contextual sidebars, in/out of submenus, etc. It sounds a little tedious but overall pretty trivial, right?
This is day three.
I learned React+Redux from scratch (and rebuilt the latter for fun) in twice that long.
In my defense, I've been working on other tasks (see: Alerts), but mostly because I'd rather gouge my freaking eyes out than continue on this one.
Everything that could be wrong about this is. Everything that could be over-engineered is. Everything that could be written worse... can't, actually; it's awful.
Major grievances:
1) The sidebars (yes, there are several) are spread across a ridiculous number of folders. I stopped counting at 20.
2) Instead of icon fonts, this uses multiple images for entry states.
3) The image filenames don't match the menu entry names. at all. ("sb_gifts.png" -> orders); active filenames are e.g. "sb_giftsactive.png"
4) The actions don't match the menu entry names.
5) Menu state is handled within the root application controller, and doesn't use bools, but strings. (and these state flags never seem to get reset anywhere...)
6) These strings are used to construct the image filenames within the sidebar views/partials.
7) Sometimes access restrictions (employee, manager, etc.) are around the individual menu entries, sometimes they're around a partial include, meaning it's extremely difficult to determine which menu entries/sections/subsections are permission-locked without digging through everything.
8) Within different conditionals there are duplicate blocks markup, with duplicate includes, that end up render different partials/markup due to different state.
9) There are parent tags outside of includes, such as `<ul>#{render 'horrific-eye-stabbing'}</ul>`
10) The markup differs per location: sometimes it's a huge blob of non-semantic filthiness, sometimes it's a simple div+span. Example filth: section->p->a->(img,span) ... per menu entry.
11) In some places, the markup is broken, e.g. `<li><u>...</li></u>`
12) In other places, markup is used for layout adjustments, such as an single nested within several divs adorned with lots of styles/classes.
13) Per-device layouts are handled, not within separate views, but by conditionally enabling/disabling swaths of markup, e.g. (if is_cordova_session?).
14) `is_cordova_session` in particular is stored within a cookie that does not expire, and within your user session. disabling it is annoying and very non-obvious. It can get set whether or not you're using cordova.
15) There are virtually no stylesheets; almost everything is inline (but of course not actually everything), which makes for fun layout debugging.
16) Some of the markup (with inline styling, no less) is generated within a goddamn controller.
17) The markup does use css classes, but it's predominately not for actual styling: they're used to pick out elements within unit tests. An example class name: "hide-for-medium-down"; and no, I can't figure out what it means, even when looking at the tests that use it. There are no styles attached to that particular class.
18) The tests have not been updated for three years, and that last update was an rspec version bump.
19) Mixed tabs and spaces, with mixed indentation level (given spaces, it's sometimes 2, 4, 4, 5, or 6, and sometimes one of those levels consistently, plus an extra space thereafter.)
20) Intentional assignment within conditionals (`if var=possibly_nil_return_value()`)
21) hardcoded (and occasionally incorrect) values/urls.
... and last but not least:
22) Adding a new "menu sections unit" (I still haven't determined what the crap that means) requires changing two constants and writing a goddamn database migration.
I'm not even including minor annoyances like non-enclosed ternaries, poor naming conventions, commented out code, highly inefficient code, a 512-character regex (at least it's even, right?), etc.
just.
what the _fuck_
Who knew a sidebar could be so utterly convoluted?6 -
Ticket: Add <feature> to <thing>. It works in <other things> so just copy it over. Easy.
Thing: tangled, over-complicated mess.
Feature: tangled and broken, and winds much too deep to refactor. Gets an almost-right answer by doing lots of things that shouldn't work but somehow manage to.
I write a quick patch that avoids the decent into madness and duplicates the broken behavior in a simple way for consistency and ease of fixing later. I inform my boss of my findings and push the code.
He gets angry and mildly chews me out for it. During the code review, he calls my patch naive, and says the original feature is obviously not broken or convoluted. During the course of proving me wrong, he has trouble following it, and eventually finds out that it really is broken -- and refuses to admit i was right about any of it. I'm still in trouble for taking too long, doing it naively, and not doing it correctly.
He schedules a meeting with product to see if we should do it correctly. He tells product to say no. Product says no. He then tells me to duplicate the broken behavior. ... which I already did.
At this point I'm in trouble for:
1) Taking too long copying a simple feature over.
2) Showing said feature is not simple, but convoluted and broken.
3) Reimplementing the broken feature in a simpler way.
4) Not making my new implementation correct despite it not working anywhere else, and despite how that would be inconsistent.
Did everything right, still in the wrong.
Also, they decided I'm not allowed to fix the original, that it should stay broken, and that I should make sure it's broken here, too.
You just have to admire the sound reasoning and mutual respect on display. Best in class.19 -
Microsoft Excel - it created a generation of business analysts who think just because they can write convoluted spaghetti logic in excel that it makes them a programmer.5
-
Yes - I fucking hate xcode too.
These are the main reasons:-
(1) Why the fuck make people go into Terminal to run pod install to build something? this is absurd.
(2) There are always fucking problems with the provisioining profile - like wrong fucking profile, or expired profile - which fuck wit came up with such a convoluted way of deploying? and then you to have to login to the apple develope and agree to some new fucking terms with some other bull shit crap.
(3) Swift 4 is out when nobody has been learnt swift 3.... What the fuck??
Fuck Apple!9 -
I remember opening an old script file on our server for scheduled tasks, and thinking to myself; What idiot wrote this mess? It's unnecessarily complex, solving the problem in a convoluted way. And of course, not a single line of comments.
After reading it through and through many times to understand what each line did I kept repeating to myself; What an imbecile... Being this stupid should be illegal... Coding should require some sort of license to prevent idiots from doing this!
Then of course, it slowly dawned on me. I had written this crap one year before. I'm the idiot... 😐
I've commented every line religiously since then.4 -
Interview for a new job
Team leader: well yes, we have this webapp with Angular, it's a bit convoluted so we need help working on it
Me: sounds good enough, I have no experience with Angular though, I'll need to learn on the road
Team leader: no worries :)
A couple of weeks later, after joining the team
Me: wait a moment, that's not Angular you got there. That's AngularJS, it's like 10 years old
Team leader: 😊
Bruh11 -
A lot of engineering fads go in circle.
Architecture in the 80s: Mainframe and clients.
Architecture in the 90s: Software systems connected by an ESB.
Architecture in the 2000s: Big central service and everyone connects to it for everything
Architecture in the 2010s: Decentralized microservices that communicate with queues.
Current: RabbitMQ and Kafka.
... Can't we just go back to the 90s?
I hate fads.
I hate when I have to get some data, and it's scattered on 20 different servers, and to load a fucking account page, a convoluted network of 40 apps have to be activated, some in PHP, others in JS, others on Java, that are developed by different teams, connected to different tiny ass DBs, all on huge clusters of tiny ass virtual machines that get 30% load at peak hours, 90% of which comes from serializing and parsing messages. 40 people maintaining this nightmare, that could've been just 7 people making a small monolithic system that easily handles this workload on a 4-core server with 32GB of RAM.
Tripple it, put it behind a load balancer, proper DB replication (use fucking CockroachDB if you really want survivability), and you've got zero downtime at a fraction of the cost.
Just because something's cool now, doesn't mean that everybody has to blindly follow it for fucks sake!
Same rant goes for functional vs OOP and all that crap. Going blindly with any of these is just a stupid fad, and the main reason why companies need refactoring of legacy code.12 -
I've seen people posting their own convoluted ways to find out whether or not a number is even, so here's mine. :-P8
-
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
Most business apps end up being overcomplicated and convoluted because that’s what most businesses are:
Overcomplicated and convoluted.
Building an app to operate systems like that will always be an exercise in garbage in garbage out. Fix your process before saying wE nEeD An aPp To Do ThIs. You don’t need an app. You need a smack upside the head.11 -
When you work for a long while in a convoluted piece of code and then compile and it just works...
*wink, wink*
Then you spend another 30 minutes going through the code in disbelief trying to figure out why it didn't break 😵2 -
Anyone else work in a codebase that is so deeply convoluted, that the only way to make new features work is to write new code in a similarly convoluted way?
Everyone wants to refactor our system, but we're a small shop with an insane amount of technical debt, so it likely won't happen for a long time. Any suggestions in the meantime? I feel like I'm spending more time figuring out how to make something work in our system then learning actual good practices.6 -
The IT guy at client made a spaghetti code website to replace their time entry software. I come in to “finish it up in a week to two” (just me). I start by removing 1200+ lines of convoluted data access code that doesn’t work, SQL injection prone too. I quickly gave up and started from scratch; just copyied some of his actually decent HTML.
Friday, he proceeded to try to install node on the server and run main.JS. Now he’s all concerned my repo is too complex because he can’t deploy a static website 🙁
He didn’t ask me how it gets deployed nor did he listen when I said “node is NOT THE BACKEND we have .NET core for that”.🤦♂️
I’m gonna spend a week writing documentation at 5th grade level and hand holding him so he understands how this code works because he’s going to be the one maintaining it.1 -
WHYYY is LDAP so god damn convoluted??!?
I love the idea of it, but in practice, everything is just a hack on top of hack on top of hack going as far back as the 90s.3 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
Was venting to my sister about the BS I'm dealing with one of my projects at work. Specifically the convoluted way we're building a prototype and the way all the revision requests are just going in circles.
Sister: Your job sounds annoying.
Me: Only when other people get involved.
Truer words have never been spoken.5 -
Anyone use the i3 window manager? I'm trying to get the hang of it, and I see no advantages, it's just harder to use, which is a shame because I /want/ to like it!11
-
Today is my birthday and my company as a present will make me work on disgusting legacy code, stored procedures, impossible to debug and convoluted as fuck.
And everything needs to be released yesterday...
Happy birthday motherfucker.1 -
Look, I get that it's really tricky to assess whether someone is or isn't skilled going solely by their profile.
That's alright.
What isn't center of the cosmic rectum alright with the fucking buttsauce infested state of interviews is that you give me the most far fetched and convoluted nonsense to solve and then put me on a fucking timer.
And since there isn't a human being on the other side, I can't even ask for clarification nor walk them through my reasoning. No, eat shit you cunt juice swallowing mother fucker, anal annhilation on your whole family with a black cock stretching from Zimbabwe to Singapore, we don't care about this "reasoning" you speak of. Fuck that shit! We just hang out here, handing out tricks in the back alley and smoking opium with vietnamese prostitutes, up your fucking ass with reason.
Let me tell you something mister, I'm gonna shove a LITERAL TON of putrid gorilla SHIT down your whore mouth then cum all over your face and tits, let's see how you like THAT.
Cherry on top: by the time I began figuring out where my initial approach was wrong, it was too late. Get that? L'esprit d'escalier, bitch. I began to understand the problem AFTER the timer was up. I could solve it now, except it wouldn't do me any fucking good.
The problem? Locate the topmost 2x2 block inside a matrix whose values fall within a particular range. It's easy! But if you don't explain it properly, I have to sit down re-reading the description and think about what the actual fuck is this cancerous liquid queef that just got forcefully injected into my eyes.
But since I can't spend too much time trying to comperfukenhend this two dollar handjob of a task, which I'd rather swap for teabagging a hairy ass herpes testicle sack, there's rushing in to try and make sense of this shit as I type.
So I'm about 10 minutes down or so already, 35 to go. I finally decipher that I should get the XY coords of each element within the specified range, then we'll walk an array of those coordinates and check for adjacency. Easy! Done, and done.
Another 10 minutes down, all checks in place. TEST. Wait, wat? Where's the output? WHERE. THE FUCK. IS. THE OUTPUT?! BITCH GIMME AN ANSWER. I COUT'D THE RETURN AND CAN SEE THE TERMINAL BUT ITS NOT SHOWING ME ANYTHINGGG?! UUUGHHH FUCKKFKFKFKFKFKFKFUFUFUFFKFK (...)
Alright, we have about 20 minutes left to finish this motorsaw colonoscopy, and I can't see what my code is outputting so I'm walking through the code myself trying to figure out if this will work. Oh, look at that I have to MANUALLY click this fucking misaligned text that says "clear" in order for any new output to register. Lovely, 10/10 web design, I will violate your armpits with an octopus soaked in rabid bear piss.
Mmmh, looks like I got this wrong. Figures. I'm building the array of coordinates sequentially, as a one dimentional list, which is very inconvenient for finding adjacent elements. No problem, let's try and fix that aaaaaand... SHIT IM ALMOST OUT OF TIME.
QUICK LYEB, QUICK!! REMEMBER WHAT FISCELLA TAUGHT YOU, IN BETWEEN MOLESTING YOUR SOUL WITH 16-BIT I/O CONSOLE PROBLEMS, LIKE THAT BITCH SNOWFALL THING YOU HAD TO SOLVE FOR A FRIEND USING TURBO C ON A FUCKING TOASTER IN COMPUTER LAB! RUN MOTHERFUCKER RUN!!!
I'm SWEATING. HEAVILY. I'm STEAMING, NON-EROTICALLY. Less than 10 minutes left. I'm trying to correct the code I have, but I start making MORE dumbfuck mistakes because I'm in a hurry!
5 minutes left. As I hit this point of no return, I realize exactly where my initial reasoning went wrong, and how I could fix it, but I can't because I don't have enough time. Sadface.
So I hastily put together skeleton of the correct implementation, and as the clock is nearly up, I write a comment explaining the bits I can't get to write. Page up, top of file, type "the editor was shit LMAO" and comment it out. SUBMIT.
This violent tale of brain damaged badmouth schizoid baby versus badly worded code challenges was brought to you by ButtholeSuffers. Tired of taking low-quality viagra before engaging in unprotected anal sex? Then try ButtholeSuffers, the new way to strengthen your everday erections! You'll be as fucking HARD as a WALL!
Visit triple doble minus you dot triple doble YOU dot doble-u doble www dotbit lyshAdy wwwwww academy smashlikeachamp ai/professional/$$%$X$/0FD0EFF~ \*¨-`++ ifyouclickurstupid for for a FREE coupon to get MINUS NaN OFF on a close-encounter with an inter-continental dick, and use my promo code HOPONBITCH if you'd like it *RAMMED* --FAR-- and D E E P L Y.
(lel ad break should continue I'm cutting it shortt) [CENSORED] grants *physical* access to your pants! Big ups to Annihilate for sponsoring this mental breakdown.
Also hi ;>5 -
First check if anybody else has done it.
Second check if theres a convoluted way to chain existing projects to do it.
Third buy some whisky and down half of it.
Fourth plan it out
Fifth create directory and open vim1 -
I used to almost agree with everyone who hates on WordPress for being needlessly complicated and convoluted and with really bad coding. Now, let me introduce you to my new nightmare...Joomla.3
-
<rant>
Don't fucking tell me to move business logic from the service to the controller. Don't fucking tell me it will enable an "event driven architecture." Don't fucking use Angular for this project if you're just gonna shit on best practices and write convoluted, messy, inconsistent code and force your coworkers to do the same!
</rant> -
Got a mathematics library I develop and maintain. Someone filed a feature request ticket for matrices of matrices. As in, each value of the primary matrix is another matrix. Not understanding why anyone would need such a convoluted concept, I asked for clarification.
Response: "This piece of shit library isn't feature complete without it, now stop being a lazy fag in your mother's basement and actually do something"
Lololololol. Sure thing. Let me go waste two or more weeks of my life developing something i've never seen used in math, without any justification beyond "feature".4 -
In our databases lesson, we are going to use Microsoft SQL Server throughout the year.
This shit's setup fails at random, doesn't even start (empty error box??????) on some machines, and when it, uh, works, kinda, it's a convoluted mess.
Help.9 -
I am of the firm belief that a function should always return just one type.
I think it's the most convoluted thing that a function should be allowed to return any kind of type.
I've seen shit like return a string when something is valid and then a boolean if it's not valid.
To me, that kind of flexibility has some funky code smell.
I'm looking at you WordPress 🤨11 -
Startup-ing 101, from Fitbit:
- spy on users
- sell data
- cut production costs
- mutilate people's bodies, leaving burn scars that will never heal
- announce the recall, get PR, and make the refund process impossibly convoluted
- never give actual refunds
- claim that yes, fitbit catches fire, but only the old discontinued device, just to mess with search results and make the actual info (that all devices catch fire) hard to find
- try hard to obtain the devices in question, so people who suffered have no evidence
- give bogus word salad replies to the press
This is what one of the people burned has to say:
"I do not have feeling in parts of my wrist due to nerve damage and I will have a large scar that will be with me the rest of my life. This was a traumatic experience and I hope no one else has to go through it. So, if you own a Fitbit, please reconsider using it."
Ladies and gentlemen, cringefest starts. One of fitbit replies:
"Fitbit products are designed and produced in accordance with strict standards and undergo extensive internal and external testing to ensure the safety of our users. Based on our internal and independent third party testing and analysis, we do not believe this type of injury could occur from normal use. We are committed to conducting a full investigation. With Google's resources and global platform, Fitbit will be able to accelerate innovation in the wearables category, scale faster, and make health even more accessible to everyone. I could not be more excited for what lies ahead".
In the future, corporate speech will be autogenerated.
(if you wear fitbit, just be aware of this.)14 -
!dev
You know what? I've had it with this fucking hopped up country, I've been out the army less than a year and, full disclosure, I knew it was bad but what in the skullfuckery is wrong with the U.K?
Absolute retards everywhere, with some of THE MOST piggish, soul destroying and suicide mongering leaders I have ever met (that's a helluva achievement after 5 years in the army).
The amount of illegal immigrants that don't have a word of English or single thing to give this country, other than paediphilia, rape, knives, debt, and idiocy.
Yet the government is anally raping every single British citizen to give every single immigrant better living conditions than 90% of people who are here legally.
The woke-ism that permeates EVERYTHING is beyond a joke now too. When the hell did basic life become so convoluted, "offensive" and "scary" that primary schools have drag queens coming in to read, sex ed classes that teach shit like sex changes, transitioning, bending to everyone's will, and to be punished for asking questions?
It feels like there's a crushing weight on my chest 24/7 and I can't even speak about it because now free speech can get you demonized , ostracized, and even locked up!
It's okay though, you won't be locked up with any rapists, paedophiles, thieves, or SA's because they're all back on the streets to make space for anyone who dares have a voice.
Every time I talk to people now I feel violent and full of rage. Some of the time it's not even their fault, I'm just being chipped away at. CONSTANTLY.
I'm genuinely scared I'm going to lose my shit and break someone's neck, or my own.
DISCLAIMER: I know other countries have issues waaaay outweighing the UK's, and I'm not minifying them.
ANOTHER DISCLAIMER: as is the way, someone is most likely going to be offended by this post. Scroll the fuck on if that's the case. I'm human too and I need to vent. And this feels like the last safe space I can.50 -
Today I had to present my final year project called segmentation and detection of glioma using deep learning.
It took 15 minutes for the evaluators to understand what an mri image dataset (BRaTs) dataset looks like (they are voxels and not pixels). My god, these peasants...
And I was there expecting them to understand down sampling convolutions and up scaling convolutions of U Net model 😂. Life is so convoluted right now!2 -
I finally got my github up.
You all can look at my terrible code, which is just glorified snippets. I don't mind.
Left out probably 98% of all the code larger than 10 lines because of jank, throwaways, and how poorly I documented it. Basically throwing shit on a wall.
I also left of the "maaaaaaths!" code because its already super convoluted and strictly a one-man thing. Likewise the web scrapers (barely documented and custom per site), and ML scripts.
https://github.com/YIntercept2
Did you know I once had an immediate rejection in the middle of a zoom interview, because the interviewer asked me "so whats your favorite browser", and I made a pretty obvious joke about using internet explorer.
That guy had no chill whatsoever. Fun times.11 -
Switched back to windows because I needed IIS for work and I did miss having a touch screen (could not get driver working on Linux).
A few gripes.
I mean, the standard "oh great, half a day downloading and updating my machine" applies.
The thing I forgot about Windows is that after everything I do it wants to restart. Updating itself forced the computer to restart several times, wtf.
Powershell (ironically) holds a shadow of bash's power
So many "power user" actions are done with a gui, dear lord give me a terminal command and a man page any day over the convoluted way to do some actions. Changing permissions for IIS was several layers of gui dialogues, where it would be a couple of commands in bash.
Sorry to be unoriginal and moan about an OS, as an end user windows is great and a lot more streamlined and arguably prettier, but as a programmer it doesn't make life half as easy as the realm of *nix1 -
I'm a TA myself and just yesterday wanted to defend my fellow TAs and CS/IT teachers from some of the rants here. Of course not all of the rants are but I found a few quite unfair towards us and I can fully understand a TA getting confused and tired after 5-7 hours of helping and wrapping your head around some of the harder problems the students run into.
However, I'm also a student myself and right now I'm fucking fed up with the shit my supervisor gives me regularly .. So let the rant flow!
(disclaimer: the following text uses “you” to address the rant recipient. So, dear reader, don't feel offended)
First of, why do you fucking care when and especially where I'm working on your project when you know I'm only working part time since I'm usually tutoring students by daylight. Having me come in after my TA shift to work on your project instead of letting me go home, get some rest and food, and start working with a fresh head is neither helping you nor very productive. Also, if you want me to be productive and use your fucking tools to get going faster you better not make me fucking debug your fucking tools. For instance, I don't even have the same first name so all your fucking paths are invalid on my fucking machine! Also, I get that your machine is more powerful than mine and I don't really care about it as long as you don't fucking push convoluted messy timing sensitive scripts and make me search for the correct values on my machine. And, if a file your script is trying to delete is not there aborting is not an valid exception handling!
And don't get me started on the scripts that actually do some work besides setting up your fucking toolchain! -
I don't know if this is a problem only in Belgium or also in other countries but while I love Bluetooth for audio playback (headsets, speakers and everything) despite being extremely convoluted as a protocol.. FUCK Bluetooth keyboards.
Several of them I've tried. Several of them, from various brands. Pairing, setting the Belgian keyboard layout (which on that shitty Android 7.0 tablet that I want to use the fucking things with apparently has to be done *every fucking time you connect*, because reasons) all well. Except half the keys don't fucking map properly. A keymap, it doesn't get easier than that! How hard is it to make buttons map to the right keys!? They're literally fucking push buttons on a matrix! Seeing which points in the circuit make contact and sending that off to wherever it needs to go!
And to put the icing on the cake? USB keyboards with the same fucking layout settings work without any problems. So it's extremely likely that it's something in those shitty keyboards' controllers or Bluetooth going full rart on all of them.
Of course, Bluetooth being as convoluted as it is, manufacturers just copy each others' implementations of it if they can.. so there's that.
Can really nobody make a product halfway decent anymore before putting it on the market!?
Another one bites the dust.. JUNK!!! Every single goddamn one of them!1 -
I agree with many people on here that Front-End web development/design isn't what it used to be.
Things used to be simple: a static page. Then we decoupled design from description and we introduced CSS; nice, clean separation, more manageable - everything looks nice up to this point.
Introduce dynamic pages, introduce JavaScript. We can now change the DOM and we can make interactive, neat little webpages; cool, the web is still fun.
Years later, we start throwing backend concepts into the web and bloating it with logic because we want so much for the web to be portable and emulate the backend. This is where it starts to get ugly: come ASP, come single pages, partial pages, templates,.. The front-end now talks to a backend, okay. We start decoupling things and we let the logic be handled by the backend - fair enough.
Even later, we start decoupling the edge processes (website setup, file management, etc.) and then we introduce ugly JavaScript tools to do it. Then we introduce convoluted frameworks (Angular,..). Sometimes we find ourselves debugging the tools themselves (grunt, gulp, mapping tools,..) rather than focusing on the development itself (as per ITIL guidelines; focus on value), no matter how promising today's frameworks claim to be ("You get to focus on your business code"; yeah right, in practice it has turned out differently for me. More like "I get to focus on wasting copious amounts of time trying to figure out your tangled web").
Everything has now turned into an unfriendly, tangled web (no pun intended).
I miss the old days when creating things for the Web used to be fun, exciting and simple and it would invigorate passion, not hate.
<my cents="2"></my>3 -
I hate Xcode so fricking much!
I hate Macs in general, and trying to export for iOS.
So convoluted, counter-intuitive.
And cocoapods? WTF are they?!
Visual Studio, Android Studio + Flutter is so easy: "flutter build" ....done!
But YOU, you fucking xcode peice of wank....are summink ELSE!15 -
I had some fun with ChatGPT today. I wondered how good its problem solving skills are. Turns out, it's no better than an entry/junior dev armed with all the docs out there - it knows what's written there, how to use the thing (language/framework/tool/etc.), but it has no "understanding" neither of the problem nor the tool, in a holistic way. It's got the knowledge, but it neither has the skill nor understanding of how/why to use it to solve a problem (any problem beyond plain simple complexity).
So the problem I asked it to solve was related to this one I had: https://devrant.com/rants/6312527 .
It was painful to troubleshoot this problem with ChatGPT. It kept on focusing on this particular problem and reacting to errors while trying to fix its initial solution. It took us a good while. Eventually, it reached a working solution, but it was an ugly, convoluted approach that was not feasible to cover my use case with.
FWIW I think it is interesting to follow its line of thought. Eventually, a pattern emerges of how it tries to solve the problem. And it reminds me a lot of myself on the first week in the IT field :)6 -
I just finished designing an entire asset management pipeline and christ on a fucking pogo stick, if it isn't convoluted.
Theres a lot of game engines out there, but all of them do it a little different. They all tackle a slightly different problem, without even realizing it.
1. asset management
2. asset change management
3. behavior change management
4. data management
5. combinatorial design management.
6. Combinatorial Behavior management
7. Feature completion
ASSET MANAGEMENT is exactly what it says on the tin.
ASSET CHANGE management can be thought of handling the import, export, formatting, platform specific packing, and versioning (including forking) of an asset.
BEHAVIORAL CHANGE management is a subset of asset management, because code is a subset of assets (depending on how you define 'assets'). The oldest known example of this is commenting and uncommenting code.
Or worse, printf debugging.
This can be file versioning, basic undo services, graph management of forks and mergers, toggles for features or modules, etc.
DATA management is about anything that doesn't fall into the other categories, everything from mission text to npc dialogues, quests, location names, item stats, the works. Anything you'd be tempted to put in a database, falls under this category. Haven't yet seen many engines offer this as an explicit built in tool as of yet, because the other problems are non-trivial as is, so this is a bit of low hanging fruit that gets handled by external tools, or loaded from formats as simple as json.
COMBINATORIAL DESIGN management is the idea of prefabbing, blueprints of broader object design using nested prototypes of existing game objects, to create more complex, reusable set pieces. Unity did this well. GM does this in part.
COMBINATORIAL BEHAVIOR management is entity-component systems, plus tooling to make it easy to add, remove, and configure components and their values on entity blueprints, also not uncommon. Both stencyl and unity do this. GM has a precursor to this in the form of configurable fields, but these fields are not based on component scripts attached to objects.
FEATURE COMPLETION is that set of gameplay mechanics or styles of design that an engine naturally makes easier to include or build in a game.
I don't think I'm aiming for all that, but I think at minimum a good engine has to do asset management, behavioral change management, prefabs, and entity-component systems with management tools for that. And ideally, asset change management.8 -
python machine learning tutorials:
- import preprocessed dataset in perfect format specially crafted to match the model instead of reading from file like an actual real life would work
- use images data for recurrent neural network and see no problem
- use Conv1D for 2d input data like images
- use two letter variable names that only tutorial creator knows what they mean.
- do 10 data transformation in 1 line with no explanation of what is going on
- just enter these magic words
- okey guys thanks for watching make sure to hit that subscribe button
ehh, the machine learning ecosystem is burning pile of shit let me give you some examples:
- thanks to years of object oriented programming research and most wonderful abstractions we have "loss.backward()" which have no apparent connection to model but it affects the model, good to know
- cannot install the python packages because python must be >= 3.9 and at the same time < 3.9
- runtime error with bullshit cryptic message
- python having no data types but pytorch forces you to specify float32
- lets throw away the module name of a function with these simple tricks:
"import torch.nn.functional as F"
"import torch_geometric.transforms as T"
- tensor.detach().cpu().numpy() ???
- class NeuralNetwork(torch.nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__() ????
- lets call a function that switches on the tracking of math operations on tensors "model.train()" instead of something more indicative of the function actual effect like "model.set_mode_to_train()"
- what the fuck is ".iloc" ?
- solving environment -/- brings back memories when you could make a breakfast while the computer was turning on
- hey lets choose the slowest, most sloppy and inconsistent language ever created for high performance computing task called "data sCieNcE". but.. but. you can use numpy! I DONT GIVE A SHIT about numpy why don't you motherfuckers create a language that is inherently performant instead of calling some convoluted c++ library that requires 10s of dependencies? Why don't you create a package management system that works without me having to try random bullshit for 3 hours???
- lets set as industry standard a jupyter notebook which is not git compatible and have either 2 second latency of tab completion, no tab completion, no documentation on hover or useless documentation on hover, no way to easily redo the changes, no autosave, no error highlighting and possibility to use variable defined in a cell below in the cell above it
- lets use inconsistent variable names like "read_csv" and "isfile"
- lets pass a boolean variable as a string "true"
- lets contribute to tech enabled authoritarianism and create a face recognition and object detection models that china uses to destroy uyghur minority
- lets create a license plate computer vision system that will help government surveillance everyone, guys what a great idea
I don't want to deal with this bullshit language, bullshit ecosystem and bullshit unethical tech anymore.11 -
R&D: here's a really convoluted qualitative AND quantitative algorithm we want you to implement
Me: *asks to the meaning of one of the columns in a spreadsheet*
R&D: yeah that's probably wrong. We'll get back to you1 -
C++ development will be my end.
The absolutely unreadable errors, the overly convoluted macros set up in the project, the cmake build system.... The absolutely unnecessary separation into cpp and header files...
help20 -
It took AWS about a month to figure out why their load balancer was screwing up content length for requests from our site. Multiple times the ticket was closed due to inactivity because they took so long to investigate. Turns out there's a bug with how AWS load balancers scale, and when they are below a certain traffic threshold they truncate extremely long content. Their solution was to edit the balancer behind the scenes to always be scaled up, and then tell us to never delete it.
So then every time we needed to set up a staging environment we had to contact support so they'd edit the balancer. Which always took ages since most of the support agents didn't understand the convoluted issue and had to forward it on to more technically inclined staff, who then had to investigate fresh every time.
This was ridiculously annoying, so I spent months writing an automated solution to spin up staging new environments on the spot, this made use of a haproxy server which had to edit rules on the fly so that the AWS balancer could be circumnavigated. It was a better system then the old way anyway, but all the same an irritating issue to be forced to deal with.
All around a very shitty experience. This was a few years ago now and I'm not employed there any more, but I hope AWS fixed this since then.11 -
After working with a bunch of people it occurred to me that almost anyone can work and learn for most IT positions. This is something that most people will realize, especially if they work with newbies that learn on the go. There are exceptions of course, but most companies are just making crud apps with their business logic.
What I wonder then is, why is it that the way hiring is done seems to be completely against this idea? Rather than whining about recruiters and bad interviews, I am curious about why this is so common. What is it that a lot of companies think or see that make their hiring process so bad or convoluted?11 -
More adventures in fixing specs.
This particular failing spec is in an included spec helper; I cannot run the spec itself because rubymine is stupid and doesn't know how. Not kidding. I also don't know the codepath it's actually testing because it's fucking convoluted, so I need (rather: want) a debugger to progress. I put breakpoints everywhere I thought it could be, and... nothing.
The stacktrace shows the calling spec in the helper module, a generic `process` method that just calls `super` (from where? who knows!), and a `wrap_every_action` in the ApplicationController. in other words: absolutely nothing helpful. I stepped through the code for most of an hour and didn't get anywhere; just saw lots of rails internals.
ugh,
I'm going to keep bashing my head against this, but what the fuck, why can't you give me something goddamn useful!?4 -
Reason for rejected pull request on hacktoberfest: "wrong commit message"
...are you fucking dumb or what?
damn robot machine clowns, you wonder why you don't get better at your craft
"we love open source, making it so prohibitively convoluted to participate!!! why won't anyone contribute to our repo?!?!?!"
clowns, absolutely everywhere i swear10 -
Though I demonstrated a hard upperbound on the D(10) dedekind in the link here (https://devrant.com/rants/8414096/...), a value of 1.067*(10^83), which agrees with and puts a bound on this guy's estimate (https://johndcook.com/blog/2023/...) of 3.253*10^82, I've done a little more work.
It's kind of convoluted, and involves sequences related to the following page (https://oeis.org/search/...) though I won't go into detail simply because the explaination is exhausting.
Despite the large upperbound, the dedekinds have some weirdness to them, and their growth is non-intuitive. After working through my results, I actually think D(10) will turn out to be much lower than both cook's estimate and my former upperbound, that it'll specifically be found among the values of..
1.239*(10^43)
2.8507*(10^46)
2.1106*(10^50)
If this turns out to be correct (some time before the year 2100, lol), I'll explain how I came to the conclusion then.8 -
Just landed my first "real" software engineering job! Now let me venture the land of messy and convoluted codebase.2
-
yOu kNow wHat? i'Ve hAd iT wiTh tHis fUckiNg hoPpeD uP coUntRy, i'Ve bEen oUt tHe aRmy lEss tHan a yEaR aNd, fuLl dIsclOsurE, i kNew iT wAs bAd bUt wHat iN tHe sKullfUckeRy iS wrOng wIth tHe u.k?
abSolUte rEtarDs eVErYwhEre, wIth sOme oF tHe mOst pIggIsh, sOul dEstrOyiNg aNd sUiCide mOngErinG lEaders i hAve eVer mEt (thAt's a hElluVa aChievemEnt aFteR 5 yEaRs iN tHe aRmy).
thE aMouNt oF iLleGal iMmiGranTs tHat dOn't hAve a wOrd oF eNgliSh oR siNgle tHiNg tO gIve tHis cOuntRy, oTheR tHan pAediPhilia, rApe, kNiveS, dEbt, aNd iDiocy.
yEt tHe gOveRnmeNt iS anAlly rApiNg eVerY siNgle bRitIsh cItizEn tO gIve eVerY siNgle iMmiGranT bEttEr lIviNg cOndItioNs tHan 90% oF pEople wHo aRe hEre lEgallY.
thE wOke-iSm tHat pErmEateS eVerYthiNg iS bEyonD a jOke nOw tOo. wHen tHe hEll dId bAsiC lIfe bEcomE sO coNvOlutEd, "ofFenSive" aNd "scaRy" tHat pRimaRy sChoOls hAve dRag qUeeNs cOmiNg iN tO rEad, sEx eD claSses tHat tEach sHit lIke sEx cHanGes, tRanSiTionIng, bEndiNg tO eVerYone's wIll, aNd tO bE pUnisHed fOr aSking qUesTions?
it fEels lIke tHerE's a cRusHing wEighT oN mY chEst 24/7 aNd i cAn't eVen sPeak aBouT iT bEcaUse nOw frEe sPeech cAn gEt yOu dEmonIzed, oStrAcized, aNd eVen lOckEd uP!
it'S oKay tHougH, yOu wOn't bE lOckEd uP wIth aNy rApiSts, pAediPhileS, thieVes, oR sA's bEcauSe tHey're aLl bAck oN tHe sTreeTs tO mAke sPacE fOr aNyOne wHo dAreS hAve a vOice.
evEry tIme i tAlk tO pEoplE nOw i fEel vIolent aNd fuLl oF rAge. sOme oF tHe tIme iT's nOt eVen tHeIr fAult, i'M jUst bEing cHippEd aWay aT. coNstAntly.
i'M gEnuiNelY scAred i'M gOing tO lOse mY sHit aNd bReak sOmeone's nEck, oR mY oWn."2 -
I started fully exploring different aspects of tech in a middle school technology class where the teacher gave me a good grade as long as I did something that could be useful or interesting. I learned how to design webpages by playing with inspect element, and then decided to make my own with Notepad. One of my friends showed me how to use Sublime Text, and I found that I loved programming. Other things I did in there included using two desktops with NIC's wired directly to each other with an old version of Synergy and a VNC server, and at one point, I built a server node out of old dell Optiplex desktops the school had piled in a storage room.
Last year in high school, I took a class on VB.net and made some money afterwards by freelance refreshing legacy spaghetti, and got burned pretty badly by a person offering $25,000 for a major POS to backend CMS integration rewrite. The person told me that I had finished second, and that another dev had gotten the reward, but that he liked my code. A few days later, I was notified through a *cough*very convoluted*cough* system of mine by a trigger that ran once during startup in a production environment and reported the version number as well as a few other bits, and I was able to see that *cough*someone*cough* had been using my code. I stopped programming for at least six months straight because I didn't want to go back.
This year in high school, I'm taking the engineering class I didn't get into last year, and I realized that Autodesk Inventor supports VBA. I got back into programming with a lot of copy-paste and click-once "installers" to get my modelling assignments done faster than my classmates. Last week, one of my friends asked me to help him fix his VB program, which I did, and now I'm hooked again.
I've always been an engineer at heart, but now I'm conflicted with going into I.T., mechanical or robotical engineering, or being a software developer.
A little long, but that's how I got to where I am now. (I still detest those who take advantage of defenseless programmers. There's a special place for them.)7 -
recently i prided myself in my high ability to google stuff but i just blank at this problem:
i have 4 HDDs with my photos on it. They are more or less backups of each other, but not quite. The folder structure is convoluted and i am dreading this task since years. I now want to move to a better backup culture and save the data i really care about.
Problem: i may or may not inserted new photos in some versions of the hdds and not in others. So they are like [Photo1], [Photo2], [Photo3] and [Photo4] but [Photo1] contains a,b and d content, [Photo2] contains a and b but not d, [Photo3] contains c.
Now i would like a program that just takes hashes of all files present and compares them and finds differences among those 4 folders so i can combine them in each other. Additional problem points for a being in a different subfolder on [Photo1] as in [Photo2]
Its probably some backup software that can that, but i dont know which one.
Whelp?12 -
One of the things that I like the most regarding Clojure(and most Lisps to be honest) is how "not for beginners" the ecosystem feels.
Don't get me wrong, setting up a project in lein with dependencies(both internal and external) is a cakewalk, installing lein or boot is a cakewalk. Setting environment consts and middleware etc etc is a cakewalk.
Its just that there are no blogs about convoluted and amateurish ways of doing things. Most presentations and articles are written by really experienced and talented individuals.
I dunno, its just a nice shift in community. Its nice to see people not fucking up Object Oriented programming in java or any of the other oop languages. Its nice not seeing people giving horrible advice regarding memory management in C or c++ and it is sure as shit nice to not see spaghetti php und js code.
And my productivity levels are off the charts man. Really liking this shit and I get to stay inside my JVM -
[rant]
From the bottom of my heart I swear the thing that frustrates me the most in this industry is over complicating simple things. Making simple ideas overly convoluted makes me cry.
I mean why have a dedicated Windows server, that you login to via Windows Remote desktop, just to edit a Word document in a bespoke program that is running running Microsoft Word inside it anyway. Why not just just Word? Why spend a year developing such a system for a problem that simply doesn'y exist.
I asked what benefit this has over me just editing a Word file myself on my laptop. In short, their answer was none.
The other apparent benefit to the system was the ability to jump to specific parts of the document. Well after showing them how to do a table of contents, they saw no need for their existing system.
I'm amazed sometimes how simple ides get discussed to death, unnecessary mammoth systems get built, that ultimately solve a problem that does not exist.
[/rant]3 -
Why is school such a bullfuck, we've learned SQL basics and I've used SQL a little so I thought I won't have a problem. WELL FUCKING HELL WAS I WRONG. Joining 4 tables together with inner join WTF who the fuck uses that, why the fuck do I need to know this, WHY THE FUCK IN A TEST WHEN WE HAVEN'T LEARNED SUCH BULLSHIT. Well how about adding a foreign key to a table that doesnt need one. Well ok have fun with a key that does absolutely nothing and on top of all those convoluted tasks the texts are a mess, they give unnecessary information with grammar of a 9 year old and the pictures are not even readable. They are fucking hieroglyphs.
Fuck school.
Gonna do it by myself at the end anyway.
Fuck everything.15 -
Updating angular and npm/node/whatever the fuck is the most difficult and convoluted thing ever
Web devs, you deserve better than this awful piece of shit cable mess of a fucking "framework" or whatever the fuck this retarded shit is meant to be2 -
When we subtract some number m from another number n, we are essentially creating a relationship between n and m such that whatever the difference is, can be treated as a 'local identity' (relative value of '1') for n, and the base then becomes '(base n/(n-m))%1' (the floating point component).
for example, take any number, say 512
697/(697-512)
3.7675675675675677
here, 697 is a partial multiple of our new value of '1' whose actual value is the difference (697-512) 185 in base 10. proper multiples on this example number line, based on natural numbers, would be
185*1,
185*2
185*3, etc
The translation factor between these number lines becomes
0.7675675675675677
multiplying any base 10 number by this, puts it on the 1:185 integer line.
Once on a number line other than 1:10, you must multiply by the multiplicative identity of the new number line (185 in the case of 1:185), to get integers on the 1:10 integer line back out.
185*0.7675675675675677 for example gives us
185*0.7675675675675677
142.000000000000
This value, pulled from our example, would be 'zero' on the line.
185 becomes the 'multiplicative' identity of the 1:185 line. And 142 becomes the additive identity.
Incidentally the proof of this is trivial to see just by example. if 185 is the multiplicative identity of 697-512, and and 142 is the additive identity of number line 1:185
then any number '1', or k=some integer, (185*(k+0.7675675675675677))%185
should equal 142.
because on the 1:10 number line, any number n%1 == 0
We can start to think of the difference of any two integers n, as the multiplicative identity of a new number line, and the floating point component of quotient of any number n to the difference of any number n-m, as the additive identity.
let n =697
let m = 185
n-m == '1' (for the 1:185 line)
(n-m) * ((n/(n-m))%1) == '0'
As we can see just like on the integer number line, n%1 == 0
or in the case of 1:185, it equals 142, our additive identity.
And now, the purpose of this long convoluted post: all so I could bait people into reading a rant on division by zero.30 -
Are there any tools, points of reference, barebones templates, bits of advice, etc. that anyone can share or direct me to that could potentially a programmer with ADD stay organised and keep projects/code structured?
Just a bit of background:
I am 29 years old and have battled with severe Attention Deficit Disorder since early childhood. No hyperactivity, just a mind that is constantly running at light speed. I have a tendency to lose focus on the main goal in my projects and I fall victim to feature creep more than I'd like to admit—to the extent that on countless occasions, I've ended up just starting projects over from scratch because they became too convoluted and hectic.
I've spent the past 2~3 months working on a sort of companion app for players of the game Warframe using Dart/Flutter. The main purpose of the app is to provide players with an accessible and customisable agenda to help with keeping in-game goals organised (oh, the irony). I have made a decent amount of progress, but I consistently find myself working on various bits and pieces of code (usually) without finishing each of them before moving on to something else. What I end up with is a tangled yarn ball of code and I get lost and overwhelmed in the chaos.
Any feedback or advice is much appreciated.9 -
People get so defensive about their code! Especially, code that becomes redundant. Suddenly, they get all activist type, as if their puppy is being put to death, and come up with the most convoluted of reasons why it is very critical code.2
-
I've a question. Has anyone in here ever be forced to use something as remotely frustrating as SQL Server Reporting Services (ssrs)? I swear it is one of the most convoluted piece of shit ever.
-
So due to some necessary repairs on my Nokia 6.1 i had to use an iPhone for the last 2 weeks (was the device they gave me for the duration of the repair). And let me say something in advance: I own a Macbook Pro, i own an iPad Pro, both devices are excellent for what i use them for. I enjoy OS X, i enjoy iOS on the tablet. But oh boy is the iPhone a shitshow of a magnitude i have never seen.
First off: The notifications. They feel like Android 4 or something. No customization, no grouping, not context. Also the swipe down gesture simply blocks whatever i am doing.
Multitasking: What a shitshow. There is no continuity, apps reload on a whim, no switching between apps (except that strange thing where the app shows up on the left upper screen, but i can't go back from there?)
Settings: WHY ARE APPS SETTINGS IN THE GLOBAL SETTINGS!! And not even all settings are. They are all over the place. And the settings are so convoluted and bloated, i can't find half of the things i am looking for.
Clock & Alarm: Goddamn that design choice with the edit button infuriates me to no end. Why can't i click an alarm and simply edit it? Also: Why do i have to enter the clock app to even see which alarm is going off next?
The Appdrawer: WHY CAN'T I SORT MY APPS BY NAME?? I have to conciously remember where i put things. Apps i use rarely, apps i use often.
God, iOS on the phone is so fucking terrible.4 -
Legacy code that has a really long and convoluted way of integrating Dropbox authorisation to save files etc.
This happened in a meeting discussing where I’m at with the upgrade.
Me: This upgrade is going to take a while because of how outdated the app is. Also for assets uploaded by the user why don’t we just use active storage for this now as we have rails 6 now. Plus it will reduce a lot of code.
Other Dev: why would we do that? It’s a big change and will need testing.
Me: A lot of stuff is broken after the upgrade anyway and if we have a more built in simple way to do it why wouldn’t we? Also simplifying the code base is always good. The PR is already 1000+ files and we’re going to have to retest the app anyways.
Other Dev: *crickets*
I’m trying to make the app more smooth and streamlined and overall a better codebase as currently it’s shocking there and security holes galore, its like they don’t trust me with changing anything big haha honestly I think I’m the only one who wants to actually improve the application.2 -
Pretty annoyed with Siri...
The other day I was mowing the lawn with my headphones on, and I asked her what time it was. It took her about 10 seconds to respond, and then finally she says “at the tone, the time will be 12:59 PM. Beep!” Like, she literally said the word “beep” in the response.
Ugh...so many things that annoy me about this.
One, it would have been faster to just take my phone out and look at the time.
Two, the cutesy response is annoying and takes too long for her to say.
Three, unless the time actually was approaching 12:59:00 and her response took the exact number of seconds remaining before then, the stupid “beep” isn’t even accurate!
If I ask what time it is, I just want the phone to say “12:59,” immediately. Anything longer or more convoluted than that, and it’s pointless – I could just take out the phone and look at the screen instead.2 -
I'm trying to convert a legacy .NET Framework web api to .NET Core, the project and its supporting libraries are in awful conditions and to make things worse at a certain point someone has the genius idea of introducing Uncle Bob's "Clean" Architecture into a part of it so stuff which could simply look like this
public string doStuff(string input){
// Do the stuff
return output;
}
becomes a convoluted mess like this
public class StuffDoerRequest {
public string Input{get;set;}
}
public class StuffDoerResponse {
public string Output{get;set;}
}
public interface IStuffDoer {
public StuffDoerResponse Execute(StuffDoerRequest request);
}
public class StuffDoer {
public StuffDoerResponse Execute(StuffDoerRequest request) {
// Do the stuff
return new StuffDoerResponse() {
Output = actualFuckingOutput;
}
}
}
Edit: sorry for the lack of indentation, apparently DevRant trims leading whitespace7 -
Fuck ES/TS 😐
Been trying for hours now to get ionic 2 to work with either generators or async functions. Doesn't work because async for ES 5 is only supported with TS 2.1 which breaks the angular compiler. Also can't use generators (not supported for es5 at all by TS).
Also can't really change the ionic build process to just take es6 output instead of es5 and transpile because it's a convoluted mess in a separate node module instead of just a gulp file like with ionic 1.x.
Why is the JS ecosystem such a fucking mess?3 -
So appearantly what passes for the space character in regular expressions in ssms is :b. Sure, Microsoft. Makes total sense. \s was just too convoluted.1
-
So this happened at a government organised 24 hour Hackathon. We had to store documents uploaded from the front end. Now we’ve been trying for a very log time but everything failed (yeah we had a crappy front end guy). Then all hell broke loose when the our team leader in hi sleep deprived state deleted our git repository while I wondered why my pushes were throwing a 404. When hell felt near we came up with the solution to encode the documents in base64 and store it in the database since we only had to show a demo😂.
Sadly enough, WE LOST. Although in retrospect it comes as no surprise.2 -
Me: your SSH wrapper is breaking how Ansible works
Ops: try to use Ansible in another way
Me: your SSH wrapper is breaking how Ansible works
Ops: try to use Ansible in another way
< This goes on for two weeks >
Me: can we please not use wrapper
Ops: we use it to manage ssh keys
Me: this is breaking basic ssh functionality
Ops: OK we are setting up a weird convoluted way so you can run your Ansible playbooks.
Me: ... < doing "it is at least something" dance > -
Not entirely sure if it counts, but Postman.
Used to be a simple, yet efficient tool for integration testing. And nothing more. Now it's a bloated, convoluted resource eating piece of bling-bling that tries to do a shitload of stuff, but only does them in a mediocre way.
Meh, while I was typing this I realized what a comfortable life I lead if I complain about something like this. Oh, the perks of being a middle class white man working in the tech sector...8 -
Double rant....whattttt!!!
1) That moment when you're like god this code is awesome/I'm a genius/Can anyone else other than me even comprehend how to do something this awesome? AND THEN you shift to "wait a second..." Is this actually super convoluted/inefficient/there is a way easier way to do this? :o
2) Do people even know that google can provide them with like any and all of human knowledge? I feel like 50 times a day in my head I'm screaming "GOOGLE IT!!!!!!!!!!"
2 examples....
Earlier today I ctrl+alt+down arrow my co-workers computer because he left it unlocked and I was feeling especially awry so when he kept saying I don't know how to fix it, I was like google it!!!! I'm teaching you a valuable life skill...
Second. I was at my in-laws house and we got on the topic of what does "impeachment" actually entail? So my mother in law was like hmmm I thought it meant so and so....I'll have to ask my friend so and so the next time I see her....she's a political science major or something like that....
In my head....
I'm like.....
Or....
You could.....GOOGLE IT!!!!!!2 -
I have found that once you work for a company where you have to implement everything in its raw form using the raw language and raw logic, you really have to know what you're doing and knowing some basic/medium programming and having some algebra knowledge doesn't cut it (unlike some people think).
I've been at two sides of the coin: I worked for a company that had everything in place, a framework that handled all edge cases and what not and I just had to focus on user stories, but I also worked for a company where I had to do everything manually.
For example, at the latter company I had to know Discrete Mathematics; truth tables to their most convoluted and disgusting form, having to be able to apply this on a late Friday night with a headache and lack of food and sleep with the PM stressing out.
I've had to deal with NOT AND OR AND OR AND OR AND branches or whatever, where an OR behaves like an AND and if you want a value between an AND AND and an OR, you'd have to do a NOT OR.. to think about latches, all in my head, sigh, anyway, within limited time constraints, without even having time to write tests, having to make sure that everything checks out while the client is breathing down my neck. Yeah, not such fun times.
I'm happy for those of you who can just write some moderately difficult logic but you don't have to break your head over doing everything manually, as if you're in the coding stone age and nothing is taken care of.
Companies like these make me want to run away.3 -
I will never make a backend in C# ever again.
Just look at this bullshit:
official docks, PAGES long: https://learn.microsoft.com/en-us/...
confused devs running rampant: https://stackoverflow.com/questions...
absolute total GARBAGE
literally ANY other language or framework, you set an env file and you fuck off. of course microsoft has to make the most convoluted pile of shit horse shit fuck shit that confuses everyone. i shouldn't have to pray to the dev gods every time i spin off a staging or production build that my environment variables are set correctly
GOD10 -
I'm starting to rethink the 'Software Developer' title as 'Sanity Maintainer'...
Software Development is just convoluted.. and it often comes with stress; I hate stress.2 -
Never in my life have i seen such a convoluted and complicated framework as Celery. Celery sucks donkey ass. That is all.2
-
AAARGH
I fucking give up. I can't debug my code, and all my programmer friends have better things to do than to help me. The fact that portaudio requires me to store things as void* makes it even more convoluted if possible.3 -
Why does everything about Android have to be this verbose, convoluted and complicated?
Why are there no simple solutions to most problems? I have worked with Flutter and Go and none of these have the same level of complexity as Android.
It’s almost as if the Android team lists out the possible solutions to a problem and intentionally pick the hardest and difficult to understand.5 -
I feel like IE is an example of a deep rooted demon beast that spawns fucktarded bloat transpilers like BABEL.
When companies try to invent their own wheels, or do their own thing is when the pits of developer hell start to spawn such fucking convoluted fucktarded bullshit.
Abstract to Design:
I'm trying to think of a world where things are standardized, as boring as it sounds... Imagine if companies weren't so fucktarded with greedy smoke and mirrors, and they all contributed to making a single product standardized and workable, and improve on that product... Like a physics "Standard model" but for each product invented.
But no... here we are... 20 million ways to accomplish one similar task, with 20 million different designs, with majority adhering to their own flaws... or planned obsolecence... 10 million booby traps of consumer remorse.
Why do we do this as a society just to make some bastard company's profit margin go up, so they can keep competing in the "free market" of fuck all fuckery?
I get it.. yea... innovation... sure..
but sometimes innovation is just a means to and end of sanity, especially when they are proprietary, and especially when that proprietary shit turns to, well... shit!
In a perfect world, things will be designed open-sourced, compatible, and improved upon without "breaking" changes... but this is virtually impossible without standardization of the VERY fundamental components. But then those components can be improved, and might be smaller/lighter/more efficient by design, and simply wont work with the old versions without drastic "TRANSPILATION"
I suppose this is the way it is always going to be... Neverending stream of design "improvements". I suppose being a developer in todays world is a bittersweet existence... unless you're just trying to make ends meet... in that case. I think I might be in hell.
Take a look at web-dev today with all the "improvements" ... it's literally turned into a jungle of FUCK MY LIFE. A giant dick waiving contest with all these dicks colliding against each other in cluster fuck bombardment.
God help us all.... and now back to coding.4 -
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
Redux is absolute fucking insanity. There is no way in hell there isn't a better way to do this. Absolutely unintelligible, convoluted piece of garbage.5
-
I've spent the last 3 days trying to figure out what on earth was going through the head of a (now departed) contractor when he wrote the code I'm trying to fix. Took a reasonably simple part of the system and convoluted it to the point where it makes no sense! And we've realised it's not complete either!! Fun times... they are not. 😕4
-
I just want to shoot php and fpm and apache in the face! its so convoluted. You have to touch like 837 files just to upgrade php56 to php70... oh and the twist is it still doesn't work...7
-
i don’t know how to feel about these c++20 concepts. even though i haven’t seriously written c++ for years, it’s a little sad to see the language i know and love getting so convoluted and lost in modernisation. it’s gotten to the point where i look at a modern c++ code base and all i see is rust. especially the universal trailing return types everywhere, those get to me.19
-
Learning Haskell is pain
Haskell fucks with your mind and enjoys doing it
Every Haskell list comprehension is the most convoluted piece of shit I've ever seen, until I see the next list comprehension
The Haskell compiler errors are the worst I've ever seen, and I've worked with fucking c++
AND NOTHING MAKES SENSE! I FUCKING HATE HASKELL5 -
I love how easy it is to build a native app these days thanks to tools like react native but also hate convoluted it becomes of you want to do anything “outside of the box”
-
I've been trying for two days to display a base64 string as an image, just because everyone wants to see their fucking profile photo from office 365.
It's convoluted, messy and doesn't want to work!
If I hear 'Ooh could you just do this, that will be easy' one more time from either projects or a customer, I'm finding the nearest book repository. #backAndToTheLeft5 -
Recently we noticed a part of our web application wasn't working. After some hours of looking into it (it's an old, convoluted application), it became clear another part of the application timed out trying to get a connection from the db connection pool.
We call db admins, they respond "oh yeah looks like the DB CPUs are at 100% load. I'll do something about it." and a short while later everything was working. So now I think, our hours of looking into it and a lot of people not being able to work could have been avoided if the DB admins had some form of alerting. But also we could improve our monitoring too, had we tracked calls made to our DB.
Question: Do you think I should call the DB guys, telling them they need alerting, or should I add tracing/monitoring around our DB calls, or both? Do you think I should consider any additional actions I haven't thought of?4 -
I swear to god that Docker is the worst thing in the world.
I'm trying to learn how to work with this f thing, and I've spent hours just troubleshooting, looking up on google how to do one simple task and I have yet to find a solution on this messed up, convoluted way of running a god damn project.6 -
CSS (and all of frontend) is hard. The last few braincells left in me are slowly dying.
I just wanted a progress bar. HTML 5 supports <progress> out of the box. But all browsers want to act differently. Add more boilerplate for each browser type. Somehow got a transparent background on progress bar but it still won't let me change progress color.(Surprisingly, only IE let me change the color) At last, settled with a transparent div with a colored span inside, + js to handle value. Was this really the best way? Nope. But this was the only thing that worked,(other than importing a JS library, which would render a SVG to replicate a progressbar)
Why is front end so convoluted? Half of the things do not even make sense to me. Is this really the direction we want to go in the future?9 -
Final synposis.
Neural Networks suck.
They just plain suck.
5% error rate on the best and most convoluted problem is still way too high
Its amazing you can make something see an image its been trained on, that's awesome....
But if I can't get a simple function approximator down to lower than 0.07 on a scale of 0 to 1 difference and the error value on a fixed point system is still pretty goddamn high, even if most of the data sort of fits when spitting back inference values, it is unusable.
Even the trained turret aimer I made successfully would sometimes skip around full circle and pass the target before lining up after another full circle.
There has to be something LIKE IT that actually works in premise.
I think my behavioral simulation might be a cool idea, primitive environment, primitive being, reward learning. however with an attached DATABASE.30 -
Was given some changes a client wanted done on a site that a couple of my predecessors worked on. They were pretty basic so thought, no prob, let's get this done and move on the more important things. Open the 3000 line css file..... no indentation..., syntax errors and warning all over the place and of course no documentation. A convoluted mess. Fixing the errors would basically break the site due to all the unnecessary overwrites. Literally the worst style sheet I've ever seen.1
-
Wpf Rant
Seems kinda retarded but it should be trivial to reference a ListBox in a SelectionChanged event doing something like SomeListBox.Items[someIndex] = new TextBox()
in order to replace a simple textblock element with a textbox element that accepts input (replace-in-place), but it's proven to be the most long, aggravating series of unnecessary convoluted bullshit I have encountered so far.
And when I do something like ((ListBox)e.Source).SelectedItem = new TextBox(), nothing break per se but I get no god damn error or feedback, as if it worked, but nothing fucking changed.
I can only assume I'm fucking retarded or like most of the shit coming out of microsoft, WPF is a broken pile of bullshit.
I'd ask on here but every time I ask technical questions I never get any fucking answers. Like a ghost town around here sometimes..11 -
C#
Lately there have been a lot of new features for the language itself, and I fear that a lot of them make the language more and more convoluted.
Also AoT Compilation should be pushed more, but that might just be my opinion.14 -
Epic rant about the sad state of today's websev: https://medium.com/@wob/...
I cant help but feel this to be at least partly true!! -
So I became a team leader ("promotion").
One of the team is a senior by title, but fuck he is just a refactoring machine. Seeks for architecture design in fucking everything. Even in fucking tests instead of just writing them he is inventing convoluted architectures and systems...
Fuuuuuuck - just write the fucking tests, no one gives a shit if you have a fucking factory in the test case! -
Why would smn want to use Angular for their project? Its a mess! Its bloated, abstracted, opinionated and so not dev friendly. Its been more than 2 weeks I have been working on AoT and Lazy loading. Dont even get me started on NgModule! Its irritatingly convoluted yet people seem to prefer it. Why? Am I the only one who thinks this way?!?5
-
The Spring framework is the most convoluted construct. You have ExceptionControllers that implement Abstractions which have other implementations themselves. You have ViewResolvers that have several different types, each of which has their own unique way of working. You have Configurers, Scanners.. anyway.
Even if it is excellent design, it's tiring to work with and understand, at least for my junior self. I used to kick ass on this stuff back at uni, but that was 5 years ago and I don't remember exactly how things work again, I'd need a refresher.7 -
Is it possible to continue file upload for android default browser without the browser being open?
I’ve been tasked by a company to make it so video and photo files can continue being uploaded from an app even when that app is closed. Slight issue is that the app is just a web viewer that goes to a web app.
I know this is convoluted but would the only way to do that be to overlay an actual upload button over the web view so that I can use androids built in service to do that and make a whole new way for the file to be uploaded to the server?
Surely there must be an easier way.14 -
literally the last fucking thing i need to work for my mvp is ffmpeg to fucking work. i literally need to add audio at various start times in the video, sounds so easy right? too bad its a complex, cryptic, and horrible peice of shit.
no wonder stackoverflow is full of ffmpeg garbage
imaging writing a novel to run some audio / image editing commands, jesus christ
🤡🤡🤡🤡🤡
still at it 3 hours later, this should NOT be that hard ITS ALMOST FUCKING MIDNIGHT NOW YOU DUMB FUCKS FUYCK YOU FOR BUILDING THE MOST CONVOLUTED FUCKING SHIT EVER GOD I. AM. SO. SICK. OF. SHIT. LIBRARIES. WITH. SHIT. DOCS. SHIT. USERS. AND BULLSHIT. NO. FUCKING. SENSE. APIS.2 -
Is anyone here up for a long convoluted explanation of how exactly I predicted the last major btc peak/trough within just a couple hundred dollars?
There's actually a pretty precise reason it did what it did. Basically when china started tightening the screws, userbase fell along with price.
And when the price of an asset falls *with* userbase or ownership numbers, there is a delay in reevaluation, and therefore "current" market value doesn't accurately reflect true value.
I can show the math but again its convoluted. Has to do with userbase versus market cap.
Not a financial advisor fyi and I could be wrong.3 -
Optimizely/Episerver is such a fucking piece of shit I want to fucking kill everyone who made this god forsaken mound of rotting garbage. I don’t even know what the history of it is because the documentation is convoluted as shit and poorly written. Whenever I Google something about it, the top answers are fucking 10+ years old and have not a god damn thing to do with the original problem. But guess what, they still use the same fucking useless error messages as they did 10+ years ago. Fucking idiots. The community for it doesn’t help at all. It’s fucking impossible to learn anything about it. Even the experts in this don’t have any idea what they are doing. Fuck this shit. ANYTHING that’s related in any way to Microsoft, or even mentions Microsoft, can suck my cock. FUCKKKKKKKKK.2
-
for the 3rd time ive tried introducing some version control on a project that really needs it because it has multiple people working on it.
And because the last time my efforts got shut down because in practice people thought it was too much of a hassle to develop locally rather than on the shared development server directly, I made a feature that would let people checkout branches on said server...
Apparently the action of; saving > committing > pushing to your feature branch > merge after aproval, is still too much for people to comprehend; "I think this is too convoluted can't we just keep pushing to the production server to check our work and then commit and push to the master branch"
So I just got pissed and said fuck it, no more git then, I'm not even going to put any effort into changing tooling here anymore, and this is a massive project where we have to manually remove code that isnt ready yet from the staging environment.
Are the people I'm working with just this stupid or am I really overengineering this solution because I think 4 people should not be working on the same file at the same time without any form of version control and just direct upload to FTP.
(and yes, I know I should leave this job already, but social anxiety of starting at a new company is a big obstacle for me)3 -
Apparently Vue.js developers invented their own markup language which is neither HTML nor JavaScript, following their own special convoluted logic, using the most indirect approaches whenever possible and all the characters available on the keyboard {{#@.:;$-}}
Bad framework is bad...4 -
So it's been a burden I carried for long.
With the way I set npm up, I unconsciously did the installing process with sudo, and thus can't use npm properly without a sudo.
Is there a rather not convoluted way to set it back up so I don't have to use sudo again for that?11 -
Am I the only one who has trouble with some developers I work with making things too overly complicated? It's fine if it's every once in a while, but when almost every code review takes me hours because their code is messy or perplexing, I want to pull my hair out! Why write 50+ lines for something that could be like 10 lines?
When have you worked with a difficult developer that makes things convoluted for no reason? Share your story so I don't feel so alone in this!2 -
I'm working with this stupid ass framework that has a bunch of old style React class nonsense as examples (that's not actually that bad, but) ... AND worst of all every code example revolves around this convoluted thing where:
"How you do a thing."
"Make button, then you make a function that calls X, Y, Z and it opens the thing!"
But that's not the way you'd EVER do it because doing the thing inside the framework's components is COMPLETELY DIFFERENT!
I get wanting to dumb down documentation but this is dumbed down to pointlessness! -
Another gem from my Database Fundamentals class, this time it's from the textbook:
So right now we're learning about data modeling with ERDs and the book is explaining a few things about attributes. I got to a part where the book was explaining when you should split an attribute into many (the book mixes up conceptual modelling and logical modelling). The first example the book gave was an address, splitting it up by street name, address number, city, postal code, etc. So far so good. Now we get to the second example: a phone number. The book split the the number 55 11 9784-8900 into four parts:
Country code: 55
Area code: 11
Number prefix: 9784
Number suffix: 8900
At this point I was like "WHAT?". Separating area and country codes from the rest of the number is ok, that's useful, but splitting the number itself in half? Why the fuck would you want to do that? Correct me if I'm wrong but the dash in the middle of the number is just used for "chunking", to make it easier for our brains to read the number. Why would you want to split the number in half? There's literally no reason to do it, at least not in the example the book was showing.
Every time I open this book I keep wondering why the hell my teacher chose it to be our textbook. He's a great teacher, his lectures are awesome, he explains stuff super well, but he chose this book. A book that's filled with shitty literal translations to domain-specific words and acronyms, shitty examples, and convoluted sentences.6 -
The whole windows server + ms sql server ordeal is the biggest fucking joke I've ever seen in my time being a dev.
The ms sql dashboard uses a hidden user to access files and stuffs, so I spent 1 hour trying to make the dashboard's explorer to find the database dump file, only to find out that the file need to be owned by the hidden user. So
I spent about 1 hour trying to set the correct owner of the dump file, but to no avail, the explorer still couldn't pick it up. Then I spent another hour to set the correct owner for the containing folder. Finally, a 6 years old answer on SO point out that I should just put the fucking .bak file in their default folder, and voilà, the fucking thing works like a charm.
I can't get why Microsoft has to go out of their way making permission management on their os so fucking convoluted. The fucking usernames are a fucking mess, you have to go through a bunch of form to change just the owner of a file (please don't start me up with that running some command on powershell bullshit, I would rather deal with bad GUI than a badly designed CLI)
If I were to being positive though, Microsoft is actually one of a few tech companies having a good technical decision of moving their shits over Linux. -
Why Redmine has a such bad and convoluted UX? I don't care about its look which comes straight out of the 90s but it shouldn't be made in such a way which each thing you do requires 1000 clicks.4
-
The worst tech I've been working on is not related to a programming language, is more about the codebase itself.
One of them was in .net, the guy reinvented the wheel creating a custom mvc framework and a custom entity framework, copying from cakephp models, was disgusting and felt terribly wrong to work with.
Then I moved to an old cms written in php on top of an old version of cakephp, that was a nightmare too. Fat controllers and a disgusting db schema, no coding standards whatsoever. Everything so deeply convoluted and connected that was impossible to change something without breaking something else.
The technology itself is never the worst thing, people who thinks they are the best ninja developers, are the real problem imho, and the code they leave behind speaks for them. Yuck -
No matter how much trickery is added
No matter how many distractions
In the end if even one person deviates
They may as well be punished
Because they likely did or enabled something wrong by trying to cause a check that distracted someone important
And a person who is caught cannot be helped by their fellows right away if at all because it associates them with the crime
Imagine the horror of one of us fully enabled catching one of them doing something horrible
The loud scream of fury the last thing they heard before the icy feeling of metal entering their body is experienced and noone could help them
Outside very specific times and places the best that could be accomplished is a temporary suspension of punishment
Eventually because of how convoluted things have become punishment will be effect
Now I want to smile
And act appropriately
Because I need to
I'm so happy
And I can't believe this is happening to me3 -
If you were to start making a lightweight, fast, multiplatform client app, architecturally clean and simple, with as little of the JS(style) libraries and packages and transpilers and weird convoluted and/or unpleasant syntax trends like JS or flutter...
ideally (or at least minimally) something at least as straightforward as making a WinForms app in C#
...what language/tool/platform/tech stack would you choose?
...asking for a friend with totally not an absolutely cool idea that needs to exist.11 -
!rant
Let's say that you have (or had) a colleague that you utterly despise for whatever reason. Have you ever wrote convoluted or straight up spaghetti code on purpose just to make his/her life harder?
(I am aware that authoring bad code can bite you in the ass down the line, just curious to see if anyone ever went that far) -
So, as per usual, I am not sure what I am doing.
I want to make multiplayer games on the web using web sockets.
But of course I want there to be multiple game servers for horizontal scaling (I'm gonna hit it big)
Specifically for either Node.JS or ASP.Net (or both) how could I manage such a thing where there are 2 servers and 2 users. User A is assigned to server A by load balancer, and user B is assigned to server B. But they play in the same game?
Best I know of so far is to connect both game servers to a redis backing. But this seems like a convoluted way to communicate. I would rather have them both route to the game server (Whichever server the game starts on)17