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 - "what's broken?"
-
Fixing a parents iPhone, episode 1.
Problem: "Whatsapp is gone off my phone"
Debugging:
Me: *unlocks phone and sees whatsapp*, it's right here.
Mam: no, I no that I can't see my messages.
Me: ok, that is definitely not what "whatsapp is gone off my phone means".
*opens whatsapp*
*inside add contact screen*
App seems ok, your trying to add a contact?
Mam: that's a problem, whenever I open it I only see that page.
Me: *taps cancel button with shocked face*
Mam: omg there's my messages, how did you do that?
Me: ... ... ... I tapped the very easy to see, large cancel button in the top right hand corner.
Mam: but why was it opened there?
Me: *looks at opened message from unknown number*
If I was to hazard a guess, now stay with me on this one as it's a bit complex. I think ... I THINK ... you clicked the "add to contacts" button on the screen in front of you.
I am suspicious of one thing though.
Mam: what's that?
Me: how you managed to click the add contacts button, and when brought to the add contacts screen, you assume the app is broken.
Mam: oh will you **** off you sarcastic little ****. Thank you very much.
Me: no prob, 4 year computer science course put to great use.20 -
C: application not working
Me: k. What changed?
C: we didn't make changes
Me: k... *gets a tech team (W) on the phone*
W: Hey, what's broken?
Me: C's application. How do things look?
W: running healthy. I'll check logs.
Me: thanks. *gets tech team (S) on the line*
S: hey, everything clear on our end, will check logs.
Me: thanks *gets tech team (U)*
U: hey! They asked us to deploy their new version today during normal deployment time. Is it acting up?
Me: C, what did you change?
C: nothing major, just how we connect to W and S...
W&S: are you shitting me???
Me: U, will you please roll it back?
C: no! Must stay on this version, you need to fix your side!!
Me: nope. *calls U boss (UG)*
UG: U, you have my permission to roll back, they need to fix. C, if your boss doesn't like it, have them call me.
*rollback fixes problem*
IF I FUCKING ASK YOU WHAT THE FUCK YOU CHANGED, YOU BETTER TELL ME THE TRUTH, OR I WILL STRIP YOUR CODE OFF OUR FUCKING SYSTEMS AND SHOVE IT DOWN YOUR THROAT. MY JOB IS TO HELP YOU AND YOU NEED TO BACK TO FUCK UP AND NOT GET IN THE WAY OF MY JOB OR YOU WON'T HAVE ONE ANYMORE.11 -
I put a lot of work into trying to explain to you muggles what I do all day in a way you can understand (it's hard, trust me) and you still reject it as boring nerd crap. I'm sick of it! What if you told me working at that restaurant is "putting water on plates, wiping it off, and putting meat and cheese between slices of bread" and I said "wtf is that, and who cares?" Wouldn't that hurt your feelings, that I didn't even attempt to make a connection with you, friend? That I didn't even attempt to step outside my experience to meet yours? Isn't it equally insulting how far you have to dumb it down, just for me to lose interest entirely? And yes, I know that's not your specific task. That only proves my point further.
And why, exactly? Conceptually, you handle pre-digested poop all day.
_I teach plastic to think._ Sometimes it even thinks better than you do.
How is my job less interesting?
And what's more, why does EVERYONE seem to think so?
How do you expect people like me to keep your iPhones, bank accounts, and self-driving cars working if you alienate us like an alternate species for building those things? I mean really. You people treat us with a disinterest harmonious with homophobia. "Don't ask, don't tell." Except you do ask. And then you condescend as if working with my brain makes me less worthy of your attention than your exciting minimum-wage restaurant job.
Have fun with that, by the way.
Oh, and you're welcome for <object I fixed that wasn't really broken>. Maybe next time, just google it.
I know you won't.24 -
Le monday morning after a commit on sunday evening...
PM: BLAAAH!!!! Your commit broke the site, nothing is working!!!!!!
Me: What? All of tests passed (coverage 95%), no issues were found.
PM: NOO!!!! Site is broken, we can't use it no more!!!
Me: Ok, what's the problem?
PM: I've tried to enter -10021 into this field on that page and it gived me an error.
Me: Ok? So, that single page is broken?
PM: No, whole site!!!! This is important
Me: Sure... Let me take a look
* PM tried to enter a negative value into an unsigned field that I've mutated yesterday after checking LIVE database if there was no records with negative value. Reason: we've hit an int limit and there was no chance that the value would be negative. Validation? Well, yes.... Except that page was added by him this morning without even checking everything else *
Me: Here, this is the issue, *gives explanation*
PM: Well.... You shouldn't do this. This is unacceptable. You must never leave int fields without negative values. Didn't they teach you in school that integers can be negative?!
Me: What? *consufed as hell*
PM: *More morale... blah blah blah....* Revert it back!
Me: Ok but if anything else breaks, copy of this slack conversation will be kept.
PM: Don't care! Fix it!
Me: * Reverts the fix, saves chat copy * - Done.
PM: Great.
* 5 wild minutes later *
PM: BLAAAH!!!! Site is down, service is not working, what have you done?
Me: Reverted the change needed for it to work. Todays schedule is full with other important tasks. * pastes a screenshot as a proof that he asked me to do this *
PM: FIX IT NOW! Apply your fix.
Me: You're the PM. - Done.
PM: Great, now I'll fix my code. You should be more careful next time.
Me: * YOU DENSE MATHA...KER * Sure.
How's your morning going? :)9 -
"You mean to tell me that you deleted the class that holds all our labels and spin boxes together?" I said exasperatedly.
~Record scratch.mp3
~Freeze frame.mp4
"You're probably wondering how we got to this stage? Let's wind back a little, shall we?"
~reverseRecordSound.wav
A light tapping was heard at the entrance of my office.
"Oh hey [Boss] how are you doing?" I said politely
"Do you want to talk here, or do you want to talk in my office? I don't have anyone in my office right now, so..."
"Ok, we can go to your office," I said.
We walked momentarily, my eyes following the newly placed carpeting.
Some words were shared, but nothing that seemed mildly important. Just necessary things to say. Platitudes, I supposed you could call them.
We get to his office, it was wider now because of some missing furniture. I quickly grab a seat.
"So tell me what you've been working on," I said politely.
"I just finished up on our [project] that required proper saving and restoring."
"Great! How did you pull it off?" I asked excitedly.
He starts to explain to me what he did, and even opens up the UI to display the changes working correctly.
"That's pretty cool," admiring his work.
"But what's going on here? It looks like you deleted my class." I said, looking at his code.
"Oh, yeah, that. It looked like spaghetti code so I deleted it. It seemed really bulky and unnecessary for what we were doing."
"Wait, hold on," I said wildly surprised that he thought that a class with some simple setters and getters was spaghetti code.
"You mean to tell me that you deleted the class that organizes all our labels and spin boxes together?" I said exasperatedly.
"Yeah! I put everything in a list of lists."
"What, that's not efficient at all!" I exclaimed
"Well, I mean look at what you were doing here," he said, as he displays to me my old code.
"What's confusing about that?" I asked politely, but a little unnerved that he did something like this.
"Well I mean look at this," he said, now showing his "improved" code.
"We don't have that huge block of code (referring to my class) anymore filling up the file." He said almost a little too joyously.
"Ok, hold on," I said to him, waving my hand. "Go back to my code and I can show you how it is working. Here we are getting all the labels and spin boxes into their own objects." I said pointing a little further down in the code. "Down here we are returning the spin boxes we want to work with. Here and here, are setters so we can set maximum and minimum values for the spin box."
"Oh... I guess that's not that complicated. but still, that doesn't seem like really good bookkeeping." He said.
"Well, there are some people that would argue with you on that," I said, thinking about devRant.
He quickly switches back to his code and shows me what he did. "Look, here." He said pointing to his list of lists. "We have our spin boxes and labels all called and accounted for. And further down we can use a for loop to parse through them."
He then drags both our version of the code and shows the differences. I pause him for a moment
"Hold on, you mean you think this" I'm now pointing at my setters "is more spaghetti than this" I'm now pointing at his list of lists.
"I mean yeah, it makes more sense to me to do it this way for the sake of bookkeeping because I don't understand your Object Oriented Programming stuff."
...
After some time of going back and forth on this, he finally said to me.
"It doesn't matter, this is my project."
Honestly, I was a little heart broken, because it may be his project but part of me is still in there. Part of my effort in making it the best it can be is in there.
I'm sorry, but it's just as much my project as it is yours.16 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
I have been a mobile developer working with Android for about 6 years now. In that time, I have endured countless annoyances in the Android development space. I will endure them no more.
My complaints are:
1. Ridiculous build times. In what universe is it acceptable for us to wait 30 seconds for a build to complete. Yes, I've done all the optimisations mentioned on this page and then some. Don't even mention hot reload as it doesn't work fast enough or just does not work at all. Also, buying better hardware should not be a requirement to build a simple Android app, Xcode builds in 2 seconds with a 8GB Macbook Air. A Macbook Air!
2. IDE. Android Studio is a memory hog even if you throw 32GB of RAM at it. The visual editors are janky as hell. If you use Eclipse, you may as well just chop off your fingers right now because you will have no use for them after you try and build an app from afresh. I mean, just look at some of the posts in this subreddit where the common response is to invalidate caches and restart. That should only be used as a last resort, but it's thrown about like as if it solves everything. Truth be told, it's Gradle's fault. Gradle is so annoying I've dedicated the next point to it.
3. Gradle. I am convinced that Gradle causes 50% of an Android developer's pain. From the build times to the integration into various IDEs to its insane package management system. Why do I need to manually exclude dependencies from other dependencies, the build tool should just handle it for me. C'mon it's 2019. Gradle is so bad that it requires approx 54GB of RAM to work out that I have removed a dependency from the list of dependencies. Also I cannot work out what properties I need to put in what block.
4. API. Android API is over-bloated and hellish. How do I schedule a recurring notification? Oh use an AlarmManager. Yes you heard right, an AlarmManager... Not a NotificationManager because that would be too easy. Also has anyone ever tried running a long running task? Or done an asynchronous task? Or dealt with closing/opening a keyboard? Or handling clicks from a RecyclerView? Yes, I know Android Jetpack aims to solve these issues but over the years I have become so jaded by things that have meant to solve other broken things, that there isn't much hope for Jetpack in my mind 😤
5. API 2. A non-insignificant number of Android users are still on Jelly Bean or KitKat! That means we, as developers, have to support some of your shitty API decisions (Fragments, Activities, ListView) from all the way back then!
6. Not reactive enough. Android has support for Databinding recently but this kind of stuff should have been introduced from the very start. Look at React or Flutter as to how easy it is to make shit happen without any effort.
7. Layouts. What the actual hell is going on here. MDPI, XHDPI, XXHDPI, mipmap, drawable. Fuck it, just chuck it all in the drawable folder. Seriously, Android should handle this for me. If I am designing for a larger screen then it should be responsive. I don't want to deal with 50 different layouts spread over 6 different folders.
8. Permission system. Why was this not included from the very start? Rogue apps have abused this and abused your user's privacy and security. Yet you ban us and not them from the Play Store. What's going on? We need answers.
9. In Android, building an app took me 3 months and I had a lot of work left to do but I got so sick of Android dev I dropped it in favour of Flutter. I built the same app in Flutter and it took me around a month and I completed it all.
10. XML.
If you're a new dev, for the love of all that is good in this world, do NOT get into Android development. Start with Flutter or even iOS. On Flutter and build times are insanely fast and the hot reload is under 500ms constantly. It's a breath of fresh air and will save you a lot of headaches AND it builds for iOS flawlessly.
To the people who build Android, advocate it and work on it, sorry to swear, but fuck you! You have created a mess that we have to work with on a day-to-day basis only for us to get banned from the app store! You have sold us a lie that Android development is amazing with all the sweet treat names and conferences that look bubbly and fun. You have allowed to get it so bad that we can't target an API higher than 18 because some Android users are still using devices that support that!
End this misery. End our pain. End our suffering. Throw this abomination away like you do with some of your other projects and migrate your efforts over to Flutter. Please!
#NoToGoogleIO #AndroidSummitBoycott #FlutterDev #ReactNative16 -
Me: Can you go to that page and see if the issue is fixed?
Colleague: if I go there it breaks things
Me: yes, it should be fixed now, can you please check it to make sure?
Colleague: but if I go there it will break things
Me: Can you just go to the page
Colleague: it broke something
Me: what did it break?
Colleague: I don't know
Me: ...then how do you know it's broken
Colleague: because the gallery doesn't work
Me: WELL THEN THATS WHAT'S FUCKING BROKEN THEN ISN'T IT14 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
Friend of mine killed his MacBook with some Softdrink.
Just poured it all over his poor a1502.
He let it dry for a few days, it starts to work again.
Except the battery.
Goes on Amazon and buys a new battery.
New battery doesn't work either and so he tells me about it and I as stupid as I am couldn't resist the temptation to finally work on a MacBook like my "hero" Lois Rossmann does.
So turns out the board is good.
Cleaned it up and basically nothing happened to it.
So what's the deal with "los batlerias"?
The first got hit by liquid, the second had a broken connection to a cell.
That could have happened through my friend, installing it without testing it first, or at the seller, so it being a DOA battery.
Now away from the stupidity of my friend and the situation to the actual source for this rant.
Once something happens to a modern Managed battery, the Battery Management System (BMS) disconnects the voltage from the system and goes into an error state, staying there and not powering anything ever again.
For noobs, it's dead. Buy a new one.
But It can be reset, depending you know how to, and which passwords were set at the factory.
Yes, the common Texas instruments BQ20Zxx chips have default passwords, and apple seems to leav them at default.
The Usb to SMBus adaptors arrived a few days ago and I went to prod the BMS.
There is a very nice available for Windows called BE2works, that I used the demo of to go in and figure out stuff. The full version supports password cracking, the demo not.
After some time figuring out how Smart Battery Systems (SBS) "API" works, I got to actually enter the passwords into the battery to try get into manufacturer and full access mode.
Just to realise, they don't unlock the BMS.
So, to conclude, my friend bought a "new" battery that was most likely cut out of a used / dead macbook, which reports 3000mah as fully charged instead of the 6xxx mah that it should have, with 0 cycles and 0hours used.
And non default access.
This screams after those motherfuckers scaming the shit out of people on Amazon, with refurb, reset, and locked fucken batteries.
I could kill those people right now.
Last but not least,
My friend theoretically can't send it back because I opened the battery to fix the broken connection.
Though maybe, it'll get send back anyway, with some suprise in the package.9 -
One:
Had a stack of harddrives with my important data, two USB drives and a 4.7gb disc, two or three cloud storage accounts.
Needed a restore:
Knocked the stack of hard drives onto the floor (all broken), stood on one of the flash drives, found the other one in a pocket of a pair of trousers which just came out of the washing machine, dvd too scratched to read and couldn't verify my cloud storage account because I lost the password to the connected email account and the backup email account to verify that one didn't exist anymore. Fucking hell.
Two:
Production database with not that much yet but at least some production data which wasn't backupped.
Friend: can I reboot the db machine?
Me: yup!
Friend: what's the luks crypt password?
Me: 😯😐😓😫😲😧😭
End of story 😅
For the record, the first one actually happened (I literally cried afterwards) and that taught me to update my recovery email addresses more often!9 -
Hey. This code look broken. What should I do?
It isn't broken. It's doing what it's supposed to.
Well, it's hard to follow, but it certainly doesn't look right. And it isn't doing what I expect. Also, why is it calling method(a_class1_or_class2) with a class3?
It isn't hard to follow, and it works just fine. Let me show you. ... huh. looks like it isn't right. and there's a comment here saying the calls aren't clear. but it works just fine. Just copy it over and do it the same way.
I already did that. and it isn't working.
What are you talking about? Of course it works fine. Did you check your code?
------
Really, dude? It doesn't work fine. but, guess what? It works fine* when I change it to call that method with a class2 like it asks for. (Surprise!) But I can't tell him that. Nope. Bossmang get offended. Still won't admit I was right about anything, either.
Ahh... the continual joy of working with (and for) trash.
* well, more fine; the rest of the feature is still wrong. but nope, i'm not allowed to fix it. because why would they want anything to work properly? Already-accepted wrong behavior is good enough. Can't clean up the code, either, because that "muddies the waters." Bitch, I couldn't see the bottom of this sewer if it was half an inch deep! Which is more important: the last contributor entry beside the code, or that code being readable and maintainable? or it, you know, working?
doot doot.
need to scoot.8 -
I have been gone a while. Sorry. Workplace no longer allows phones on the lab and I work exclusively in the lab. Anyway here is a thing that pissed me off:
Systems Engineer (SE) 1 : 😐 So we have this file from the customer.
Me: 😑 Neat.
SE1: 😐 It passes on our system.
Me: 😑 *see prior*
Inner Me (IM): 🙄 is it taught in systems engineer school to talk one sentence at a time? It sounds exhausting.
SE1: but when we test it on your system, it fails. And we share the same algorithms.
Me: 😮 neat.
IM: 😮neat, 😥 wait what the fuck?
Me: 😎 I will totally look into that . . .
IM: 😨 . . . Thing that is absolutely not supposed to happen.
*Le me tracking down the thing and fixing it. Total work time 30 hours*
Me: 😃 So I found the problem and fixed it. All that needs to happen is for review board to approve the issue ticket.
SE1: 😀 cool. What was the problem?
Me: 😌 simple. See, if the user kicked off a rerun of the algorithm, we took your inputs, processed them, and put them in the algorithm. However, we erroneously subtracted 1 twice, where you only subtract 1 once.
SE1: 🙂 makes sense to me, since an erroneous minus 1 only effects 0.0001% of cases.
*le into review board*
Me: 😐 . . . so in conclusion this only happens in 0.0001% of cases. It has never affected a field test and if this user had followed the user training this would never have been revealed.
SE2: 🤨 So you're saying this has been in the software for how long?
Me: 😐 6 years. Literally the lifespan of this product.
SE2: 🤨 How do you know it's not fielded?
Me: 😐 It is fielded.
SE2: 🤨 how do you know that this problem hasn't been seen in the field?
Me: 😐 it hasn't been seen in 6 years?
IM: 😡 see literally all of the goddamn words I have said this entire fucking meeting!!!
SE2: 😐 I would like to see an analysis of this to see if it is getting sent to the final files.
Me: 🙄 it is if they rerun the algorithm from our product. It's a total rerun, output included. It's just never been a problem til this one super edge case that should have been thrown out anyway.
SE2: 🤨 I would still like to have SE3 run an analysis.
Me: 🙄 k.
IM: 😡 FUUUUUUUUUCK YOOOOOU
*SE3 run analysis*
SE3: 😐 getting the same results that Me is seeing.
Me: 😒 see? I do my due diligence.
SE2: 😐 Can you run that analysis on this file again that is somehow different, plus these 5 unrelated files?
SE3: 😎 sure. What's your program's account so I can bill it?
IM: 😍 did you ever knooooow that your my heeeerooooooo.
*SE3 runs analysis*
SE3: 😐 only the case that was broken is breaking.
SE2: 😐 Good.
IM: 🤬🤬🤬🤐 . . . 🤯WHY!?!?
Me: 😠 Why?
SE2: 😑 Because it confirms my thoughts. Me, I am inviting you to this algorithm meeting we have.
Me/IM: 😑/😡 what . . . the fuck?
*in algorithm meeting*
Me: 😑 *recaps all of the above* we subtract 1 one too many times from a number that spans from 10000 to -10000.
Software people/my boss/SE1/SE3: 🤔 makes sense.
SE2:🤨 I have slides that have an analysis of what Me just said. They will only take an hour to get through.
Me: 😑 that's cool but you need to give me your program's account number, because this has been fixed in our baseline for a week and at this point you're the only program that still cares. Actually I need the account to charge for the last couple times you interrupted me for some bullshit.
*we are let go.*
And this is how I spent 40+ useless hours against a program that is currently overrunning for no reason 🤣🤣🤣
Moral: never involve math guys in arithmetic situations. And if you ever feel like you're wasting your time, at least waste someone else's money.10 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*6 -
What's the point of using a framework if you don't use any of its features!? What the heck, I have to fix this damn web frontend that is so broken in many ways.
Instead of using an authentication middleware, every single view has the same block of code to check if a user is authenticated. Instead of templates, they used static HTML/JavaScript files and they passed data to pages through cookies.
The "REST" API is so messed up, nothing is resource-oriented, HTTP methods are chosen randomly as well as status codes. They are returning "412 Precondition Failed" instead of a plain simple "401 Unauthorized" when you're not authenticated! What the hell, did they even bother to check what 412 is about when they copied and pasted it from a crappy website!? I would never come up with 412, not even in my scariest nightmare.
What kind of drugs were they using when they wrote such code? Oh dear, I need a vacation...2 -
Found my missing flash drive... at the bottom of my broken washing machine... *sigh*
So I've got a broken Windows installation, destroyed flash drive and a washing machine that decided to explode and trip all circuit breakers in the building... what's next?21 -
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 -
I tried writing this rant before, but I was (and still am) in too good of a mood so it was lengthy, meandering, and over-specific. so I'll summarize(ish).
summary:
* miscommunication
* working weekends
* incompetence and/or screwy integrations
summary of the summary:
* I can't fix someone else's mess if you don't talk to me!
Summary^3: #TODO: learn telepathy
Shortened rant:
Bossman at work signed up a very lucrative client by promising them something he couldn't deliver because he misunderstood and miscommunicated scope -- anti-fraud, if you've been following my rants.
Their signup (all four...) are screwy and cause issues and nobody knows why. I didn't write the code, have barely even glanced through it, and it uses a third-party (Clover) that's rather screwy.
Bossman has been asking me to do various things concerning the merchant, but has never been around to provide specifics, so I'm left to guess. I've done my best, but due to the aforementioned screwiness, I really have no idea what's going on. I just sort of muddled my way through.
Bossman also asked me, super late on Friday night (after 8:30pm), to rename one of the merchants because there are two with the same name (with different Clover creds, etc.) and that's just confusing. I didn't see the message because late and tired, and he didn't follow up or text/call me until two days later (today, Sunday). I also thought these were strictly for diagnosing and were de-listed. I had no idea the merchant was live and people were actually purchasing things for it. Had I known this I would have freaked out and demanded specifics on Thursday/Friday because wtf? debugging in production? with broken merchants? selling things for real money? scary bad? hello?
Anyway, I didn't see his message until he texted me about it at like 5pm today while I was about 2 hours from my computer. He's understandably frustrated, and I totally don't blame him, but fuck, miscommunication is a serious problem in this company, and that's amazing because it's so freaking small.
But the short version is that I'm likely going to get blamed for all this, Clover screwiness included. Bossman and I set up a call for 10am tomorrow and I'm positive he's going to try pinning it on me. Totally not going to let him, but his social is lv16+ while mine's like. 2 or 3. 😕 I'll see how it goes.
Really though, I should read @rutee07's book and just roast these fuckers.rant weekend work debugging in production miscommunication no call no text still my fault hope you see this it's urgent clover strip club3 -
This morning there was this window cleaner again, that actually made me remember a rant from the old box - my previous account. Repost of that coming in an hour or so :3
Turns out that he came in the morning, and I completely forgot about it. The only appointment that I had today got canceled so I was like, eh fuck it. There's been this family event yesterday that made me so fucking tired... I'll just stay in bed for a little while longer.
Apparently that window cleaner ringed my bell multiple times, haven't heard him do it but anyway.. he and the cleaning lady had the genius idea to ask my landlord whether they can just barge in my home. Way to start the day, isn't it? I thought there were burglars.
In my bathrobe and visibly pissed off (I am NOT a morning person!), I let him do the window cleaning and waited for them to get the fuck out already. Then that cleaning lady, the fucking bitch that called my landlord to break into my home without MY prior permission!!! While the window cleaner was doing his work, she proceeds to ask me this.
Cleaning lady: "I had this technical issue earlier, and since you are good with phones I thought I'd ask you."
Me (thinking): oh, here it comes.. *rolling eyes*
M: "What's the issue?"
CL: "Well my stepson has an iPhone, which he broke and we brought it to a smartphone repair shop. They repaired it twice but an hour after receipt of the fixed phone, it breaks again."
M (t): You went wrong at iPhone, and you went wrong at visiting that incompetent mofo "teknishan" twice.
M: "Well I have no experience whatsoever with iPhones, but continue."
CL: "Well, he replaced the motherboard, and some pin at the bottom.."
M (t): The fucking motherboard of all things. The whole fucking motherboard?! The last thing that I'd look at, he just replaces like that?! Fucking piece of shit. That's even worse than Apple stores. And what's up with that goddamn pin? CAN'T YOU POSSIBLY BE A BIT MORE SPECIFIC?!
M: "Given only this information, I have no idea what's wrong with it."
CL: "But you are good with these things, aren't you?!"
M: "I disassemble my own broken phones, and dick around with their motherboards. That, while I'm fully aware that in the process I can break it beyond repair. That does not make me an expert on every phone out there."
CL: …
Well what did you even expect, fucking bitch. You barge into my home, don't even have the dignity to leave for me to be able to shower and dress myself, and then you go ask shit like that? Go suck my fucking cock, and shove that iPaperweight down your ass!! How about that?!9 -
Recently started at a new job. Things were going fine, getting along with everyone, everything seems good and running smoothly, a few odd things here and there but for the most part fine.
Then I decided to take a look at our (public facing) website... What's this? Outdated plugins from 2013? Okay, that's an easy fix I guess? All of these are free and the way we're using them wouldn't require a lot of refactoring...
Apparently not. Apparently, we can't even update them ourselves, we have to request that an external company does it (which we pay, by the way, SHITELOADS of money to). A week goes past, and we finally get a response.
No, we won't update it, you'll have to pay for it. Doesn't matter that there's a CVE list a bloody mile long and straight up no input validation in several areas, doesn't matter that tens of thousands of users are at risk, pay us or it stays broken. Boggles the fuckin' mind.
I dug into it a bit more than I probably should have (didn't break no laws though I'm not a complete dumbass, I just work for em) and it turns out it's not just us getting fucked over, it's literally EVERYONE using their service which is the vast majority of people within the industry in my country. It also turns out that the entirety of our region is running off a single bloody IP which if you do a quick search on shodan for, you guessed it, also has a CVE list pop up a fuckin' mile long. Don't get me started on password security (there is none). I hate this, there's fucking nothing I can do and everyone else is just fine sitting on their hands because "nobody would target us because we're not a bank!!", as if it bloody matters and as if peoples names, addresses, phone numbers and assuming someone got into our actual database, which wouldn't be a fuckin' stretch of the imagination let me tell you, far more personal details, that these aren't enticing to anyone.
What would you do in my situation?
What can I even do?
I don't want to piss anyone senior off but honestly, I'm thinkin' they might deserve it. I mean yeah there's nothing we can do but at least make a fuss 'cause they ain't gunna listen to my green ass.10 -
First year at university, prepared to set up multiple electronics.
rPi, arduino Ethernet shield, laptop, and desktop.
Brand new netgear switch to satisfy my internet surfing needs....
After setting up my devices, I realized none of them have internet. Hm. The feed port on my switch wasn't blinking either. So I tell the front desk, and a short 7 days later the port is back on. Yay, problem solved.
One morning I arise to see the port dark and inactive. Furious I use my laptop to share an internet connection while my actual port is "broken".
Support ticket is reopened and this time I get an email saying the port was disabled due to a security issue.
Me: what's the issue?
IT: there was more than two devices connected to the port
(OnLy TwO dEvIcEs PeR port???)
Me: oh okay I will only connect two.
The next day the port is disabled, again.
Me: can you tell me why it was disabled?
IT: a switch was detected being used, security error.
Me: how do I connect more than one device to the port without a switch???
IT: ...
IT: Please only connect one device.
🤔10 -
How many times, like a broken record, do I have to tell the managment team that the "what's new" text is 500 characters max for the google play store? How many times? Surely it's more than 5 times, since I've already told them 5 times! I'll report back in when it's 10 times, although by then I may have bashed my head against the wall so many times that I'll be dead, and finally freed from these clowns.6
-
Not sure of devRant is broken, or there's really been no rants for an hour 🤔
So what's everyone up to?10 -
Making electronics more difficult to repair with security fasteners and ultrasonically welded plastic nightmares and what have you.. what's the point? The argument from manufacturers is that "users don't want to get in there anyway". But, it's not like even if they could, they'd want to, right? Which type of person that doesn't know electronics very well and has an interest in repairing it would go and look at a board, and say "this is how it works, this and that is broken and this is how it should be repaired"? Not many users can repair their own devices regardless. So why? To preserve IP? Not like the Chinese bootleggers care about that. To preserve sales? Users can't repair their stuff anyway. To keep those who want to peek inside out, just for the hell of it? Anyone determined enough will be willing to break it in the process anyway.6
-
Spent a lot of time designing a proper HTTP (dare I even say RESTful) API for our - what is until now a closed system, using a little-known/badly-supported message-over-websocket protocol to do RPC-style communications - supposedly enterprise-grade product.
I make the API spec go through several rounds of review with the rest of the dev team and customers/partners alike. After a few iterations, everybody agrees that the spec will meet the necessary requirements.
I start implementing according to spec. Because this is the first time we're actually building proper HTTP handling into the product, but we of course have to make it work at least somewhat with the RPC-style codebase, it's mostly foundational work. But still, I manage to get some initial endpoints fully implemented and working as per the spec we agreed. The first PR is created, reviews are positive, the direction is clear and what's there already works.
At this point in time, I leave on my honeymoon for two weeks. Naturally, I assume that the remaining endpoints will be completed following the outlines/example of the endpoints which I built. When I come back, the team mentions that the implementation is completed and I believe all is well.
The feature is deployed selectively to some alpha customers to start validation testing before the big rollout. It's been like that for a good month, until a few days ago when I get a question related to a PoC integration which they can't seem to get to work.
I start investigating and notice that the API hasn't been implemented according to the previously agreed upon spec at all. Not only did the team manage to implement the missing functionality in strange and some even broken ways, they also managed to refactor my previously working endpoints into being non-compliant.
Now, I'm a flexible guy. It's not because something isn't done exactly as I've imagined it that it's automatically bad. However, I know from experience that designing a good/clear/future-proof API is a tricky exercise. I've put a lot of time and effort into deliberate design decisions that made up the spec that we all reviewed repeatedly and agreed upon. The current implementation might also be fine, but I now have to go over each endpoint again and reason about whether the implementation still fulfills the requirements (both soft and hard) that we set out to meet.
I'm met with resistance, pushback and disbelief from product management and dev co-workers alike when I raise the concern that the API might actually not be production-ready (while I'm frantically rewriting my integration tests and figuring out how the actual implementation works in comparison to what was spec'ed).
Oh, and did I mention that product management wants to release this by end-of-week?!7 -
This just happened....
Tester: My cluster is not working properly!!!
Me: What's wrong?
Tester: I don't know. I've checked all the logs available on the entire cluster. All i know is that node 1 and 7 is broken.
*ssh into the cluster*
node1
# less /var/log/<affected application log>.log
*no errors here everything is working properly*
node7
# less /var/log/<affected application log>.log
*goes down to the bottom and scrolls up a few lines*
<insert massive error here>
Checked all the logs eh?3 -
We are tasked with creating a site for a tv channel with livestream and stuff. Nobody has relevant experience so we have to research what's on other channels' sites. So far the industry standard seems to be broken bootstrap, inconsistent style and 2008 design.
-
I'm so fucking sick of pouring hours of work into providing application code for someone who could give two shits about what I've done -- instead he completely fixates on what's missing or broken -- nevermind that I completely eliminated a bad UI thread bottleneck.
Sometimes I swear that coding is a thankless job and people just expect miracles.1 -
Adding "my house manager is a bitch" to the pile of ongoing issues.
My studio is right in front of the courtyard. Which means students partying and I don't get any sleep. So this morning I asked her if I could swap places with another student. She is a broken record. "It's not allowed" is all I hear from her every time regardless of whatever I ask. And as she says, there are new rules and I am not allowed to get a new contract within the same fuckin building. Her own daughter lives in the quiet area, so like, what's with the double standard?
She's lying and I know that. I asked her to put me in touch with her bosses or "owners" as she calls them, and guess what she said; "it's not allowed" 🙄
Anyways, I don't wish her well. I'll eventually find a way out of this expensive silverfish-infested building.11 -
I like developing on windows. Like many people here I got into development at home starting as a hobby when I was in school so there were things I still did on my computer that Linux wasn't really appropriate for.
I've made the jump to Linux in the past but found that it was awkward and annoying when I needed to do something on my windows. And I hate doing Dev out of a VM. So I've just got used to using windows at home.
And honestly, I don't know what's happening to everyone who keeps getting broken Windows updates. I think I've had 2 in living memory.
It's in no way perfect but what is? I don't use Windows servers, just for when I'm at home. -
At the institute I did my PhD everyone had to take some role apart from research to keep the infrastructure running. My part was admin for the Linux workstations and supporting the admin of the calculation cluster we had (about 11 machines with 8 cores each... hot shit at the time).
At some point the university had some euros of budget left that had to be spent so the institute decided to buy a shiny new NAS system for the cluster.
I wasn't really involved with the stuff, I was just the replacement admin so everything was handled by the main admin.
A few months on and the cluster starts behaving ... weird. Huge CPU loads, lots of network traffic. No one really knows what's going on. At some point I discover a process on one of the compute nodes that apparently receives commands from an IRC server in the UK... OK code red, we've been hacked.
First thing we needed to find out was how they had broken in, so we looked at the logs of the compute nodes. There was nothing obvious, but the fact that each compute node had its own public IP address and was reachable from all over the world certainly didn't help.
A few hours of poking around not really knowing what I'm looking for, I resort to a TCPDUMP to find whether there is any actor on the network that I might have overlooked. And indeed I found an IP adress that I couldn't match with any of the machines.
Long story short: It was the new NAS box. Our main admin didn't care about the new box, because it was set up by an external company. The guy from the external company didn't care, because he thought he was working on a compute cluster that is sealed off behind some uber-restrictive firewall.
So our shiny new NAS system, filled to the brink with confidential research data, (and also as it turns out a lot of login credentials) was sitting there with its quaint little default config and a DHCP-assigned public IP adress, waiting for the next best rookie hacker to try U:admin/P:admin to take it over.
Looking back this could have gotten a lot worse and we were extremely lucky that these guys either didn't know what they had there or didn't care. -
"I don't see the point of writing tests on this project. It's just a waste of time. "
3 months later:
"I don't know what's broken and every time I change something I don't know what it could possibly break?"
FFS.1 -
I love python, but I hate dealing with python dependencies, especially on Windows.
I was tinkering and researching with neural networks, so I wanted to try out pybrain. I wrote my project, with pybrain installed via pip, and tried to build it.
Oh, what's that? Pybrain doesn't work with python 3? Well I'll download the version that's supposed to. Oh, that version has a deprecated numpy api? Let me just install those other resources. Oh, that requires a broken module that has no publicly available source?
Let's try python 2. Oh, now that's working, I just need to export environment variables for some "bls source". Some quick Google searching and the only solution that would work is building a bunch of cywgin modules by hand. That's fine, I have an ubuntu partition.
An hour later I'm compiling FORTRAN dependencies on Ubuntu.
Coding time: 1 hour
Dependency time: 3 hours6 -
I have this friend of mine, he was a former course mate and we can call him J.
J called a week ago saying he wanted to come stay with me for a few days and I said no problem buddy come home I'm always around.
When he came around he sounded quite different than the J I used to know. The first thing he said when I opened the door for him was "Do you know God?" and I was like "Hunh... Is that the latest javascript framework?". With my reply I was expecting laughter as a response but seems like buddy is serious.
J: Are you ashamed of him?
Me: What's up man? Jesus ain't coming anytime soon *still joking*.
J: Yes, he is. And we...
Me: Okay. Cut the crap man.
That night was quite long as we argued religious stuff front, back and center. I asked him why he became so religious but his response wasn't really clear. What I could sense from the discussion was "he's in it for the money" because while we were arguing he mentioned that God spoke to him that he would own a Mercedes Benz this year, so for that he created a WhatsApp group luring people to join to receive gospel messages and in turn ask them to sow seeds and make offerings all in the name of God. I was both pissed and perplexed by such an act of selfishness. Why don't you just get a real job, I asked J, and he said the jobs he could find doesn't match his taste :/
The religious argument continued to day 3 and I wasn't feeling it because it has affected my work as I couldn't even concentrate on most task that was supposed to be completed that week. I called him the next day and told him he shouldn't come to my place if he won't boycott the religious arguments we normally have at night because those are my working hours and the arguments wasn't helping matters. I ended the call when I got no response.
Throughout the rest of that day I felt guilt for what I had said to him, maybe there would have been a better way of putting out my reasons to him or atleast allow him arrive home before telling him what I just told him. I felt really bad that night, so the next day I tried to reach so he could come around when he's available but his line wasn't going through.
Few hours later I got a call from another friend we can call E.
--- E: Hey, have you seen J lately.
Me: Yes, he has been with me for few days now.
--- E: Is he there now.
-- Me: No he's not.
--- E: I need to let you know what's up. J isn't feeling okay. He has been with me for quite a while but recently this year he started acting strange. I think he has some mental issues.
-- Me: Mental what?
--- E: Yes. One time he pulled of his shirt running towards the street. I asked him where he was going and he said "they're calling me... they're calling me".
-- Me: That must be serious, I never paid attention I just noticed he was acting too religious.
--- E: Yes man. It took some time before I myself realised what was going on.
--- Me: So what do we do?
--- E: I've spoken to his brother and we also informed the police he was missing, I never knew he was with you.
--- Me: I'll try reaching out if I find him I'll get in touch.
--- E: Okay.
Hanging up the phone, I have never felt so broken in my entire life. All through those time I was arguing with someone in need of help.
How could I not have known. I'm stupid... I'm stupid... I'm stupid! I kept stumping my palm on my head. Shame unto me.
There were moments in our arguments with signs of clear red flags, some things he said wasn't just right but I ignored just to win the arguments. At one point he claimed he was God, at another point he said he doesn't need to work to become rich that money will visit him, he said some really bizarre things if I was observant enough I would have noticed but fuck me I didn't.
Next day, I got a call that he has been found and has been taken to a psychiatric hospital. He was suffering from bipolar disorder. When I got there, he no longer recognises me. This was the same person we both argued few nights ago.
This short experience was devastating for me. I cried like a baby right there in room filled with his family and some other friends.
No one knew why I was crying, it was just me and my guilty conscience. This would have been prevented atleast a little if I had acted differently. I can't hug him now... It's of no use. I can't tell him how great a friend he is and and how much he deserves the world now because it would be useless.
I pray day and night that he gets well soon and I could tell him how sorry I am for not realising he had a condition unknown to me.
I get to visit him twice a week and hope he gets back to the J I've always known, my buddy for life 💑
For anyone reading this:
Sometimes the people around you might look okay from the outside but I promise you there is a lot going in on the inside. Show love to whoever call you their friend and also don't take arguments personally (I failed this test), some people uses arguments to validate theirselves and some might not be as sane as you think.
#ListenMoreSayLess11 -
Funny thing the brain is.
TL;DR; being in the zone is nice. But there is another level of it and, fuck it, I'm loving it!!!
level 0: phased-out, relaxed state. Not focused on anything in particular. Just going with the flow
level 1: aware of the situation and of what's going on, not engaging too much
level 2: alert, ready to react. Constant concentration
level 3: THE ZONE. Time continuum is broken by concentration on the task in front of you - while working on it, time passes faster by magnitudes than when you're in any lower level. Surroundings and periphery do not exist. On;y the task currently in hand exists. Restroom breaks can wait.
level 4: body works on the task by itself. Any cognitive engagement with any of it will only make matters worse. The body knows it better, just let it do the work - let your consciousness sit back and relax, think about something nice. It's a sort of biological version of DMA (direct memory access), bypassing the CPU.
I've only reached level 4 several times, briefly and only while playing BeatSaber. The boxes are flying at me and hands just hit 'em the right way by themselves. Only after the hit, do I realise what my hands did and how cool it actually is. If I try to intentionally look at the boxed and aim for them, I mess it all up. And it's not like muscle memory - level 4 copes with any non-Camellia Expert level, regardless of whether have I played it in the past many times or just a few, several months ago.
I love that feeling!6 -
php's type hints are completely broken.
Why is strict mode not the default? Why does it completely break down for arrays? (You have to abuse phpdocs to get any meaningful hints but you still lose any runtime checks.) What's with union types? (I know, php8 now has them but what took you so long.)2 -
I've had a Xiaomi Mi 8 for a few months now. Although I'm impressed by what I got for the amount I paid (a phone that cost about $250 for 6GB RAM, Snapdragon 845, Android 9 and premium build quality is quite a steal), it definitely comes with a consequence.
MIUI (specifically MIUI 11) is godawful. It is single-handedly the worst Android ROM I've ever used since my shitty Android 2.2 phone back around 2010. If you're gonna buy a Xiaomi phone, plan to install Lineage OS on it (but even that's a pain which I'll explain why later).
- Navigation buttons don't hide while watching a video.
Why? God only knows. The ONLY way to bypass without root this is to use its garbage fullscreen mode with gestures, which is annoying as all hell.
- 2 app info pages?
Yeah, the first one you can access just by going to its disaster of a settings app, apps, manage apps and tap on any one.
The 2nd one you can access through the app info button in any 3rd party launcher. Try this: Download Nova launcher, go to the app drawer, hold on any app and tap "app info", and you'll see the 2nd one.
Basically, instead of modifying Android's FOSS source code, they made a shitty overlay. These people are really ahead of their time.
- Can only set lock screen wallpapers using the stock Gallery app
It's not that big an issue, until it is, when whatever wallpaper app you're using only allows you to set the wallpaper and not download them. I think this is both a fuckup on Xiaomi and (insert wallpaper app name here), but why Xiaomi can't include this basic essential feature that every other Android ROM ever made has is beyond me.
- Theming on MIUI 11 is broken
Why do they even bother having a section to customize the boot animation and status bar when there's not one goddamn theme that supports it? At this point you're only changing the wallpaper and icon pack which you can do on any Android phone ever. Why even bother?
They really, REALLY want to be Apple.
Just look at their phones. They're well designed and got good specs, but they don't even care anymore about being original. The notch and lack of a headphone jack aren't features, they're tremendous fuckups by the dead rotting horse known as Apple that died when Steve Jobs did.
Xiaomi tries to build a walled garden around an inherently customizable OS, and the end result is a warzone of an Android ROM that begs for mercy from its creator. Launchers integrate horribly (Does any power user actually use anything that isn't Nova or Microsoft launcher?), 3rd party themes and customization apps need workarounds, some apps don't work at all. People buy from Xiaomi to get a high end budget Android phone at the price of some ads and data collection, not a shitter iOS wannabe.
They really, REALLY want you to have a sim card
If you don't have a sim card and you're using your phone for dev stuff, you're a 2nd class citizen to Xiaomi. Without one, you can't:
- Install adb through adb
- Write to secure settings
- Unlock your bootloader and get away from this trash Android ROM
What's the point? Are they gonna shadow ban you? Does anyone contact them to unlock their bootloader saying "yeah I wanna use a custom rom to pirate lizard porn and buy drugs"? They made this 1000000000x harder than it needs to be for no reason whatsoever. Oh yeah and you gotta wait like a week or something for them to unlock it. How they fucked up this bad is beyond me.
So yeah. Xiaomi. Great phones, atrocious OS.11 -
Three days ago my focus was shifted from a development role to a support role. I was shifted to replace another support guy who had used fraud to get the position. I have no experience with this role but there was decent KT and I'm catching on fine. During onboarding and KT I'm serving as the first contact for new tickets and whatnot...
Today I got a ticket with an error on our production instance that no one had ever seen before. It prevented the guy from using our service entirely. I tried to reproduce it and... I couldn't use the service either. No one could. Everything was down. I could see the sweat building on my manager's forehead.
Thankfully another member on my team has done a bit of support before, so we collaborated with each other and other teams throughout the day to figure out what's wrong and how to fix it. I'm listening to them chat remotely as we speak - so far I've been working on it 9 hours straight.
This service is used by everyone - it's a business critical service with due dates on actions and escalations to managers... Imagine if the support ticketing service for your company crashed. That means a lot of people are asking what's wrong, requiring extensions, etc. I've been answering to managers and seniors in the business throughout the day.
The best part? We figured out why the server went down, and the reason is fantastic: someone updated the server's code without telling anyone, and all they had done was remove critical parsing code. Just took it right out, pushed, redeployed. We don't know who did it or who even has access to do that. I guess I have some detective work cut out for me after we've fixed everything that was broken by that.
I miss coding already.1 -
Over the summer I was recruited to be a supplement instructor for a data structures course. As a result of that I was asked (separately by the professor) to be a grader for the course. Because of pay limitations I've mostly been grading homework project assignments. In any case, it's a great job to get my foot into the department and get recognized.
Over the course of the semester I've had this one person, OSX, named after their operating system of choice, who has been giving me awkward submissions. On the first assignment they asked the professor for extra time for some reason or the other, and that's perfectly fine.
So I finally receive OSX's submission, and it's a .py file as per course of the course. So I pop up a terminal in the working directory and type "python OSX_hw1.py". Get some error spit out about the file not being the right encoding. I know that I can tell python to read it in a different encoding, so I open it up in a text editor. To my surprise it's totally not a text file, but rather a .zip file!
I've seen weirder things done before, so no big deal. I rename the file extension, and open it up to extract the files when I see that there's no python files. "Okay, what's goin on here OSX..." I think to myself.
Poking around in the files it appears to be some sort of meta-data. To what, I had no clue, but what I did find was picture files containing what appeared to be some auto-generated screenshots of incomplete code. Since I'm one to give people the benefit of doubt even when they've long exhausted other peoples', I thought that it must be some fluke, and emailed OSX along with the professor detailing my issue.
I got back a rather standard reply, one of which was so un-notable I could not remember it if my life depended on it. However, that also meant I didn't have to worry about that anymore. Which when you're juggling 50 bazillion things is quite a relief. Tragically, this relief was short lived with the introduction of assignment 2.
Assignment 2 comes around, and I get the same type of submission from OSX. At this time I also notice that all their submissions are *very* close to the due time of 11:59pm (which I don't care about as long as it's in before people start waking up the next morning). I email OSX and the professor again, and receive a similar response. I also get an email from OSX worried about points being deducted. I reply, "No issue. You know what's wrong. Go and submit the right file on $CentralGradingCenter. Just submit over your old assignment".
To my frustration OSX claimed to not know how to do this. I write up a quick response explaining the process, and email it. In response OSX then asks if I can show them if they comes to my supplemental lesson. I tell OSX that if they are the only person, sure, otherwise no because it would not be a fair use of time to the other students.
OSX ends up showing up before anyone else, so I guide them through the process. It's pretty easy, so I'm surprised that they were having issues. Another person then shows up, so I go through relevant material and ask them if they have any questions about recent material in class. That said, afterwards OSX was being somewhat awkward and pushy trying to shake my hand a lot to the point of making me uncomfortable and telling them that there's no reason to be so formal.
Despite that chat, I still did not see a resubmission of either of those two assignments, and assignment 3 began to show it's head. Obviously, this time, as one might expect after all those conversations, I get another broken submission in the same format. Finally pissed off, I document exactly how everything looks on my end, how the file fails to run, how it's actually a zip file, etc, all with screenshots. That then gets emailed to the professor and OSX.
In response, I get an email from OSX panicking asking me how to submit it right, etc, etc. However, they also removed the professor from the CC field. In response I state that I do not know how to use whatever editor they are using, and that they should refer to the documentation in order to get a proper runnable file. I also re-CC the professor, making sure OSX's email to me is included in my reply.
OSX then shows up for one of my lessons, and since no one had shown up yet, I reiterate through what I had sent in the email. OSX's response was astonished that they could ever screw up that bad, but also admits that they had yet to install python(!!!). Obviously, the next thing that comes from my mouth is asking OSX how they write their code. Their response was that they use a website that lets them run python code.
At this point I'm honestly baffled and explain that a lot of websites like those can have limitations which might make code run differently then it should (maybe it's a simple interpreter written on JavaScript, or maybe it is real python, but how are you supposed to do file I/O?) .
After that I finally get a submission for assignment 1! -
Yeah, handouts create lazy people I'm not impressed with
You want something in life, then why don't you go and get it?
Actions speak louder than words do, it's pretty quiet, isn't it?
Look at the world we live in, defined by comment sections
Surround yourself with people that challenge how you think
Not people that nod their head and act like they agree
Those people will cut you open just to watch you bleed
Always be yourself, not the person that you pretend to be, no!
These people gon' tell you that you will never make it
Then when you do, they gon' say they knew you were goin' places
That's just how it works, next thing you know you'll be overrated
Hearing people say they miss the "old you, " it's crazy, ain't it?
And perfect people don't exist, so don't pretend to be one
I don't need pats on the back from people for my achievements
When I die I wanna know that I lived for a reason
Anyone can take your life, but not what you believe in, no
Just remember this
Yeah, don't take opinions from people that won't listen to yours
If money's where you find happiness, you'll always be poor
If you don't like the job you have, then what do you do it for?
The cure to pain isn't something you buy at liquor stores, nah
The real you is not defined by the size of your office
The real you is who you are when ain't nobody watchin'
You spend your whole life worried about what's in your wallet
For what? That money won't show up in your coffin, woo!
Yeah, anger's a liar, he ain't got no respect
I fell in love with my pain and I slept with my regrets
Happiness saw it happen, maybe that's why she up and left
Joy called me a cheater, said she ain't coming back
I've always had a problem with relationships
But that's what happens when you see the world through a broken lens
Mistakes can make you grow, that doesn't mean you're friends
Who you are is up to you, don't leave it up to them, no
Just remember this
Yeah, they say you got into music, you signed up to be hated
That's kinda weird cause I don't remember signing my name up
Coming from people that give advice but never take none
I like my privacy, but, lately, I feel it's invaded
I heard that life's too short, don't let it pass you by
We waste a lot of time crying over wasted time
It's not about what people think, it's how you feel inside
My biggest failures in life are knowing I never tried, woo!
I look at the world from a different angle
People change, even Satan used to be an angel
Think twice before you're bitin' on the hand that made you
Don't believe what you believe just 'cause that's how they raised you
Think your own thoughts, don't let them do it for you
Say you want a drink, don't wait for people to pour it on you
Cut out the liars, stay close to the people you know are loyal
Grab your own glass and fill it, don't let your fear destroy you, woo!2 -
"Hey guys we originally set the demo date to August 5th and thus far I have not seen any previews before that, what's going on here?"
Ok see, that is the kind of thing that I would take to me own lil broken heart IF:
1 It was coming from a product manager at where I work
2 He would never get any sort of updates or would just plain not know about us
3 He would be I dunno....fucking paying us?
This is the thing, a friend offered the chance to help him build a product for a business man somewhere down in the land of tacos. Being in a "fuck it" mood and not wanting to say no since it sounded interesting enough I said yes. The "owner" said that he would not be able to pay since he already had hired a team of developers before that did not deliver and as such he was instead offering a part of the company.....sounds familiar?
Not wanting to let my friend down, I told the owner that I would help just as long I get complete CTO power over the product and not crying about the stack being used or ME NOT GIVING THE PRODUCT MY FULL ATTENTION BECAUSE HE WAS NOT FUCKING PAYING.
He said ok.
Of course he did not like it, but he said ok.
He has been asking for the code, the platform, demos and a bunch of other shit which I continue to refuse since he has not offered me or my boy a copy of the legal documents that we require.
Him: "You will get them soon enough, I still need to see the product just to make sure everything is ok"
Me: "You wouldn't even know where to begin looking unless you have a third party that could verify the code, last time I checked I was to be the only one good for this"
Him: "Yeah and you and <friend> are, but I just need to see the product"
Me: "I send you videos and demos, sorry dude, but no binding document == no code. I know you think I am young, give me some fucking credit because this is not my first rodeo"
Him: "I am not trying to play you or anything, you can trust me"
Me: "No, not really. Talk to me about this when you get the documents"
Him: "Well its cuz this is taking too long...."
Me: "Tssss I know!!! It sucks right? Want a good product, built with all the bells and whistles and YOU DON'T WANT TO PAY? guess what dude, I do have a full time job, your product gets my minimal attention, right there at the bottom next to taking a shit, meaning that I will give your product the same time and attention as I would going to the throne. Aye don't feel that bad, I normally take about 1 hour on the shitter, you get that for fucking free."
To be fair ladies and gents I normally don't just explode on people like this. But I just can't fathom not paying someone for a rather large software product, with only a promise that "it will sell" and then telling them to hurry up.
Far as I am concerned this product will flop, but he seems to think it is the next big thing(of course).
He can go choke on some chode.
Fucking prick.1 -
so what's on the list for today? writing unit tests for a broken php app because NO ONE THOUGHT TO WRITE THEM BEFORE HAND.......
-
Isn't it fun when you are given a library or framework and that in order to debug it you have to use some hacky way of hooking the code to a special instance of the project?
Even more fun: the developers by default don't debug the project with tools, but rather with logic. Ok, that's a good way to debug but it shouldn't be the only way to debug. I don't want to go back to the age of coding on paper. At least give me a stacktrace that's halfway clear on what's happening there. Even worse is when the framework doesn't document its own problems! stacktrace.someMagicalMethodNoOneKnowsWhatItDoes(). Having to read the even more mystic and overly verbose documentation! You're just left there trying and guessing shit, even for the senior devs!
And do you know what's more fucked up?! Fucking using println() to debug!! And they take this shit seriously! I don't understand how these people call themselves programmers. No breakpoints? What the fuck, man!
Just give me Visual Studio for fuck's sake. I don't want to code in a broken IDE with a broken framework. Development on its own is already hard enough, so don't make it harder by giving me crappy frameworks and crappy IDE's that only work half the time.
Debugging without a debugger, with broken IDE's, with broken frameworks, I'm sorry but that's just not for me. And then the framework dares advertise that it 'lets the developer focus on business code!' (how many times have you heard this crap before?). Right, the only thing I focus on constantly is trying to figure out why their broken framework doesn't work.
Arghhh. -
Just a couple of things I'm thinking,
Alacritty in my main terminal, but I have a Hyper terminal (secondary, since it's pretty but not as fast) for thoughts.
I'm not even sure if you can call them thoughts. I would say mental diarrhea.
Most of the sentences are ridden with expletives, and very emotional. I attached a picture where you can see that there is
* some special characters, result of me light smashing the keyboard (I say light as in, I'm very angry but not as angry to not appreciate my single computer).
* a final sentence with some really nasty message.
* a lot of gibberish as well, don't use this as a spanish learning tool.
If you're curious about what's causing me grief, it's trying to make jest work with a vue-cli existing project. I encountered a couple of gotchas that ground my gears.
I estimated this bitch ass task to take like 2 hours tops, but I'm like 4 hours on this already, so I'm halfway broken.
Also, another comment:
While seeing the picture of the dutch devrant meetup, I think to myself "man, there's no way I would not feel awkward in that situation.
But then I noticed the beer and was like "oh, that helps".2 -
How to handle a company in which I work as a junior android dev for the past 7 weeks where there is zero mentoring?
I have 2.5 year experience in android dev and then I had a 1.5 year gap. I was looking for a company where I can get back on track, fill my knowledge gaps and get back in shape. So I accepted lower starting salary because of this gap that I had. Me and manager agreed that I will get a 'buddy' assigned and will get some mentoring but nope..
70% of my scrum team with teamlead are overseas in USA and I have just 2 senior colleagues from my scrumteam that visit office only once a week. Ofcourse there are other scrum teams visiting office daily but I personally dread even going to office.
Nobody is waiting for me in there. What's the point if when I need to ask something I have to always call someone? I can do it from home, no need to go to the office.
My manager dropped the ball and basically disappeared after first 2 days of helping me setting up, we had just two biweekly half-assed 1on1’s where he basically rants about some stuff but doesn’t track my progress at all. I bet he doesn’t even know what I’m working on. Everything he seems to be concerned about is that I come to work into office atleast 3 days a week and then I can work remaining 2 days from home.
I feel like they are treating me as a mid level dev where I have to figure out everything by myself and actual feedback is given only in code reviews. I have no idea what is the expectation of me and wether Im doing good or well. Only my team business analyst praised me once saying that I had a strong onboarding start and I am moving baldly forward… What onboarding? It was just me and documentation and calling everybody asking questions…
My teammates didn't even bother accepting me into a team or giving me a basic code overview, we interact mainly in fucking code review comments or when I awkwardly call them when I already wasted days on something and feel like I'm missing some knowledge and I am to the point where I don't cere if they are awkward, I just ask what I need to know.
Seriously when my probation is done (after 6 weeks) I'm thinking of asking for a 43% raise because I am even sacrificing weekends to catch up with this fucked up broken phone communication style where I have to figure out everything by myself. I will have MR's to prove that I was able to contribute from week 1 so my ass is covered.
I even heard that a fresh uni graduate with 0 android experience was hired just for 15% les salary then me. I compared our output, I am doing much better so I definetly feel that Im worthy of a raise. Also I am getting a hang of codebase and expected codestyle, so either these fuckers will pay for it or I will go somewhere else to work for even less salary as long as I get some decent mentoring and have a decent team with decent culture. A place where I could close my laptop and go home instead of wasting time catching up and always feel behind. I want to see people around me who have some emotional intelligene, not some robots who care only about their own work and never interact.6 -
Use Maven, they said... it's better, they said... you don't have to manage dependencies yourself, they said...
...only now I've spent three days in hell trying to figure out why Maven keeps insisting on sticking INCOMPATIBLE JARs in my WAR that causes a breakage when deployed. No matter what I do it still sticks stuff in the WAR that shouldn't be there!
Like, I'm not a lazy cunt, I can manage my own dependencies! I know what's supposed to be there, oh, and by the way, everything fucking works when I build with Ant instead and I'm in full control of what winds up in the WAR.
So, basically, instead of the "hassle" of having to download JARs myself, I've now got the hassle of dealing with Maven trying to be more clever than me.
I know which I'd rather have, especially right now. ARGH!
You know, any time someone says "this is an industry-standard and that's why you should use it" my first thought is "hmm, which of these buildings is tallest and will ensure a quick death when I inevitably jump off of it?" MOST ESPECIALLY when the company just decides X is what everyone is going to switch to, regardless of what they're using now and regardless of how many YEARS it's been that way and working perfectly. Nope, doesn't matter, just get onboard the freight train, and if your productivity takes a hit, if you start missing deadlines dealing with shit you didn't have to deal with when using the "worse" tools, well, I guess that doesn't fucking matter, does it?!
And that's not even talking about the fact that the Maven build takes almost four minutes, which is just about 4x as long as the Ant build it replaced, each and every fucking time I make a change.
Look, I'm sure there are solutions and I'm sure I'll find them next week because I always do... and I'm sure there's some tweaking we can do to improve the performance... and it's not like this is my first go-round with Maven, though it's probably the most complex project I've ever tried to do with it... by my fucking dear god this is a nightmare, and it's not a nightmare of my choosing.
I'm disgusted, tired and defeated, three things I never get when it comes to technology. Congratulations Maven, you're on the verge of breaking someone who doesn't get broken. Another day like the last three and I'm not gonna need Stackoverflow, I'm gonna need a bus schedule so I can figure out exactly when to step off the fucking sidewalk!10 -
Nothing much here, keep scrolling...
I think my manager does not like me. I might sound like a broken record because I keep asking feedback at the end of every call (which is every other day).
I genuinely want to make her proud of the decision to hire me and want to learn for which I am willing to work smarter/harder.
What I feel is that they find me annoying. They seem to be happy with my work but guess my Indian roots of typical behaviour are showing up.
My co-worker evidently isn't confident to lead on her own and keeps me looped in to all her tasks which I am fine with. Though, I feel that I might be overstepping in her zone and manager doesn't want me to do that.
I may not be perfect and also a very sensitive guy, but I am trying hard.
Maybe they have plans to get someone else to lead and just keep me as a pawn on the board.
I don't think it is the imposter syndrome this time and surely the teams in this org are working in silos with very little communication within or outside their direct teams which kind of makes it even more difficult for me to operate.
However, as always, I have enough free time in here to resume my side project, learn another hobby, or learn new skills. Or is it just that I am assigned less task or underperforming?
Sometimes things are very confusing and one can never find an answer.
What's the best thing to do in such a situation?7 -
[thinking] "Just a few little tweaks and I'm all set to meet the deadline. Oh, what's this? Not broken but I could probably improve that real quick."
[Several hours passed deadline]
"Oh God, what have I got myself into?"1 -
Oh how wonderful is to update an Angular project from 2.4 and trying to reach 8, only to have everything broken by Angular 6 and PrimeNG 6.
And what's best is when your boss tells you that you will have to later create the entire project from scratch using Vue.js and having it run in WebSphere, whilst upgrading the current Angular project.
TwT
btw, if anyone has any guides or tips on starting a Vue.js project with Spring as the back-end I would really appreciate it!! ^^_6 -
My LG WineSmart just became a very stupid, uselesss piece of shit. Firstly, it decided to upgrade itself - in the middle of a phone call! So, the phone itself considered its crappy upgrade more important than my phone call that was abruptly interrupted by the upgrade! WTF!? LG, seriously? Secondly, ever since the upgrade, the so called "Priority Mode" is totally broken. It's supposed to buzz only on phone calls from favourites, i.e. the mum of children and only her, but now it lets all calls through, so any idiot can call and disturb at any time! This phone doesn't have a silent mode neither, so now it has to be switched off at all times, except when I really need to use it, actually making the phone almost completely useless. LG, what utter stupid crap have you created?! What's your thoughts behind this, if any?7
-
Hey guys, how do you feel about the death of Python 2. As a stupid person I love Python and it's the only language I can somewhat understand 10% of. What's going to change by moving to 3? Any of you guys adversely affected by any of this?? Broken projects? Lack of support? I really regret not teaching myself programming when my brain was still spongey.....it's just a ball of poop right now.6
-
!tech . Can a doctor ever advise to get off the preventive measures?
I had a fracture 2 months ago which lead to a surgery in which a plate was inserted in my arm. post surgery i was asked to wear an arm brace (pic in comments)
this is basically a preventive brace to restrict certain movements while new bone is coming up at the crack.
i can understand its need but i am not sure if the doctor is going to recommend not using it ever. my arm has healed enough that i no longer feel pain in the surgery area, but in x rays, the bone still shows as not healed.
my feeling is that i should start wearing normal clothes and discard the brace and bone will eventually come on its own. its been 60+ days already.
But last time i had checkup with the doctor, he said to continue my daily operations while wearing ba brace because "what's wrong with wearing a brace in public? your hand was broken, now you can work with both hands but wearing a brace while your hand heals?"4