Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
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.
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
My Ruby is not dead sticker.
Because I designed it after I got a very friendly offer from a big sticker printing company to get 50 of them for free. I was so fed up with people here repeating the "Ruby is dead" sentence to people who ask about learning Ruby, believing that's true without knowing the actual story behind this sentence, just because they read it at other places without understanding it.32
Okay i'm done - YOU FUCKING ANDROID STUDIO MORONS. Being at a high level in C++, I tried to do some android coding. THERE ARE FUCKING NO GOOD TUTORIALS, NO GOOD DOCS, HECK, THE SELF GENERATED CODE OF THE IDE IS WRONG: WHAT THE FUCK IS GOING ON YOU FUCKING MORONS?
oh wait, let me first import android.widgets.rant;
or was it android.widgets.devrant.rant; or was it android.dr.rant.RantManager;?
Oh wait, I know lets search the docs?
OH WAIT THE DOCUMENTATION DOESNT HAVE THAT.
NOW HOW ABOUT I JUST TRY THE EXAMPLE CODE? WELL UH-UH! YOU HAVE TO FIND OUT YOURSELF WHAT TO IMPORT IN ORDER FOR IT TO WORK. ALSO, WHAT FUCKING UP WITH THAT PERMISSION SYSTEM? ITS SO BADLY DOCUMENTED!!!
Oh wait, I'm sure that I have to change something in this file... or was it that other file?
how dare they have style and design guidelines?
I will resort to implement my app idea in godot, idc anymore... I don't want to burn out because I used the "official high standard" tech.
it definitely isn't high standard and definitely not good. Thank you morons@google
THANK YOU FOR NOTHING
A FRAMEWORK WHERE I NEED 2 DAYS TO FIGURE OUT TO ADD EVENT LISTENERS TO MY THINGS IS DEFINITELY NOT ONE I'D LIKE TO USE.
also, whats up with
AudioRecord (int audioSource, int samplerateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes);
ARE WE BACK IN THE C ERA? CAN'T YOU BE BOTHERED TO IMPLEMENT SOME SIMPLE FUCKING ENUMS????
WHATS THE POINT OF AN OOP LANGUAGE IF YOU ARE GOING TO USE IT LIKE C?
Oh wait I found a tutorial ... First trigger: "java scripts". Second trigger: this guy LITTERALLY ONLY TEACHES YOU HOW TO PLACE WIDGETS ON THE CANVAS. THANKS FOR NOTHING SHERLOCK!
Oh btw: did you know that android studio gives the best error messages?
"Error: illegal start of expression"
NO ERROR MESSAGE - NOTHING!
YOU BETTER USE THE IDE OR YOU GO HOME YOU FUCKER!!!
Oh and btw: if you want to read the best documentation - the code itself YOU GOTTA AGREE TO OR TERMS OF SERVICE!!!! WE DONT WANT ANYBODY TO BECOME SUCCESSFUL WITHOUT US KNOWING!!!!!
THANK YOU GOOGLE FOR NOTHING!
thanks godot for *atleast* existing. You are the... last pick i'd pick, but :shrug:, I have experienced android studio now.
If anybody has any advice on what to use instead, please go ahead. And you better not tell me how good you are at android studio. I DONT CARE ABOUT WHAT YOU CAN IMPLEMENT IN ANDROID STUDIO. I JUST WANT SOMETHING THAT IS USABLE WITHOUT HAVING TO BE EXTRA CAREFUL WHEN DOING *ANYTHING*!!!!
So our CEO decided that we've spent enough fucking time on a particular project and let's stop working on it right now because all of it's features are working fine and though we have some very minor design issues in a single page which is used very rarely so just leave it because our users don't bother and they're perfectly happy. Nice! We have another major project in pipeline so we started working on that. I was relieved because we've spent so much time on the previous project that it became boring. Because our CEO likes to change every tiny detail (like "hey just increase the size of that text 5px....oh no the previous one was better, revert it..."). So all the team members are very happy and enthusiast about the new project. Aaaand some days later - " Why the fuck those tiny design issus are not fixed? What kind of developers are you? You guys are not good at all..." and so on.
Tired of this company.4
You know you're an odd wanker when an earthquake is literally shaking your tits off and you debate yourself whether you should go to the ground floor or just take a fucking nap.
Oh my fucking god, Earth. As soon as I finished fapping my pubes off, I switched to Sublime to continue my work and voila, some Titan fucks the soil in the butthole and now the ground is shaking. I thank you for the courtesy of letting me finish before cumming yourself.
Somehow, I think it makes the most sense to stay in my unit. I live in the 45th floor and there's no way I'm taking the stairs. Getting trapped in the elevator would be better, as stupid as that may sound. I wish I could say I got into the elevator because I got scared but truth be told, I just watched a french fry addiction documentary this morning and I got hungry after some fap session.
I regret the decision because the elevator was full and stopped at every floor from the 45th floor to the ground. Now I'm just here in the lobby wishing I had taken that nap. Dying on my sofa while cuddling my dildo in my sleep is better than this. Better than that old couple scene from Titanic.
Damn, I need to find some sort of respect for my life.14
Stackoverflow is full of pedantic cunts who can’t admit they don’t know how to answer your question, I just spent 20 minutes having 4 people tell me because they didn’t have “the full code” they couldn’t help with the problem, despite by the end of me posting more and more (completely unrelated) code they were LITERALLY complaining because I hadn’t added fucking “#include” statements 😑10
So today I had an initial interview for a tier 1 analyst position (it's a student position). The interview went really good, and I pretty much landed it and my next one is going to be next week. It sounded pretty awesome, but a part of me thinks it's going to be a tech support position more than anything else. Nevertheless, I hope I'll get the job, it seems like a nice gateway to more awesomererer jobs.
So here's my question: can any of you guys tell me more about this type of job? How mundane or interesting is it? I'm probably not going to decline the position, I just want to be ready for what's coming.9
Just stumbled across this gem last night. You guys know how biggest online games site in my country (also backed up by largest ISP) handles reset password requests?
After clicking "Forgot password", it asks you to login to Gmail (cause everyone is assumed to have and use one, right?) and then opens "New Email" window prefilled with some template data which you're expected to finish (in screenshot below).
And I just wanted to play some Ludo with my friends.. 🙄🙈2
Just pulled up to the gas station, it's lunchtime, easter sunday here in the south. The place is packed, everyone is out in their best church clothes, freshly groomed, on their way to and from. Not this one...
Nope, I hop outa the truck in loud ass neon yellow gym shorts, sandals to match, hair and beard looking like the resurrection of christ. Thus is the state of my give a fuck right now.
Bout the only decent piece of clothing I have on is a hoodie with a giant army logo on it. If that sounds a but confused because easter occurs in april, don't look at me, ask the weather 🙄23
Ok ok ok, I will preface this by saying I am still a student so you can assume my complete and utter lack of experience.
There is all this fuss about unit testing and TDD but i still have my doubts about it. How is it that if your code works for certain inputs you can be sure that it will work for whatever can happen after deployment?
I mean, to my understanding testing can assure that some business requirements are cared for but as far as actual code correctness goes I don't see how that is achieved.
As far as i am concerned the closest it comes to complete code correctness is a mathematical type of proof but that should be impossible to be done effectively in an OO language.
How can you be sure that your code is what you think?
(If i have this all wrong please correct me)7
It's now. The last few months. I'm starting to think I might have to leave developer's career [fucking broken messenger heads.. Made me post this rant prematurely]. I'm starting to feel that I have so much more to offer than just write code, solve minor problems by moving miniature blocks here and there.
As for now I've moved to Performance Engineers. Will see how that turns out. But I have a feeling I won't feel like staying there for long either.4
Question to all those who have worked with software architecture: What is your approach when implementing architecture and design into actual software?
I find it very hard to translate UML diagrams and architectural requirements into working code and I feel like there is quite a big "gap" between the two. How to you breach that gap and manage to maintain a clean and comprehensive architecture in your project folders?11
So I got the new macbook pro 15 with touchbar .... this is my first macbook that I have ‚issues‘ with.
* the new butterfly keaboard doesnt feel as good as the old one
* ... abd its friggin loud!
* the keyboard backlight just randomly drops out and forces me to cold reboot WTF??
* they bigger left/right cursor buttons make it so hard to feel where you are, that I constantly confuse up and down
* the touchbar is basically unusable for a keyboard centric person like me. It forces me too look down to the keys!
* I constantly hit the esc bc im used to have one finger there to hit it if needed, but now im forced to hover it bc otherwise it is pressed
* and why of fucking why did apple remove magsafe??? Now i dont even see anymore if is is being charged without turning the screen on
* i hate the usb ports too, why not even add a free usbc to usba port? (Well, i guess bc it would make the macbook even more expensive... free wouldnt be free anyway i guess)
It is way more powerful though, but the time i would buy a personal one is over and will probably never come back.
Im a happy hackintosh user btw 😅3
I miss Rusty Hearts.
I dislike the company behind it that shut it down back then.
It was such a great game.
But what I hate most are the hobby teams who started p servers just to fuck up a week in.
I never got a chance to play on any of the big announced p servers because all of them fucked up on the technical site before they even started and then ran for a very short time with a lot of issues.
People, if you don't know what you are doing, just fuck off and don't give other people hopes.
About a month ago my grandfather gave me the okay to work on a pi-hole and attach it to the router
So I did that yesterday, and he yells at me for it (because having a civil conversation is impossible with him) and says that we don't need "extra stuff" and says that I'll break the router.
I tried to explain how the process works but I was just shut down and interrupted.
He could have at least told me he changed his mind so I wouldn't have wasted over two hours of my day building and troubleshooting the device.
Mind you, he literally worked in hardware for 50 years and has had ham radio as a hobby for over sixty.
After a few years at one company, most of the colleagues that take their dev education seriously have left. We had a mini community keeping ourselves up to speed as technology progresses. As time passed, I've noticed that I'm stagnating which is one of the biggest signs, for me, that I should move somewhere.
I'm now at a new company, working on a project that is in a much worse place than any of the project I've worked on previously.
I've done my due diligence and checked the company before joining, of course. And I've asked all the questions I wanted to know so I can know with some level of certainty whether we're the right fit. Sadly, that definitely didn't turn out to be true.
I'm currently working on tasks that any intern/junior can work on, while being paid a senior salary. There are a lot of areas in the project where I can spend my time more efficiently, e.g. stability, performance. But, it turns out that swapping colors, brushing some css here and there is more important to the client than fixing very, very unstable project.
And I'm not the share holder. It's not up to me to decide. The only thing I can comment with certainty is, why just not hire 2 juniors that can do the same work I do right now, instead of wasting my time/energy on meaningless tasks and such boring issues that I've left behind years ago. I've emphasized that being challenged is very important to me, and I'm given breadcrumbs to deal with.
And I'm unsure what to do now. I don't want to be that guy leaving just a few months after joining. Should I wait it out? I already mentioned that I don't think I'm properly utilized to lead dev and PM. I guess I should give them a month or two to see whether something will change?1
I am the old famous kiddy here, who just came back days before school exam starts^^
Just to say, I want to ask you all, is it ethical(?) to release a hacking/cheating creation tool for games for educational™ purposes?
I have been making a cheat creation tool called Mysterium, but I am not sure where to use it. I made cheats for some big title games, and reported them to the developers, patched, and got some in game items in return....
Long story short, is it okay to release to the public, or should i release this product to game developers?
A kid who made cheats since he can't play games well and wanted to get some free items4
Hi, in my latest project I'm stuck on the CSS part.
I've already an Grunt + Sass Asset Generator for bootstrap.
The project has several (> 70) subpages aka modules.
The theming is client based, currently 4 clients with different colors.
At first I thought it was easy...
Splitting bootstrap to variables per client + bootstrap, so:
client1_bootstrap.scss (including client1_variables).
. . .
But now I'm stuck.
Reaason: The css classes are the same between the clients, eg client-bg-primary is the class.
I wanted to prevent generating for each client a folder - as every folder would contain the same content:
Each SCSS file would only differ in the variable import...
Is there a way to prevent a Global Module CSS file for each client (as there are @##* fucking classes duplicated and I really don't want to untangle that mess) but not ending up with writing the same Code over and over?
The IRC sass channel is moderated, not possible to ask there... And when I google I find mostly themes based on an class approach (border-light vs border-dark)… :(1
Hey guys :)
I'm here today to share what I've been doing for the best part of the last year.
I was confronted with a problem, I wanted to write my notes in markdown, and wanted something that I could use cross-device without having to enrol on a premium subscription. I also wanted dark theme and a different interface than most options out there. Another requirement I had at the time was that I didn't want simply to go to a website, I wanted a 'native' look and feel, and I didn't want a text editor, I wanted a board of notes.
So I've created Mdyna. I still haven't got the cross-device functionality up and running, but it's one of the next items in my bucket list, along with a PWA that can be used in mobile devices.
You can check it out here: https://mdyna.netlify.com/
Any feedback is welcome =)