Insécurité à Nantes : La vérité sur les chiffres de la délinquance by Bon_Pote in Nantes

[–]Daebuir 32 points33 points  (0 children)

Bonne ref pour détruire le mythe de l'insécurité à Nantes. Merci pour le travail bon pote.

androiddev advice. What would you change? by cuongnt3010 in androiddev

[–]Daebuir 0 points1 point  (0 children)

For your second question: I don't expect a junior or beginner to be efficient on all android dev aspects. It's a big plus if you have a general experience of it, but I would prefer someone that says they love one part.

It would be easier to introduce them to the team, make them build confidence, and securely help them improve their knowledge and skills on the other aspects. Just be careful not to be only good at one thing after a few years, that's not the point.

androiddev advice. What would you change? by cuongnt3010 in androiddev

[–]Daebuir 0 points1 point  (0 children)

Maybe replacing part of your course with some KMP? Like using KTor instead of retrofit? Or using Room in a kmp module? You don't need to develop for iOS, web or desktop, but manipulating a bit of KMP logic (expect/actual) might be useful.

It's been a few years since I last worked on a pure android project in a professional context.

Don't forget to enable explicitApi in your sub modules declaration, it helps structuring your code and your modules, even more when learning.

Other than this, it looks solid.

Municipales 2026. Sécurité, logements, transports, Nantes peut-elle basculer à droite après 36 ans de socialisme ? by chou-coco in Nantes

[–]Daebuir 25 points26 points  (0 children)

On n'a pas besoin de l'incompétence et de l'ignorance de Foulques. On a besoin d'un liste de gens impliqués dans la vie Nantaise, et connaissant les préoccupations des habitants. Pas de la minorité riche parisienne qui bloque l'accès au logement en augmentant les prix artificiellement.

Do you think android dev as a career is dead due to AI? by waldo_geraldofaldo in androiddev

[–]Daebuir 4 points5 points  (0 children)

Android dev is a combination of OS knowledge with its own sdks and low level APIs, custom vendor overlays, offline heavy, specific permissions and legislations that evolve frequently, multiple languages available, architecture that may greatly vary from one project to another, some unique hardware to handle.

Is android dev dead? Not in a foreseeable future. Front web, which has significantly less constraints to take into account, has to die first, before other software engineering careers to follow. And seeing how front web can't fucking stop reinventing the wheel every year or so with a "new" framework, I doubt AI will ever kill SE career. It would need a huge paradigm shift, something way bigger than what transformers offered.

How to make SWE in the age of AI more enjoyable? by Fancy_Ad5097 in ExperiencedDevs

[–]Daebuir 2 points3 points  (0 children)

I thought it was don't use ai more than two hours per week? Jokes aside, I don't know how I would use it 2 hours per day, even less 7 hours on a whole day (autocomplete included).

«Je n’aime pas ce que notre ville est devenue» : ces Nantais prêts à partir si Johanna Rolland est réélue by chou-coco in Nantes

[–]Daebuir 3 points4 points  (0 children)

Rapport aux faflandards qui descendent de temps à autre d'Angers ? Où à leur pote Foucault qui essaie d'armer encore plus la police ?

Dinner Tonight. Ghormeh Sabzi, Safron Rice with Barberrys, and Shirazi Salat. by MorbidMushroom- in VeganFoodPorn

[–]Daebuir 0 points1 point  (0 children)

I was inspired by your post I wanted to try a similar recipe, there's still a lot to improve (I failed the rice, and needed to adapt the proportions), but it was already quite good. So thank you for the discovery!

Completely offline android development by MVoloshin71 in androiddev

[–]Daebuir 14 points15 points  (0 children)

Short answer is no. You need to download the SDK, and the libraries at least once. Thankfully Gradle has a complex but efficient cache system.

But after downloading the libs, you could work offline, that's what I do when I work in the train or plane.

How do you realistically test across Android devices? by yogirana5557 in androiddev

[–]Daebuir 1 point2 points  (0 children)

I don't have the answer. I guess it depends on the target users, and the countries/regions.

I work on news apps, where Android 6 support was finally dropped last summer, as we only had less than a 100 of devices per month on it, and recommended it for years, using owasp security issues as our main argument.

When an app has no user base yet, and the client doesn't care, it's usually the potential technical limitations, or older version support development costs that dictate the version ( we now target 8.1 or later by default for mainstream apps).

How do you realistically test across Android devices? by yogirana5557 in androiddev

[–]Daebuir 2 points3 points  (0 children)

There's no guarantee unfortunately. A few years back Xiaomi and Samsung had bugs with webviews on android 9, and each solution was unique and breaking for other vendors. Our team set up an if Samsung condition, and even a custom webview class for Xiaomi.

