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 - "listener"
-
Goodbye to programmers best friend. He was the best dog, the best listener, a great pair programmer, and someone to keep my lap warm while I work. And more than all of that, even though he was a dog...he was my friend. Goodnight buddy. I hope I see you on the other side.11
-
Well one time, it was very awkaward.
My colleague went to lunch, and he was working on some website for international client.
So he left his mac unlocked, and as soon as I saw that I thought i would be cool to add click listener on body of page, and on click it opens up 100 tabs of porn. And I did that.
Before he returned from lunch, client called my boss, with wtf is happeneing with his site, and that it is constantly opening up porn.
What i didnt realize that before colleague went to lunch he contacted client to see some progress. And suprisingly I didnt know that his editor atom was automatically set up to upload website on save to dev server that client is currently looking.
We ofcourse told client it was the hackers :)
But boss wasnt that stupid.
Instant karma.4 -
received a bug report from a client on a mobile app.
title: bug on information page.
description: all text field make first letter capital.
*what! this is your keyboard, stupid!
after he didn't understand, I made a text change listener, and make the first letter lowercase, he is happy. heheh 😨3 -
Boy, this Monday mornig was crazy...
At 7 am, as I just left my flat, I received an ultra urgent email from the CEO of a company we exchanged the fileserver for, that the network shares are not available.
I instantly turned around, went back to my flat, fired up my HAL9000 supercomputer and connected remotely.
4 levels deep (PC => VPN => Remotedesktop => vSphere Client => VM) I felt like I was in the movie Inception and tried to figure out what happened.
I don't know why, but in the logs it said that the fileserver VM was down since 4am. Holy sithlord... why?
After restarting and the usual problems with Windows Network Names, everything was back online.
My special thanks go to Mr. Coffee, who is always a great companion during monday mornings, Mr. VPN, the great fellow who invented the VPN and last but not least "The Internet" for connecting me to a world of binary, where every idea finds a listener and where Ajit Pai can be memed without concequences.
FUCK YOU Ajit. Harlem Shake is so 2013.2 -
So today, I managed to make one of my colleagues feel like an idiot. In this contract, I work mostly for ui integration, while he build the pages with angular before I add all the html structure and fancy css.
We are building the front-end/ui for an industrial device with a touch screen. For that last 2 days he was blocked on a bug that when you click the confirm button on a delete popup, it would somehow select an input in the page before it was deleted and would lock the ui when showing the virtual keyboard (the poor thing didn't know what to do and wouldn't close).
During those two days, he asked all the other devs for help, trying to find a pattern or anything that could help, while I was focused on writing my css and stuff since it was my priority and I was hired specifically for that (I was aware of the bug and gave my input but I never saw it being reproduced)
So today, he start his new routine of raging at his desk and he decides to show me on my device for some reason. I immediately notice a pattern. It would always select one of the two fields behind the popup, in the click area of the button (it's a big button). Then, I noticed that I could press a random spot on the screen, drag my finger on the button and let go and nothing would happen.
It's at this moment I knew I had found the bug. The button was set to emit an event on mousedown while the inputs behind it were set to emit an event on mouseup (like it should be everywhere). So the popup closed when you placed your finger on the screen and the input was selected immediately after when you removed your finger (which was usually faster than the page code which was not yet optimized)
After that, it was just an easy fix to change the listener and I had a free beer.1 -
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 -
# main.py
# ok since we are removing master/slave
# terminology, let's refactor our code to this
# jesus.py formerly master_machine.py
# formerly slave-machine.py
from jesus import owned_hashtable as the_word
from follower import listener as you
# let's see if this still piss them off.4 -
Built the rough verson of my whatsap notification listener with websockets and now to intergrate it into a chrome. Extension time for chrome.
And they said i wont be able to view my whatsap messages at work6 -
Meet my new friend Bert.
Bert is nice. He is into football and he is a good listener. Guess we will become best friends ♥️5 -
Instead of investing in a rubber ducky for explaining my coding bugs I decided to have Alan Turing be my listener. At least he'll be more understanding than a pretentious biased rubber duck!2
-
Project Leader is explaining to teammate how their UI will call my API and it'll run asynchronously in the background. UI guy asks: about error handling? I said the callback listener will be notified if anything goes wrong. I ask the PL, what next? just log and forget about it (that's my sarcasm)? How would anyone know this has failed?
PL says: good point and can worry about this later. Lets first focus on getting things to work.
You know later never comes. Well, except when the customer reports a problem. Its like every disaster movie you've ever seen before -
Started development on a Firefox addon again:
Adding an onclick HTML tag/property (however you call that) - doesn't fire at all.
Adding an event listener - says no elements with the class I'm using (checked, it's correct) exist, doesn't fire.
Well, fucking great 😐4 -
Trying to discover why the DB listener wasn't being called in my app for like 30min. Many log messages, no exceptions or errors, DB rules revised, DB content revised, changed constructors, simplified code and nothing worked... problem: the phone's wifi was disconnected.2
-
Working with Android DatePicker is such a pain in the ass.
You want to have your DatePicker appearing as a SpinnerView? Well, easy!
If you're under API 21, you can use the following method 'setSpinnerViewShown()'. If you're between API 21 and API 23 you need to add some style configuration. And if you're above of API 23 you can't use both of the methods above, you need to create a custom xml with the attribute "datePickerMode" (no, datePickerMode can't be set programmatically, it would be too easy to guess).
If you want to add a listener to it, you think it might be a method called 'setDateChangeListener' or something like this? Well no! You must use the 'init(year, month, day, Listener)' method, logic!
If you think you're finished with this bullshit, of course not. Their is a known bug on API 21 that you must take into account (but this bug isn't fixed, no, it's just documented somewhere on google forums).
I don't know the team that designed the DatePicker for Android, but it might a team of champanzee that randomly changed their minds to the phases of the moon!3 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
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 -
So, the other day, I was working on a Angular Web app which included the YouTube Api. In the event listener, I wrote that when a video ended, a next one would start (from our database).
Guess what. It didn't work.
Then, I wrote a console.log();
It freaking worked! Then, I removed the console.log. It didn't. I tested cases for like half an hour and it still baffles me, why the hell would an output change everything?
devGod works on mysterious ways...7 -
Just spent 6-8 hours or so trying to get image uploading to work with sending messages with firebase. Finally completed it.
Disclaimer: this might not make the most sense as I am completely drained mentally.
The issue was that I wasn't calling the send message method inside the upload image method. Meaning the images would upload but before I would be able to get the Uri back from firebase to put in the hashmap for the messages, the message hashmap would already be sent.
It was a pain in the ass to do. But 5 windows and 40 tabs later, then some doc reading. Then a quick break to eat. And some more stressing about my code. I finally realized that I should have just called the send message inside the incomplete listener in the image upload.
TLDR;
"uploadImage(), sendMessage()"= no Uri; :(
"UploadImage() { sendMessage() } = Uri" :)
PS: Yes, this is me talking to myself on my other account10 -
long time listener, first time caller. I love designers. seriously. I love getting a nice juicy Figma file and not knowing how the heck I'm going to do half the wild stuff in it, but it's beautiful, so I'll figure it out. Go ahead, send it to the client. But designers who learn how to use something like Elementor or one of those crappy kitchen-sink themes, call themselves developers, and win work with clients I share with them. I'm the one fixing everything when that crap breaks. I would never in a million years present myself as a designer, even though I know I know a damn sight more about design than they do about dev. I get it, everyone needs to make a buck, but every time this happens it makes me sick to my stomach. We're on the same team. I always, ALWAYS, go to the mat for good design. Why don't more designers have an equal amount of respect for us? Design phase always goes over deadlines and we always have to pick up the slack to make the hard launch date. Well, now I'm just rambling.1
-
I had been banging my head on an issue for 2 days. The solution?
Replaced
“window.addEventListener(“message”, callback)”
with
“window.onmessage = callback”
What. The. Actual. Fuck??!!
Aren’t they supposed to be the same thing?? It’s written on MDN’s article that the latter is an alternative way of doing the former.
What the fuck then? I am actually really pissed right now. Ragefully pissed.11 -
I never seen my high school friends about a year because of my project and community (with same topic). Then when I met them, I just realized that I never have social life. Still, I'm just a listener. I don't know how I tell about what I did last year, because I'm too afraid they don't understand.
Then I keep my mouth, just smiling, listen their awesome story about their jobs, family or their friends in college ....
I'm come back home, so lonely in here. I opened my laptop, then realised another things. I'm just communicated with scripts, with millions line of codes, with many library, with many issues about my projects, with those compiler ...
How you guys talk with non-IT friends? I don't even remember how I used to be their friends and laugh together
What a saddest night in my life ...4 -
Salesforce lightning web components have such bullshit limitations that they claim is because of security but it's just because it's overengineered garbage.
Want to use web components? Nope.
Want to pass in a value to a function in a click listener expression? Nope.
Want to use scss? Nope, compile it to css yourself.
Want to use the fucking document object? Guess what it's overridden except for very specific third party frameworks.
Who in the fuck thought it was a good idea to override the document object? Your app isn't more secure, literally the entire internet uses the document object and it still becomes available in runtime anyway so what the fuck??
LWC is the biggest garbage I've ever seen, you know a framework's a big red flag when there are developers solely for the framework.
There is a new security release coming out that apparently removes some of these nuances (understatement) so there might be some light at the end of the tunnel.4 -
Another day, another task that requires magic. I'm stuck trying to connect hibernate envers and tomcat. Both work fine on their own, but now envers needs session data and i see no way to make that work because THAT GODDAMN ENVERS-LISTENER HAS NO WAY OF ACCESSING THAT INFORMATION WITHOUT GODAWFUL INSTABLE HACKS.1
-
I've been trying to add a click listener to this image of john cena but I keep getting a NullPointerException, somebody help!!!!12
-
My workplace is a generally nice place, but there is a lot of gossiping and complaining. Voices carry and we have a lot of people coming through, so there’s a risk that if people are gossiping, other people could end up overhearing colleagues talking about them or someone they know. It doesn’t help that some of our employees work all of their time in the office (including me) and the others come and go, which I think creates an in-group and an out-group. When gossip comes up, or the urge to gossip, it’s tough to be as empathetic if you don’t have a real in-person relationship and primarily interact with someone over email.
I am a good listener and generally want to hear people out, but there is so much potential for problems when people are talking harshly about others. Could you give me some advice about how to politely shut it down when people are gossiping to me?
In particular, I’m interested in knowing how to shut it down if the gossiper is senior to me, versus a peer, or versus junior to me. Also, should I handle it any differently if I agree with the comments being made or if I don’t? What if the person is sharing something confidential that I know they shouldn’t be talking about? And does it make any difference if the information is work-related or not?3 -
ChatGPT, Copilot, React, how to make a link in a frontend website?
To create a link in a frontend website, create a span, a div, or a paragraph that contains the link text. In your JavaScript web app, add an event listener to that element that opens the link on click. If you want to claim you're accessible, add an aria-role to the clickable element. To make debugging harder and only possible for the real arcane experts, let your framework generate generic ids and class name hashes for styling and event handling, like "item_09fcfck" or "elementor_element_foo_bar". Avoid, at all price, to use an a href element!2 -
That moment when full-stack web development suddenly includes troubleshooting the TCP connections on your new listener.
#rememberthatoneclassinundergrad1 -
Because of reasons we had to use the reactabular-module in our react application. There were problems giving relative values to the table-columns so a coworker decided to install a resize-listener in the window and calculate the relative values itself when the window width changes.
But i have to defend the guy who did this. Given the other things to do and our (limited) knowledge of the css-display-attribute and the reactabuler-module this was the best thing to do. Or we just wamted to finish this because we already wasted hours on this.1 -
"Programming is a craft. At its simplest, it comes down to getting a
computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. You try to document your work so that others can understand it, and you try to
engineer your work so that others can build on it. What's more, you try to do all this against the relentless ticking of the project clock. You work small miracles every day.
It's a difficult job. "
- The pragmatic programmer -
!rant
Finally (kinda) done with the nicknames addon. I wanted to hook into the sites actual modal menus for the UI, but I don't know JQuery and I somehow doubt modifying the existing javascript of a site from a plugin is possible, so we're stuck with knockoffs for now. But it works, it saves and loads nicknames correctly and displays them everywhere except on the notifications because I didn't add an onload listener to them.3 -
Sometimes in our personal projects we write crazy commit messages. I'll post mine because its a weekend and I hope someone has a well deserved start. Feel free to post yours, regex out your username, time and hash and paste chronologically. ISSA THREAD MY DUDES AND DUDETTES
--
Initialization of NDM in Kotlin
Small changes, wiping drive
Small changes, wiping drive
Lottie, Backdrop contrast and logging in implementation
Added Lotties, added Link variable to Database Manifest
Fixed menu engine, added Smart adapter, indexing, Extra menus on home and Calendar
b4 work
Added branch and few changes
really before work
Merge remote-tracking branch 'origin/master'
really before work 4 sho
Refined Search response
Added Swipe to menus and nested tabs
Added custom tab library
tabs and shh
MORE TIME WASTED ON just 3 files
api and rx
New models new handlers, new static leaky objects xd, a few icons
minor changes
minor changesqwqaweqweweqwe
db db dbbb
Added Reading display and delete function
tryin to add web socket...fail
tryin to add web socket...success
New robust content handler, linked to a web socket. :) happy data-ring lol
A lot of changes, no time to explain
minor fixes ehehhe
Added args and content builder to content id
Converted some fragments into NDMListFragments
dsa
MAjor BiG ChANgEs added Listable interface added refresh and online cache added many stuff
MAjor mAjOr BiG ChANgEs added multiClick block added in-fragment Menu (and handling) added in-fragment list irem click handling
Unformatted some code, added midi handler, new menus, added manifest
Update and Insert (upsert) extension to Listable ArrayList
Test for hymnbook offline changing
Changed menuId from int to key string :) added refresh ...global... :(
Added Scale Gesture Listener
Changed Font and size of titlebar, text selection arg. NEW NEW Readings layout.
minor fix on duplicate readings
added isUserDatabase attribute to hymn database file added markwon to stanza views
Home changes :)
Modular hymn Editing
Home changes :) part 2
Home changes :) part 3
Unified Stanza view
Perfected stanza sharing
Added Summernote!!
minor changes
Another change but from source tree :)))
Added Span Saving
Added Working Quick Access
Added a caption system, well text captions only
Added Stanza view modes...quite stable though
From work changes
JUST a [ush
Touch horizontal needs fix
Return api heruko
Added bible index
Added new settings file
Added settings and new icons
Minor changes to settings
Restored ping
Toggles and Pickers in settings
Added Section Title
Added Publishing Access Panel
Added Some new color changes on restart. When am I going to be tired of adding files :)
Before the confession
Theme Adaptation to views
Before Realm DB
Theme Activity :)
Changes to theme Activity
Changes to theme Activity part 2 mini
Some laptop changes, so you wont know what changed :)
Images...
Rush ourd
Added palette from images
Added lastModified filter
Problem with cache response
works work
Some Improvements, changed calendar recycle view
Tonic Sol-fa Screen Added
Merge Pull
Yes colors
Before leasing out to testers
Working but unformated table
Added Seperators but we have a glithchchchc
Tonic sol-fa nice, dots left, and some extras :)))
Just a nice commit on a good friday.
Just a quickie
I dont know what im committing...3 -
!dev, just rant
what the fuck is wrong with these people. yesterday i wrote him if we can meet to sort out my medication, no response,
ok, normal.
this morning he writes me "i wasn't home yesterday, i am today".
wow, actually a a proactive and early info! that's... unusual.
so i go "hmm, maybe even right now?"
he's like "no, sometime from 14:00 or 14:30"
ok.
so i wait until 15:00 to give him a bit of extra time, i hate rushing people. "so can i stop by?"
he's like "i'm going out in a short while, i'll let you know"
okay.
i hate these "bind a listener to me and wait until i ping you", but okay short while is fine.
so I wait. for half an hour. I mean... i'm bad with time management, but even I don't call half an hour a "short while" anymore. so I'm like okay, I think I know where he's gonna tell me to meet, it's gonna take me about 10 minutes to get there, they tend to be impatient so if if start walking there, by the time i get there he's gonna write me to come, and i'll already be there so he won't have to wait for me, because surely even for him "a short while" can't be more than 45 minutes.
so i get there, wait for 5 minutes... 10 minutes...
so i write him again "approx how much longer? i'm waiting nearby".
and he's like "i didn't call you, i have no idea why you came here, who told you to"
so i tell him "okay, sorry, i'm gonna get myself not nearby and wait there, i thought by the time i get here you're gonna call me anyway, sorry"
nothing.
i wait for half an hour more.
then (two and half hours after he said he's gonna go out "in a short while" and he'll let me know. at the same time 5 hours after the time he said he's gonna be available from), i write him: "so will we actually manage to sort this out today?"
no answer. most likely for the rest of the day.
what the fuck is so difficult about conveying actual information in communication? what the fuck is so difficult about a single fuckin message "at this time, at this place", so i can just be there, he can intersect his route through there, and in a literal minute we're sorted out? instead of fuckin nothingmessages which waste me three hours and make me have to bother him to at least have a chance at getting an idea what the fuck is going on, and him being annoyed at me trying to cover for his fuckin inability to do it like any other sane dude, with one fuckin message in the fuckin form of "this time, this place", which would fuckin sort out the whole thing in two messages and 5 minutes net time invested into the whole thing by both sides, instead of fuckin 3 hours?
fuck.
i miss my old dude.4 -
Javascript makes me wanna blow my fucking brains out.
Why the fuck isn't appendChild working? It shouldn't be this fucking hard to get a simple result.
p = document.createElement("p");
p.textContent = String(new Date().getTime());
doc = document.getElementById("todoList")
doc.appendChild(p);
Done from within a listener function for another element, listening for onkeyup. Using bulma.
Jesus fucking christ and this is the profession I chose.
At this rate by the time I'm fucking competent I'll be replaced by wage slaves from india who started training at the age of ten because their government actually gives a shit about investing in their people instead of saddling new generations with trillions in bank debt so goldman fucking sachs can hire more underage prostitutes from epstein and mossad.23 -
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 -
I just got cancer. "full stack" wrote this:
var steams = [] ;
for (var key in images) {
streams[streams.length] = fs.createWriteStream(images.imageName);
streams[streams.length - 1].on('close', function (filename) {.....
why, Why Why and how did you come up with something this bad?
Dude creates an empty array to populate it with write streams just so he can pop each one two lines below and attach a listener.
It's the first thing I checked in this application and I'm afraid what else I'm gonna find.2 -
#justathought
I have realized that my sleepless self is smarter than my usual self . Its like , as my battery goes out, a fuckin monster takes control and tries to rule my brain, scolding my usual self , taunting over smartly and wanting to fuck the hell up everyone who tries to mess with me (nd even some normal friends too)
Whereas my usual self is just meek , defensive and never attacking, sweet listener, calm kind of person with whom people usually mess up or joke about for fun .
I like this aggressive me. Fuck you body health , we are living the life of a sleepless asshole2 -
I have configured on my local desktop a pi.hole and Stubby. They were working fine and happy together, but after a comment from @FrodoSwaggins about local DNS server, I trying to add Unbound as well.
So, on my configuration, pi.hole points to unbound, which points to Stubby. Everything local, each one with their own ip@port listener, but it does not work.
If I point Unbount to an external DNS (Quad9, for exemple), it works. If I point pi.hole to Stubby, it works. But the 3 of them does not work.
Does anyone has any idea what could be happening?
Thanks!6 -
After far too many hours dealing with unproperly behaving click listener and lost references, I just found out that the real problem was with poorly handled async DB access.
Frustrated but happy to find the problem source.
I believe everyone have the same from time to time. At least now I can share my feels with you.
But... time to move forward! -
I spent three days looking for an error that caused my app to not displaying the layout (the app still was running but it was a black screen). On the third day, i discovered that when I register a SensorEventListener I have to cast the listener to SensorEventListener, otherwise it wont load, or even show errors on the logcat.
-
I love when I compile. Then I’m missing one character in a listener function. Compile again. Oops one other character. Compile again. Well WAHT the fuck is it now? I once spent two hours looking for an error in my CSS and my diff program (beyond compare) didn’t show spacing changes in a line.1
-
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.... -
Im done wih you "switch"
I have a viewpager and have its on page change listener from it i change some ui stuff like reseting previous page icon and color the new one and set the page title .
Inside of the code i used "switch" to change the stuff depending on the position.
The color did changed but the title stucked at last switch case for every page so i spent hours to find why its doing that ...
The input was ok .
So i just said lets try "if" instead and it worked ._.
Defaq switch ?
Why to use something that has a big chance to fail and theres not much to debug there ?
Whats your comment about it .
Do you ever faced something similar ?2 -
Over the last week I've slowly grown to fucking hate IMAP and SMTP. You'd think after so many years we'd have come up with better servers to manage email but no we still rely on fucking decades old protocols that can't even batch requests.
To make things worse I need to attach to IMAP through node and that has been a nightmare. All the libraries suck ass and even the ones tailored towards Gmail don't work for Gmail because Google decided one day to fucking out the header at the bottom of some emails and split into mimeparts. Also why the fuck is fetching email asynchronous? There's no point at all since we requests are processed line by line in IMAP, and if the library actually supported sending asynchronous requests it wouldn't require a new object to be created for each request and allow only a single listener.
Also callbacks are antiquated for a while and it pisses me off that node hasn't updated their libraries i.e. TLS to support async/await. I've taken to "return await new Promise" where the resolve of the promise is passed as the callback, which let's me go from callback to promise to async/await. If anyone has any other ideas I'm all ears otherwise I might just rewrite their TLS library altogether...
And this is just IMAP. I wish browsers supported TLS sockets because I can already see a server struggling with several endpoints and users, it would be much easier to open a connection from the client since the relationship is essentially:
Client [N] --- [1] Server [1] --- [1] IMAP
And to make the legs of that N : N which would fix a lot of issues, I would have to open a new IMAP connection for every client, which is cool cause it could be serverless, but horrifying because that's so inefficient.
Honestly we need a new, unifying email protocol with modern paradigms...8 -
You know how can you be someone's special? One way is to be a good listener.
A good listener is a person who listens to you. But as a listener you should know when or weather to reply.
- sometimes the other person wants a supportive/ agreeing reply from you
- sometimes the other person wants a critical/honest reply from you
- sometimes the other person just wants you to listen and not reply anything
( well most of the times no one is explicitly thinking that i will tell him stuff and he will listen quietly or I'll shoot him. Sometimes its just the feeling that "this stuff is so bad . I wish i could tell it someone who won't pass any judgement")1 -
I was tasked with reviving this mobile app purchased off the shelf. Initially, I was impressed with what I was seeing while perusing the codebase. I'm used to editing laravel projects written by handpicked amateurs. So this felt like a breath of fresh air. Coupled with the fact that I'd recently enquired on this very platform whether anyone has chanced upon an impressive code. All is going well, until
I start finding the multi layers of abstraction and indirection cryptic and obfuscatory; and that is coming from an idealist like me who advocates for "clean" patterns such as event emission. I wonder whether it would have helped if the emission or events were typed for easy listener tracking, instead of a black hole like vm.notifyListeners() (DOESN'T EVEN HAVE AN EVENT NAME!)
With time, I become disgusted by the tons of custom elements with so many parents
My take on production level user of the view model pattern: amazing in theory
One of the architectural decisions made on this project that had me foaming in the mouth, pulling my hair and cursing out the author's generations, past, present and future: can you believe these guys are APPENDING IMAGE DOMAINS TO THE RESOURCE? Ie the domain names are tightly coupled to the images and dictated by the api, instead of the client
If this isn't bad enough, the field names of returned entities/models don't exist on the database, of course because the stupid laravel framework abets this sort of madness by combining eloquent "scopes, attributes, and appends". A trifecta of horrors.
I eventual scaled through the horrors, but not without losing my admiration for the team behind it. App has returned to the shelves, because my company lost patience with my resuscitating it. They have the regular api authentication in place, but that's not good enough. They just had to integrate firebase as well, just because. Meanwhile, this isn't documented anywhere. I stumbled into it during my scuffle with app setup, gradle ish. Eventually got banned by firebase for "sending unusual requests". My company's last straw -
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 haven't been able to access ChatGPT since Friday. I thought it might help to delete all cookies so I did, and managed to access their login page. However, when clicking on "Log in", nothing happens, which shouldn't come as a surprise as there is no event listener on the button element, nor on any of its ancestors or descendants (see attached screenshot).23
-
Hi guys. I could use a bit of help. I am receiving the lastLogout data from the DB, and if it's NULL, it means that I will start the tutorial because it's the first login. I am rendering with serverside, and I'm using handlebars. So the data is rendered nicely with
<div>
{{needTut}}
</div>
What is the best practice to watch for this piece of information from frontend javascript? Shall I simply create an event listener? It feels a bit dirty...3