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 - "dagger"
-
Here's a recent interview I had for an Android Developer job:
I: Interviewer, M: Me
I: hello, welcome
M: hi, thanks
I: do you know Kotlin?
M: yes, I've been working with it for 1.5 years and have written 3 projects in it
I: do you know RxJava, Dagger, Retrofit, and how to make Custom Views?
M: yes, I'm comfortable with them *explains*
I: do you know Room?
M: yes I do, I've done a lot of practices in it, but unfortunately have never needed to use it in production
I: what architecture do you use? Do you know MVP?
M: I'm currently using MVVM, but not MVP. I've debugged projects in it so I know what's going on in it
I: ok, do you have any questions for us?
M: how did I do?
I: I'm sorry sir, but you're not even a junior here
M: what? Why is that?
I: well you don't know Room and MVP?
M: I said I know them, just haven't used them in production.
I: well you have 3 years of experience but you dont even know Kotlin!
M: Kotlin was your first question and I said I have 3 projects in it. Did you even check the samples you asked for in the job posting?
I: SIR YOU'RE NOT A GOOD FIT FOR US, THANK YOU FOR COMING.
:/56 -
Set out to copy the iOS alarm on android because a) android's stock alarm is fugly and b) all other sleep reminder apps either offer me way too much or no functionality.
Week 1: "Oh, custom UIs need a lot of math... Ok."
Week 2 "Why on earth is my ram usage at 400 mb?!"
Week 6: "I have come to the realisation that android's ByteArrayDecoder should burn in hell.
Week 7: "Man... They sure made the management of intents and pending intents a pain."
Week 10: There. It works. Two classes, 7000 lines of code.... Hmmmm maybe apply MVP."
Week 11: I discovered embarrassment driven development, throw away all my code and start from scratch.
Week 12: Oh ButterKnife, where have you been all my life?
Week 17: I might actually finish this in my life time!
Week 28: Man, this MVP and managing Context, intents, SQLITE DB and pending intents do not mix well.
Week 46: I discover RxJava and Dagger 2
Week 47: I discover that the 'V' in MVP does not refer to an 'Activity'
Week 48: My StudyBudy says to me "Man, exams are only a month away!"
Week 49: I put all your code in my github, delete it locally and focus back on being a student.2 -
Debugging yor server code for over an hour only to find out that you were using "var/.." instead of "/var/.." 😐😐1
-
Today was a good day.
I was told to use in-house BitBucket runners for the pipelines. Turns out, they are LinuxShellRunners and do not support docker/containers.
I found a way to set up contained, set up all the dependencies and successfully run my CI tasks using dagger.io (w/o direct access to the runner -- only through CI definition yaml and Job logs in the BitBucket console).
Turns out, my endeavour triggered some alerts for the Infra folks.
I don't care. I'm OOO today. And I hacked their runners to do what I wanted them to do (but they weren't supposed to do any of it). All that w/o access to the runners themselves.
It was a good day :)))))
Now I'll pat myself on my back and go get a nice cup of tea for my EOD :)3 -
aaaaaghh fucking Handlers man. Android is so fucking full of shit, i wonder why am i still doing it. love is pain.
Why can't there be one mother fucking solution to all lazy ass asynchronous programming? handlers, threadpools, asynctask, executers, Broadcasts, intentService, coroutines, rxjava,.... i don't what new stuff are people snorting these days.
Ok , leave everything. A handler is class- no sorry, Handler, alongside some fucking Looper clss (and maybe some more stuff i don't know) other classes is a way of handling inter thread communication. Handlers can:
-send data to ui thread
-recieve data from ui thread
-send "messages" to ui thread
-recieve "messages" from ui thread.
- can be attached to ui thread
- can be attached to any child thread
- can be accessed anonymosly via any view
- can be present in multiple places, working together
- can kill night king with a dagger
- can do porn better than johnny sins
- can run for president of the whole fucking world
- do some more shits that i have yet to discover
And where do i find this? buried deep insides some medium articles or in some guy's horrible accent video.
Is background processing really this much of a toughnut to crack?
earlier i was all about using asynctask or foreground/background services, because these are the most easy to understand abstraction of a fairly difficult topic.
But as i see more projects, i see underlying apis like handlers, threadpools , executers , being directly used.
Why cant there be a fucking single abstraction, that could be "lightly tweaked" to handle every ugly case.6 -
Fucking recruiters.... Let's waste a bunch of fucking time by telling me all about a company I've already talked to. Stop playing stupid ass cloak dagger games of "I'd tell you my client but it's a secret... You might go it alone"
-
Why are devs at google making it hard for android developers? They release libraries so frequently and completely overhaul everything. It was fine till a limit. Now again they are releasing jetpack compose which is a completely new thing. I don't have problem learning new things but the rate at which they release new stuff is far swift than other frameworks. For example they release a new dependency injection hilt while recruiters still look for dagger 2. Android is just getting overwhelming. What are your thoughts?4
-
I'm trying. I'm really trying to understand you Dagger 2. But every time I read articles, look at source code and just try to understand how your magic works, I end up copy pasting the sample code. And then I don't know what I even did ffs.
Maybe it's so damn hard for me because I don't understand Dependency injection? But I think I do... What can I do to understand you? Please tell me?
Especially when my use case requires nested fragments and isn't just that typical inject fragment to activity sample...
And now I have to fill in all of the injected fields in my integration tests by hand because I can't figure out how to fucking make you piece of shit do the motherflipping injection!! Fuck.
I need painkillers... My head starts hurting1 -
Daaamn.. Dagger.io is actually quite cool. Spent 2 days learning and building a dagger module for my project's ci and I've gotta tell ya - I'm lovin' it!
-
I have been doing android dev for quite a time now and have started to understand/appreciate a few things that I previously hated (Like Kotlin) . so am not sure where would be my stance regarding this rant in upcoming months, but FUCK DEPENDENCY INJECTION FRAMEWORKS!!
dependency injection is rightly said to be a $25 term for a 25 cents concept. If i start refactoring my old apps today to "follow DI principles", they would require just 5-10% refactoring and i will end up with much more testable code.
But integrating dagger in my apps? Oh please fuck me straight instead. That thing is so overly complicated and confusing. Why would you trust compiler to inject instances in YOUR LOGIC ? it was YOUR LOGIC that guided the compiler, remember?
I am yet to work on a product of scale where frameworks like dagger or koin made even a slightest of sense.
Currently it just feels like another bad choice we took between "simple but verbose" and "complicated but pretty to look at"
The way this framework makes me think like a compiler than a programmer somehow reminds me of this beautiful article i read:
https://theatlantic.com/technology/...3 -
Ugh Android OS is so vast and intimidating, i feel so unsure about it even after 3 years of learning it.
Like now i am about to graduate, so i need to look for a job. Those companies require knowledge of libraries like data binding, dagger, rx fabric, etc the stuff that i never personally used in any of my personal projects because i was able to handle all my stuff by general programming knowledge.
At the same time the os itself is so large and full of apis that i want to learn and spend my time upon. Like Android stores data, renddrs media , its databases, its lifecycles, gradle building , manifest etc
Can any devs share how they are proceeding with this os? I always feel like i am floating on the surface and not diving deep enough :/2 -
Kids, stay away from Google's Dagger 2 coffee maker example. Do it for your own sanity. Unless you want to study bad examples.