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 - "lie to me please"
-
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 -
I'm pissed at my cousin who's studying IT at the moment. He wants to copy my thesis project(from 3 years ago) and make it his own for his thesis project this year. Like woah dude! Can't you be creative, work hard, and make a project of your own because that's for your own good? And don't you dare bring up the "I'm your cousin, pretty please"-card up! He also wants me to lie if his professor contacts me and tell that he was part of the project. Are you effin' kidding me? You didn't know how to code 3 years ago! How would you expect me to tell your prof that you were part of the team? I just gave him the documentation(without the source code) and I said I lost the apk. That's just how far I can go for someone like that 😕9
-
Some of the penguin's finest insults (Some are by me, some are by others):
Disclaimer: We all make mistakes and I typically don't give people that kind of treatment, but sometimes, when someone is really thick, arrogant or just plain stupid, the aid of the verbal sledgehammer is neccessary.
"Yeah, you do that. And once you fucked it up, you'll go get me a coffee while I fix your shit again."
"Don't add me on Facebook or anything... Because if any of your shitty code is leaked, ever, I want to be able to plausibly deny knowing you instead of doing Seppuku."
"Yep, and that's the point where some dumbass script kiddie will come, see your fuckup and turn your nice little shop into a less nice but probably rather popular porn/phishing/malware source. I'll keep some of it for you if it's good."
"I really love working with professionals. But what the fuck are YOU doing here?"
"I have NO idea what your code intended to do - but that's the first time I saw RCE and SQLi in the same piece of SHIT! Thanks for saving me the hassle."
"If you think XSS is a feature, maybe you should be cleaning our shitter instead of writing our code?"
"Dude, do I look like I have blue hair, overweight and a tumblr account? If you want someone who'd rather lie to your face than insult you, go see HR or the catholics or something."
"The only reason for me NOT to support you getting fired would be if I was getting paid per bug found!"
"Go fdisk yourself!"
"You know, I doubt the one braincell you have can ping localhost and get a response." (That one's inspired by the BOFH).
"I say we move you to the blockchain. I'd volunteer to do the cutting." (A marketing dweeb suggested to move all our (confidential) customer data to the "blockchain").
"Look, I don't say you suck as a developer, but if you were this competent as a gardener, I'd be the first one to give you a hedgetrimmer and some space and just let evolution do its thing."
"Yeah, go fetch me a unicorn while you're chasing pink elephants."
"Can you please get as high as you were when this time estimate come up? I'd love to see you overdose."
"Fuck you all, I'm a creationist from now on. This guy's so dumb, there's literally no explanation how he could evolve. Sorry Darwin."
"You know, just ignore the bloodstain that I'll put on the wall by banging my head against it once you're gone."2 -
So I decided to positively tackle the negative energy surrounding me these past few days. I tried to be productive. I went overboard, of course. Where is the fun in normal?
I wrote down all the urgent tasks I must die-die finish. Anyone closed with Asians will know the severity of the die-die and must combo. I started with tasks I have to finish in 3 days. Then in a week. Then in 2 weeks. I ended up creating more than 25 cards across my respective Trello boards.
The tasks that come to me always need minimum 3,4 working hours. Literally. The furthest deadline I see is Oct 15. The tasks I counted is more than 25. No appointments nor meetings were counted yet. It is not impossible. If I finish 2 tasks per day, 14 days is enough to complete all. I might have to continuously work 2 whole weeks of course. But it is still fine, right? Right, guys? Right? It's doable. Right?
I won't get any unskippable appointment within this 2 weeks. Right?
I won't get new tasks to finish within this 2 weeks. Right?
I won't have to guide other people how to do their tasks within this 2 weeks. Right?
I won't have to work other people's tasks when they absent within this 2 weeks. Right?
I won't have to entertain any annoying client because customer service team can't deal within this 2 weeks. Right?
I won't have to do other personal tasks within this 2 weeks. Right? (Like helping with creating a wedding slideshow for a friend marrying on Oct 28)
My life is totally fine. Right?3 -
ZNC shenanigans yesterday...
So, yesterday in the midst a massive heat wave I went ahead, booze in hand, to install myself an IRC bouncer called ZNC. All goes well, it gets its own little container, VPN connection, own user, yada yada yada.. a nice configuration system-wise.
But then comes ZNC. Installed it a few times actually, and failed a fair few times too. Apparently Chrome and Firefox block port 6697 for ZNC's web interface outright. Firefox allows you to override it manually, Chrome flat out refuses to do anything with it. Thank you for this amazing level of protection Google. I didn't notice a thing. Thank you so much for treating me like a goddamn user. You know Google, it felt a lot like those plastic nightmares in electronics, ultrasonic welding, gluing shit in (oh that reminds me of the Nexus 6P, but let's not go there).. Google, you are amazing. Best billion dollar company I've ever seen. Anyway.
So I installed ZNC, moved the client to bouncer connection to port 8080 eventually, and it somewhat worked. Though apparently ZNC in its infinite wisdom does both web interface and IRC itself on the same port. How they do it, no idea. But somehow they do.
And now comes the good part.. configuration of this complete and utter piece of shit, ZNC. So I added my Freenode username, password, yada yada yada.. turns out that ZNC in its infinite wisdom puts the password on the stdout. Reminded me a lot about my ISP sending me my password via postal mail. You know, it's one thing that your application knows the plaintext password, but it's something else entirely to openly share that you do. If anything it tells them that something is seriously wrong but fuck! You don't put passwords on the goddamn stdout!
But it doesn't end there. The default configuration it did for Freenode was a server password. Now, you can usually use 3 ways to authenticate, each with their advantages and disadvantages. These are server password, SASL and NickServ. SASL is widely regarded to be the best option and if it's supported by the IRC server, that's what everyone should use. Server password and NickServ are pretty much fallback.
So, plaintext password, default server password instead of SASL, what else.. oh, yeah. ZNC would be a server, right. Something that runs pretty much forever, 24/7. So you'd probably expect there to be a systemd unit for it... Except, nope, there isn't. The ZNC project recommends that you launch it from the crontab. Let that sink in for a moment.. the fucking crontab. For initializing services. My whole life as a sysadmin was a lie. Cron is now an init system.
Fortunately that's about all I recall to be wrong with this thing. But there's a few things that I really want to tell any greenhorn developers out there... Always look at best practices. Never take shortcuts. The right way is going to be the best way 99% of the time. That way you don't have to go back and fix it. Do your app modularly so that a fix can be done quickly and easily. Store passwords securely and if you can't, let the user know and offer alternatives. Don't put it on the stdout. Always assume that your users will go with default options when in doubt. I love tweaking but defaults should always be sane ones.
One more thing that's mostly a jab. The ZNC software is hosted on a .in domain, which would.. quite honestly.. explain a lot. Is India becoming the next Chinese manufacturers for software? Except that in India the internet access is not restricted despite their civilization perhaps not being fully ready for it yet. India, develop and develop properly. It will take a while but you'll get there. But please don't put atrocities like this into the world. Lastly, I know it's hard and I've been there with my own distribution project too. Accept feedback. It's rough, but it is valuable. Listen to the people that criticize your project.9 -
Dear classmates,
I know our school is shitty as hell, that there is a fucking monitor missing and cables flying around.
BUT DON'T DARE TO LIE TO ME AGAIN. "Can you please move one to the right you're blocking the chair and we want to sit together". YES I KNOW. BUT DO YOU HAVE SEEN, THERE IS A FUCKING COMPUTER MISSING, MAYBE THAT'S WHY I AM SITTING HERE, NOT BECAUSE I'M DUMB AS FUCK AND DON'T SEE I AM BLOCKING A CHAIR!
"We can change later, but we want to sit here for now"
OH YEAH I KNOW. LIKE THE 20 OTHER TIMES YOU LIED TO ME WITH THAT IT'S JUST TEMPORARY. And then you come with come on don't be so childish and your friends start doing so too. WHY CAN'T YOU JUST LEAVE ME ONE TIME ON MY FUCKING PLACE AND STOP ANNOYING ME AS HELL JUST BECAUSE PEOPLE FOLLOW YOU AND LET ME JUST SIT AT MY FUCKING PLACE.
I AM NOT CHILDISH, I AM JUST NOT BELIEVING IN THESE LIES. WHY WOULD YOU WANT TO SIT THERE TEMPORARY? IT DOESN'T EVEN MAKE SENSE...3 -
Asking for a precise or accurate estimate is asking me to predict the future, which is essentially asking me to lie to your face.
And I'm a terrible liar. Please don't make me lie.1 -
Years ago, I would go on forever with my personal projects. I got so much stuff done I almost couldn't believe it. Today, I just can't. My mental health the last 2 or so years has made me lose interest in everything and i can't even describe how much I hate it. What are you supposed to do when a recruiter asks you why you haven't done much the past 2 years? Say you had mental health problems? Sure they're not allowed to discriminate because of mental health concerns, but they do. I feel like I have to lie on the US disability form, no matter how minor the problem is for the company and little it affects my work ethic. But then, when I'm late more than most because I barely slept or couldn't will myself to get up in the morning, now i can't explain myself.
If anyone here does recruiting or interviewing, please realize that happy face we show at an interview is sometimes a mask for deeper problems we feel we can't admit because we won't be hired. I hate that terrible events made my already inbalanced neurotransmitters worse, but that doesn't mean I will be a worse employee. Please look at me for my skills and enthusiasm for software engineering. That one detail shouldn't be what makes you say no.1 -
[Background]
Back in September I joined a startup after my first job in MNC for about 1.8 yrs as a fresher. I always wanted to learn, but the experience in that MNC was not at all fruitful. So ai decided to join a small/mid size company or a startup. To my luck, I got in this small startup in a week after my resignation as a front-end dev (always wanted to be).
It's an automation company, so you can find software, electronics, even mechanical engineer.
The team was almost a year younger than me. It was a team of around 12 people, in which 5 of them were from Business development.
The tech team was too driven and knowledgeable. Always trying new stuffs and motivating to do the same. I was highly motivated by them in my initial days, watching them working on new stuffs.
So I started with revamping their website completely in Angular 4, and did it in around a month or so, being new to Angular. Outcome was pretty satisfactory. I wanted to work on new projects, but just to get the cashflow in they started getting in WordPress projects. It was frustrating, I wanted to work more on new technologies like Angular, React, etc...but just for the survival of the company I had to work on WordPress, so to respect their urge to get going I kept working on 3-4 projects in parallel, and mind you the clients were from hell !!
Fast-forward 4 months, I am still working on few WordPress websites, and one internal GPS based project in React. And I haven't received my salary for past 3.5 months, since the company is still struggling with the issue of funding and getting money from clients. I kinda liked working there because there was lot to learn even though they are so young, but I had bills to pay too.
And I am in dilemma to leave the company or not, because I already stretched 3 months out of good will and guilt of leaving the company in high time. So i finally let the CEO know that I cannot stick for any longer. And i was done with the false promises of getting the salary "next month" everytime. All the money getting inside of company was invested heavily on the product we were building and no one was getting the salaries. Others were fine since they were founding members too.
Long story short : I finally left immediately and now working in a good company as a React dev. I hope they do well and I would love to see them grow, but please *STOP* making false promises and hold on to employees on a lie.1 -
Why is there evil in the world?
"Because of free will 🤓🤓🤓"
---
🌌 Universe A (ours):
❌ today i can "use my free will", but its IMPOSSIBLE to imagine a new color
❌ today i can "use my free will", but its IMPOSSIBLE to grow wings and fly
❌ today i can "use my free will", but its IMPOSSIBLE to create a new planet
❌ today i can "use my free will", but if i use it for something God doesn't want me to, ill burn forever
---
✅ today i can "use my free will", but it IS POSSIBLE to commit evil
✅ today i can "use my free will", but it IS POSSIBLE to rape, kill, start wars
✅ today i can "use my free will", but it IS POSSIBLE to lie, deceive, suffer
✅ today i can "use my free will", but it IS POSSIBLE to get diseases
✅ today i can "use my free will", but it IS POSSIBLE to die of starvation
✅ today i can "use my free will", but it IS POSSIBLE to die of natural disasters
✅ today i can "use my free will", but I NEED TO suffer so i can build my character
---
What does this tell us about the creator of the existence?
By analyzing this, you can clearly see how:
The most HARMLESS things, are disabled for us to use with our "free will",
while the most HARMFUL things are allowed for us to use with our "free will"
What do YOU think:
What IF, An all-good, all-loving, all-knowing, all-powerful GOD of the existence created a universe:
---
🌌 Universe B (imaginary):
✅ today i can "use my free will", but it IS POSSIBLE to imagine a new color
✅ today i can "use my free will", but it IS POSSIBLE to grow wings and fly
✅ today i can "use my free will", but it IS POSSIBLE to create a new planet
✅ today i can "use my free will", but its IMPOSSIBLE to imagine doing evil
✅ today i can "use my free will", but its IMPOSSIBLE to rape, kill, start wars
✅ today i can "use my free will", but its IMPOSSIBLE to lie, deceive, suffer
✅ today i can "use my free will", but its IMPOSSIBLE to get diseases
✅ today i can "use my free will", but its IMPOSSIBLE to die of starvation
✅ today i can "use my free will", but its IMPOSSIBLE to die of natural disasters
✅ today i can "use my free will", but i do NOT NEED TO suffer and still build my character
✅ today i can "use my free will", but if i use it for something God doesn't want me to, i do NOT burn at all
---
Please tell me, non biased, rational objective answer, is Universe A or Universe B better?
Tell me why, and give a very Very good reason, why couldnt Universe B exist?
If God exists, why didn't God create Universe B? Why did he CHOOSE to create universe A?
"if God exists, he is either Not-All-Powerful, or Not-All-Good"
- Neil Degrasse Tyson
Im having a midlife existential crisis.
If God is real, WHO said he HAS TO be All-Good?
If God is NOT All-Good, would you believe in such God? Would you worship such God?
What if God is NOT All-Good? This would explain why Universe A was chosen over Universe B.
What do YOU think, why would an ALL-GOOD ALL-LOVING ALL-POWERFUL GOD CHOOSE TO CREATE UNIVERSE A, WITH PAIN, SUFFERING AND EVIL?13