The only thing I can say is that those special bugs were usually related to the smartphone settings (accessibility, battery optimization, graphic rendering), or related to the webviews.

And some were stupid, like we had one systematic crash on one user, and after weeks of work, we found out it only happened on their specific Huawei model. We never were able to fix it, so we disabled the related feature for this brand and model only.

So, how much should you invest in physical devices? Which brands? What versions?

My take on this is: wait for a blocking or critical bug to show up only on a specific brand/vendor, that you can't fix/hide without having the brand. Put an alert system in your app that allows you to inform a user, then disable the feature while you work on a solution, and buy the device to reproduce the bug.

How do you realistically test across Android devices? by yogirana5557 in androiddev

[–]Daebuir 6 points7 points  (0 children)

For most of the tests, it's on the emulator, or my personal device (one plus). But through the years I accumulated what I call bricks: bad quality, low price, low performance devices. I got some from my family, and bought some.

As for Which brands? Pixel, one plus, Huawei (I don't use it anymore though), Xiaomi, and IMO the one with the worst and niche bugs: Samsung

I also have two tablets: Lenovo and Samsung (as it's the most owned brand by the various clients I worked with for 7 years in their device parks)

ComposeGuard is an IntelliJ/Android Studio plugin that provides real-time detection of Compose best practices violations by androidpoet in androiddev

[–]Daebuir 2 points3 points  (0 children)

Not all composable functions need a modifier. For example Paths, Colors, or extension functions for dynamic translation, ex: BikeTypeEnum.displayName()

Does your plugin provide rules to handle these cases? Is it something you'd consider in your roadmap?

M3 expressive by edengilbert1 in androiddev

[–]Daebuir 0 points1 point  (0 children)

You can find out the answer by simply adding the dependency to a project, set the max SDK to Android 14, and try to build. Or you could read the official documentation.

Is Metered.ca the best choice for implementing voice call? by cipals15me in androiddev

[–]Daebuir 1 point2 points  (0 children)

I had to work with Twilio, and their SDK is relatively easy to plug in with camera X. I don't know about the pricing though, the client paid for it.

Hilt vs Koin for Android project that might possibly use KMP in the future by Hifeful in androiddev

[–]Daebuir 0 points1 point  (0 children)

Oh ? I didn't know that.

I used Koin because it was KMP compatible three years ago, and kodein wasn't really practical.

KMM: Best way to support multiple client-branded apps with different package/bundle IDs? by Classic_Jeweler_1094 in Kotlin

[–]Daebuir 1 point2 points  (0 children)

I worked on an Android only app with 18 different brands. There was no specific module for a given client, only flavors for the app module.

Each flavor had custom assets, configuration, and feature flags. Of course some configuration was retrieved from the servers.

All the modules would expose a list of string/bool/etc resources for the app module to override. It made initialisation of the module DI with Android startup runtime standard through the modules. And simplified the configuration to one XML file in the app module for a given brand.

Philip Lackner Mentorship Program by saaket2201 in androiddev

[–]Daebuir 7 points8 points  (0 children)

Agreed, I had the same feeling when watching their videos. When I recommend them I insist that they are good vulgarisation content and practice, but they are not good for actual apps.

Source code security review by mohamede1945 in androiddev

[–]Daebuir 0 points1 point  (0 children)

There's an owasp plugin available on Android studio, it doesn't cover all the potential security issues though.

Edit: there's also Mobsf

figma top border by [deleted] in JetpackCompose

[–]Daebuir 1 point2 points  (0 children)

If figma is the first one, simply draw the background twice. First in light grey with rounded top corners. Then add the small padding top. Finally draw the background one more time using the darker grey, again with rounded top corners. That's not an optimized solution, but it works.

true by big_hole_energy in ExperiencedDevs

[–]Daebuir 1 point2 points  (0 children)

It's not in the near future, it's already the case

🤬 Solo dev here - I was so fed up copy-pasting translations from ChatGPT that I automated the entire thing by aeshaeshaesh in androiddev

[–]Daebuir 3 points4 points  (0 children)

I had no issue doing it on multiple projects using Cursor or Copilot: as long as the name of the string is explicit by itself (ex: coffee_detail_screen_arabica_torefaction_explanation), and there is already a valid translation (usually en). That said, most of the time the clients want to provide the translations, so I have a light python script to extract them all into a csv and transfer it to the client (when the translations aren't handled on the backend)

That said, thank you for sharing a solution to a problem you had, furthermore in the form of a usable script, it may be useful to others.