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 - "listeners"
-
Okay i'm done - YOU FUCKING ANDROID STUDIO MORONS. Being at a high level in C++, I tried to do some android coding. THERE ARE FUCKING NO GOOD TUTORIALS, NO GOOD DOCS, HECK, THE SELF GENERATED CODE OF THE IDE IS WRONG: WHAT THE FUCK IS GOING ON YOU FUCKING MORONS?
oh wait, let me first import android.widgets.rant;
or was it android.widgets.devrant.rant; or was it android.dr.rant.RantManager;?
Oh wait, I know lets search the docs?
OH WAIT THE DOCUMENTATION DOESNT HAVE THAT.
NOW HOW ABOUT I JUST TRY THE EXAMPLE CODE? WELL UH-UH! YOU HAVE TO FIND OUT YOURSELF WHAT TO IMPORT IN ORDER FOR IT TO WORK. ALSO, WHAT FUCKING UP WITH THAT PERMISSION SYSTEM? ITS SO BADLY DOCUMENTED!!!
Oh wait, I'm sure that I have to change something in this file... or was it that other file?
GOD
how dare they have style and design guidelines?
MORONS!
I will resort to implement my app idea in godot, idc anymore... I don't want to burn out because I used the "official high standard" tech.
it definitely isn't high standard and definitely not good. Thank you morons@google
THANK YOU FOR NOTHING
A FRAMEWORK WHERE I NEED 2 DAYS TO FIGURE OUT TO ADD EVENT LISTENERS TO MY THINGS IS DEFINITELY NOT ONE I'D LIKE TO USE.
also, whats up with
AudioRecord (int audioSource, int samplerateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes);
ARE WE BACK IN THE C ERA? CAN'T YOU BE BOTHERED TO IMPLEMENT SOME SIMPLE FUCKING ENUMS????
WHATS THE POINT OF AN OOP LANGUAGE IF YOU ARE GOING TO USE IT LIKE C?
Oh wait I found a tutorial ... First trigger: "java scripts". Second trigger: this guy LITTERALLY ONLY TEACHES YOU HOW TO PLACE WIDGETS ON THE CANVAS. THANKS FOR NOTHING SHERLOCK!
Oh btw: did you know that android studio gives the best error messages?
"Error: illegal start of expression"
NO ERROR MESSAGE - NOTHING!
YOU BETTER USE THE IDE OR YOU GO HOME YOU FUCKER!!!
Oh and btw: if you want to read the best documentation - the code itself YOU GOTTA AGREE TO OR TERMS OF SERVICE!!!! WE DONT WANT ANYBODY TO BECOME SUCCESSFUL WITHOUT US KNOWING!!!!!
THANK YOU GOOGLE FOR NOTHING!
YOU FUCKERS!
thanks godot for *atleast* existing. You are the... last pick i'd pick, but :shrug:, I have experienced android studio now.
If anybody has any advice on what to use instead, please go ahead. And you better not tell me how good you are at android studio. I DONT CARE ABOUT WHAT YOU CAN IMPLEMENT IN ANDROID STUDIO. I JUST WANT SOMETHING THAT IS USABLE WITHOUT HAVING TO BE EXTRA CAREFUL WHEN DOING *ANYTHING*!!!!
fuckers.48 -
90s devs: "Did you know about GOTO/CONTINUE for control flow? it's so convenient and powerful!"
00s devs: "GOTO is an antipattern. But did you know about try/catch? You can use it for control flow, just write a lot of exception classes, it's so powerful!"
10s devs: "Using exception blocks for generic control flow is an antipattern. But have you heard about event listeners and observer patterns? It's so powerful!"
Developers are so good at repackaging and reselling square wheels by giving them fresh, impressive sounding names.
😡18 -
Preface: i'm pretty... definitely wasted. rum is amazing.
anyway, I spent today fighting with ActionCable. but as per usu, here's the rant's backstory:
I spent two or three days fighting with ActionCable a few weeks ago. idr how long because I had a 102*f fever at the time, but I managed to write a chat client frontend in React that hooked up to API Guy's copypasta backend. (He literally just copy/pasted it from a chat app tutorial. gg). My code wasn't great, but it did most of what it needed to do. It set up a websocket, had listeners for the various events, connected to the ActionCable server and channel, and wrote out updates to the DOM as they came in. It worked pretty well.
Back to the present!
I spent today trying to get the rest to work, which basically amounted to just fetching historical messages from the server. Turns out that's actually really hard to do, especially when THE FKING OFFICIAL DOCUMENTATION'S EXAMPLES ARE WRONG! Seriously, that crap has scoping and (coffeescript) syntax errors; it doesn't even run. but I didn't know that until the end, because seriously, who posts broken code on official docs? ugh! I spent five hours torturing my code in an effort to get it to work (plus however many more back when I had a fever), only to discover that the examples themselves are broken. No wonder I never got it working!
So, I rooted around for more tutorials or blogs or anything else with functional sample code. Basically every example out there is the same goddamn chat app tutorial with their own commentary. Remember that copy/paste? yeah, that's the one. Still pissed off about that. Also: that tutorial doesn't fetch history, or do anything other than the most basic functionality that I had already written. Totally useless to me.
After quite a bit of searching, the only semi-decent resource I was able to find was a blog from 2015 that's entirely written in Japanese. No, I can't read more than a handful of words, but I've been using it as a reference because its code is seriously more helpful than what's on official Rails docs. -_-
Still never got it to work, though. but after those five futile hours of fighting with the same crap, I sort of gave up and did something else.
zzz.
Anyway.
The moral of the story is that if you publish broken code examples beacuse you didn't even fking bother to test them first, some extremely pissed off and vindictive and fashionable developer will totally waterboard the hell out of you for the cumulative total of her wasted development time because screw you and your goddamn laziness.8 -
It was when I ditched React. I replaced it with raw JavaScript, with frontend being built with Gulp and Twig (just because HTML has no includes). Here are the results:
1. Previously, a production frontend build took 1.5 minutes. Build time became so fast that after I push the code, the build was done before me going to Netlify to check build status. I go there, and it’s almost always already done.
2. In a gallery with a lot of cards, with every card opening a modal, the number of listeners was reduced from N to one. With React, I needed 1000 listeners for 1000 cards. With raw JavaScript, I needed just one click listener with checking event target to handle all of the cards.
3. Page load time and time-to-interactive was reduced from seconds to milliseconds.
4. Lighthouse rating became 100 for desktop and 93 for mobile.
But there is one more thing that is way better than all of the above: cognitive complexity.
Tasks that took days now take hours. Tasks that took hours now take minutes.
Tasks that took thousands of lines now take hundreds. Tasks that took hundreds of lines now take tens.
In real business apps, it is common to build features and then realize it’s not needed and should be discarded. Business is volatile, just because the real world is volatile too. With this kind of cost reduction per feature, it became way less painful to discard them. Throwing out something you spent time and emotional resource on doesn’t feel good. But with features taking minutes to build, it became easier.23 -
Today i had to set my theme to white for my listeners to see clearly what i was explaining.
My eyes hurt😭😭
Please make it stop😭3 -
Four years ago while still a newbey in Android Dev and still using the eclipse IDE which was hell to configure by adding Android plugins,my girlfriend had a birthday.
With my new found love of coding thought of developing a b-day app for her.With so little android knowledge I had a great idea the main activity would have her photo as the background and button which when clicked would show a toast saying happy b-day love.
After spending few minutes in Tutorial point and learning how to display a toast and setting click listeners on buttons I was good to go and compiled the app.
Later that evening I head to her room where her b-day was to be held with some of her lady friends .When presenting gifts I presented her gift said had one more surprise for her and asked for her phone and using bluetooth sent the apk to her phone.
Installing the app I was scared to death on seeing how my grey buttons were displaying on her 2.7 screen size since had no idea on designing for multiple screens.
Giving her back the phone she loved the app and felt like her superman in the room though not for long.Her lady friends had gone ahead took her phone and were critising the app:
Why can't I take a selfie
Why can't the app play a b-day song for her and this went on them not knowing how hurting that was.
Bumped on the lady who lead the onslaught on me and had to go down memory lane.Life is a journey.2 -
I loved what Flash used to be. Most people thought it was proprietary stuff. The program was. It's language was not. And damn, did we have fun together! We rendered vector graphics from code and pushed perlin noise into bitmaps while the HTML guys were still struggling with rounded corners. Oh, those bezier curves we dreamed up out of thin lines of code!
Other people just couldn't see how beautiful you were. They hated you because you were popular, and ads were beginning to dominate the landscape. And lots of dildo's made ads by abusing your capabilities, straining you with their ugly code that didn't remove event listeners properly. I always did, because I loved you.
They made fun of you because you had to be compiled. Look what those cavemen are doing now, dear ActionScript 3.0. They are compiling Javascript and pushing it to production. They are all fools my dear, unworthy to read even a single line of your gracious typed syntax. We were faster then Java. More animated and fluid then CSS. We were even responsive if we needed to.
But... I have to move on. I don't know if you're still watching over me but I can't deny I've been trying to find some happiness. I think you would have wanted me to. C# is a sweet girl and I'm thankful for her, but I won't ever forget those short few years we had together. They were the absolute best.
Rest well my dear princess.8 -
! Rant
To any games programmers here (I feel so lonely surrounded by these Web devs)
If I tree falls in a scene with no audio listeners does it still make a sound...4 -
I don't understand how people can write code, but be completely inept at developing software.
Take a zoom feature:
SOLUTION 0:
- Use 2 buttons
- Use 2 button listeners
- Use 2 float variables (for each button).
- Don't log anything.
- Use 3 crazy, hardcoded, constant, int literals like 66, 30...
- both buttons manipulate the same text field.
- no logging.
- Both listeners use if/else to check if the variable is within a range -- one if/else for each listener.
- Use crazy method calls to get text size.
SOLUTION 1:
- Use a slider.
- Use a single listener.
- No variables needed.
- Use a linear equation for zooming.
- has logging.8 -
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
Lockdown started.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Oh...
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
...
...
Fuck
"We're not prioritizing this project right now" they said.
...
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5 -
In love with Laravel events, listeners and mailables. What a beautiful way of doing this. Can't say how much I love this framework. <3
Can't wait to implement redis and queues. Am excited to try this for the first time. Share exp. if you have, pls.4 -
So I just fixed about a year or so old bug by removing my solution entirely.
As very few of you will know, I work on/ off on a project called TG which accelerates cmd.exe
One of my oldest bugs in this project is that the buffer resizes real weird. If you adjust both the height and width at the same time, it goes into this weird infinite loop business.
As it turns out, cmd.exe handles that by itself just fine. I just removed my resize listeners and now everything is running smooth.
feelsgood(?)man.jpg -
I had interest in studying medicine since a very young age but I started coding before I got admission. I found medicine fun because of that.
I perceive hormones and receptors as events and event listeners.
I perceive the all or non responses of neurons as binaries 0 and 1.
I perceive the vestibular apparatus in the ear as a gyroscope and accelerometer.
I perceive the human body as a machine 😂😂2 -
Today a task was assigned to a coworker, he is a good guy, but one of those that never complain, never say anything, get there early, go to lunch at the exact same hour everyday, doesnt talk to anybody and gets off at exactly 6pm.
So, the task was submitted by QA, according to them, a disabled input could be enabled by going into the dev tools and enabling it...
So i went over the pm and told her (cos she is a cunt) that the ticket was just bullshit and that first of all, we had no control of it, but if that is the case, we can go over and add event listeners to all the inputs in the platform to avoid people changing them...like wtf?
Since she is a dumb cunt, she 'escalated' the task to the senior dev... he is also a total fucktard who doesnt know a shit. The dude said that the task was ok and we had to do it or not but it was better to do it, justifying the ticket in the most stupid and incoherent way... like wtf is to do with it? Tell the user to not go over the devtools and enable it? The fuckkkk
I felt like i was about to shit my kidney, seriously, but what can i do? It is not the first time things like that happen. The stupid fuck also let one of his friends add several migrations to change several tables columns just because of 'good practices' which in first place left the databas all fucked up and with fucked relations.
I'm just so tired of these fucks, incompetent motherfuckers... I told a friend about it and he said that that was nothing, it is worse when you have to work for banks and that the only thing i could do was to let it go and learn from it, to not do the same mistakes. Im thinking in quitting... what should i do?3 -
Added an If/Else to the start of my Android app to ask for feedback. After writing the else I removed unneeded spacing. Then I ran the app... none of the action listeners worked. Turns out I accidentally deleted the closing bracket for else and when I said yes to feedback it never executes the reset of onCreate lol. Took a while to track down that mistake.
-
Meeting about brand new web app system to replace an ancient MFC app.
director: can we just use the old subsystem manager? (horrible mix of management ui and SOAP listeners in the same app...)
developers: No, that's an MFC app... not even just a server.
director: but... can't you just plug it in? you're using web components right?
developers: *weary sigh* -
I need more people to listen to me. Sometimes, ActionListeners and EventListeners are just not enough.
-
- have/share an agenda as soon as possible
- each talking point should identify a problem. Make a list of strategic questions answers to which would make it perfectly clear what and by whom has to be done to resolve them.
- plan meeting duration according to the list of questions. Make sure you meeting room reservation gives you enough time
- take notes
- be prepared for a need for another meeting(s), if during that meeting it comes clear that:
> more/other people need to be engaged
> some things are not clear and need more investigation before going further
> you have run out of time
> there are other problems tgat need to be worked out and it might cobsume too much time to do this in a current meeting
- do not turn the meeting into a chat. It's counter-productive, tiring to the listeners and a waste of time
- do not try to cover many topics. The less, the better. Unless they are very tightly coupled.
- do not invite people you do not need or there is a very slim chance you will need.
- only schedule meetings when the situation needs to be DISCUSSED among multiple parties
- that being said, do not schedule meetings when it's more convenient to communicate otherwise, like email, chat, etc.
- after the meeting make a summary and send it our to all the participants. They might reply and clarify if you have misunderstood smth or missed some important point.
- during the meeting assign tasks to each other. Verbally. Make notes. After the meeting reflect them in jira, rally, wtv.
- while assigning tasks nake sure the assignees have no blockers to work on them and make sure they understand what, when and how should be done. Some tasks might be dependedt on each other, work the sequence out.
- while assigning tasks ask "for ETAs. They might be as silly as 1-hour-to-2-weeks, but they still let you know what to expect.
- offer your assistance to the task assignees if they need any while working on their tasks
- work on your language, grammar, syntax, etc. Reading texts with typos/mistakes is repelling
- be a leader, an authority everyone is looking up to. Not a boss.
- avoid saying NOs. Be more of a "do we really need this; can we do this some other way/time; I can't promise anythibg but I'll see what I can do about it" kind of person. -
Fking alfresco and custom script listeners and fuck referencing multiple jars in one single jar and fuck reload time of alfresco server and all :(2
-
Amount of text you need to read to do something the framework way.
At the end it turns out you can’t do it cause nobody thought about it and it’s just another piece of crap for doing simple things. You start digging inside framework code and see that something is wrong. You see copyright Google and you wonder if they have phd for selling their ass on street. Why the fuck you override the validation flag to true every time ?
Then you start invoking couple of methods and one of them works and stops that madness but you don’t know why but you proceed further so you can glue shits together to stop the ship sinking.
At the end after you’ve tried all the “simple” examples that works cause they’re stupid and you need something special you start to think if this framework is so unique and special cause it covers 90% of things, left you with hands full of crap ?
At the end after wasting whole day to change the border color of the input using couple of separate controls the framework way and when you succeeded you ask yourself really ?
One fucking event emit and couple of listeners with style change ? Damn you frameworks with your bidirectional easy fast doing shit.
Another day in paradise.6 -
!rant
is pre-debugging a good thing?
I have a habit of implementing a project(for e.g. a mobile app) like this: See the project, break the tasks to be done into small parts(Like UI layouts- setting, listeners to implement , graphics involved, background threads required, databases necessary, etc.)and then code each of them step by step , while simultaneously testing their working (For all possible test cases I could think of ) side - by side. this results in my project getting developed in far more time than other people, but I always have something good and working all times to show to my bosses.But I really feel stupid when I spend 2 hours handling the animations and ui while I have yet to look into databases and other more important stuff
I guess that's a habit from my good old python days(its IDLE was a playstation for me) but I wish to know better approaches,if any?4 -
Rant!!!
Recently, there has been this issue on StackOverflow not been friendly to beginners. I don't fully agree with that. SO is strict and rightly so because if not that, we will be flooded with repeated questions and low value answers. As a programmer, I believe when I go to SO, I want an answer quickly and fast because most at times, I'm programming and the problem I have is preventing me from moving forward. To be flooded by repeated and low quality questions and answers wouldn't help anyone. Also, on most beginner programming tutorials, were people are advised to check sites like SO when they have problems, most of them tell their listeners or readers to check if the question has been asked before, before going ahead to ask. Even SO assists you when typing your question with similar questions just to make sure you don't ask repeated questions. I rarely downvote but I understand those who do. Also, there is this talk about 'inclusivity' and some relating it to gender. It looks like people tend to slap gender and race on everything these days. To make this clear, I'm not a white male so that one wouldn't say the system favors me so I don't see the problem. The fact SO collects data about developers and it comes out that, most of the partakers are males doesn't mean SO is favoring males. SO doesn't show your gender when you ask a question. It doesn't even show your gender in your profile so what's the issue here? It will be better to get to the root of why there are few females in computer engineering and solve it there rather than blaming a site because of data collected. To know where this rant is coming from, just search StackOverflow on twitter and read the recent tweets.6 -
I've been working with Node and Typescript for a while now, and I wrote a wide array of very general utility functions. Examples include:
- Array.filter but you also get the residue array, it can also leave holes in both arrays if you want to join them later
- Array zipping and unzipping to and from tuples (especially valuable when you're manipulating the prop set with Object.entries() in a HOC
- Array maximum selection, with an optional mapper
- Cancelable promises, lazy promises, a promise that resolves when a given function on an object is called (excellent for DOM events), a timeout promise.
- A typed event with both immediate and microtask listeners depending on whether you need state guarantees (this idea I took from a Github gist and upgraded it)
I want to put them on NPM so I don't have to write them and their tests again, and so that if I ever think of an improvement it's easier to propagate it. Do you think I should release them as tiny individual packages which would be nice from a versioning standpoint, or should I make them into a compilation which would be a lot less work for me (and therefore would probably result in better documentation and more tests)?4 -
!rant
https://github.com/rohitshetty/...
I am a young dev trying my hands around in different stuff.
So I would appreciate any criticism or comments that would allow me to Learn more :) or good practices I can follow.
Here is one project where I tried to create a structured frameworkish way to write mqtt processors.
Mqtt processors are standalone apps that process mqtt requests that has to be acted upon (like add sensor data to db sent from sensor node, read from db, turn some gpio on or off if the app is on some embedded device like raspi ) etc.
This project creates a structure where you can just focus on writing subscribed topic listeners in a clean neat way. (Hopefully)6 -
Legacy app using jQuery to attach event listeners to table rows just to change the background color. That's gross, even for legacy.
-
Colleague's thought process:
Hmm I have observables but I don't understand shit.
Hey I like listeners let's add listeners to all observables.
Should I make the method return an observable and subscribe my listener to it?
Nah I'll erase everything and pass an anonymous class listener to the method so no one can chain a few calls together.
Fuck you and I hope you're reading this!!!
Time to rerewrite 2k lines of fucking code.... -
I tend to overengineer. Why? Because I had a view in JavaFX with its controller that had a bunch of key listeners which changed the UI. I wanted to change the view based on wifi connection/no connection with a server, which was managed in a Client class. The controller took the client to give it a message that client then had to send. For "separation of concerns" I created a separate view + controller for the "not connected" state.
Now the Client knew all about the connection, so I put up the Observer pattern and wanted the Main (Application) class to swap the layouts as an Observer of the Client. After an Exception on FX thread and Platform.runLater(), to solve the issue, I faced a new problem: the key presses weren't executed anymore. I still don't know why this happens. Maybe I'm missing something.🤷
Then met with one of my group partners (it's a uni project):
Let's attach the Observer to the original controller. Have only the original view that changes due to the controller updates as Observer. Let's see if that might even remotely work...🤔
It worked🤦😂 -
[ WEBDEV frontend QUESTION ]
I will need to build a new admin dashboard for representing a lot of data from the api. the API is written in PHP and this won't change. We are currently using jquery to make the data interactive (choose date ranges, different filters and so on). Were currently using morris.js for charts. I'm thinking this would be a good opportunity to learn and use a new js framework to make the data more easily bindable on buttons and selects (not so many listeners on buttons and shit like that).I will be developing the front end on my own, alone, so i mostly have freedom here. I need something that has implementations of chart rendering, and which I could learn in a week or two in the evenings after work (starting to work on this in the next week probably). What are your guys recommendation? Whats the best option for dashboards js wise? I was thinking vue, won't I shoot myself in the foot for using a new technology(for me anyway) right from the bat?2 -
Fucking jQuery in Polymer 0.5.
When polymer 0.5 was released, things seemed incredibly easy at first, but when you need to do some complex things, the abstraction layer provided by web components are not of much help. Babel wasn't there too, so I ended up using scope hacks to access event listeners (var self = this). Worse, I have to use jQuery because many of things are downright tedious or fucked up back then, including myself.
Now, React is here; No jQuery, no hacks, no web component polyfills, no unsolvable perf bugs, no scope hacks, no 10sec loading time, no regrets.1 -
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?
just.... fml -
i always get sucked into this "cute code" hell whenever i am working with a b2c codebase, and especially with kotlin code.
here's a scenario:
task : build a debounce logic for an input view where each user input is currently triggerring an api call.
my steps
1. read what debouncing is.
2. see if any code is available on the internet
=> found a code piece on the internet with some level of abstraction ( basically a simple final class that implements the input event callback and encapsulates the debounce logic)
3) copy it, run it , it wokrs
------
for any sane coder, these steps are hardly 10-30 mins and they can move on with life. but its your truly that made this task into a 6hour research only to come up at similar solution. my curiosity led me to stupid places
1) why this class is final? what if someone else wanna use it but with a different behaviour? lets try open(non final class) .
2) why even use a class? it extends an interface, lets try to wrap the logic in interface itself (kotlin supports interfaces that don't require implementation)
3) umm , the interface works but it looks ugly, with all its global overridden variables. what about we make it extension?
4) yeah the extension approach is also not very good, lets go back to open class.
5) but extend is super nice to look! lets keep the extension and open class too
6) can we optimise the implementation? why it uses an additional handler? what if we provided everything in constructor? how about builder pattern?
FUCK MY BRAIN! there are so much fucking options that i forgot that i spent 4 hours on this small thing
the simplest approach would have been tk just shove all the listeners and everything in activity and forget about it :/
senior devs on this platform, how do you stop yourself from adding every concept that you know into the smallest possible task?6 -
Is using getx's `ever` function a code smell? I'm using getx as a library rather than a framework ie state management instead of wrapping the app in it and using their widgets
My background from writing reactive code in vuex is that whenever a watched variable in the overarching store is updated, it automatically calls its listeners and re-renders the view. However, my flutter widgets remain stagnant except I explicitly mount the ever worker and call setState on a local field basically duplicating the store variable/field. It feels hacky to me tbh and leads to errors about calling setState on non-mounted screens, which I'm circumventing by checking if mounted (another hack)
It feels contrived like Band-aid over an actual problem. Is there a more natural way to propagate changes? I'm neither using getBuilder nor obx cuz a significant portion of my code entails computing stuff rather than just outputting data off an api. I want ui decisions to reside on my statefulWidget rather than migrating them to getx controller
Is this really how the project functions, should it be used a specific way, or am I missing something?6