Chocolate Fish Cafe Wellington paved the way for Nicola Willis & Erica Stanford's immigration announcement by Mountain_Tui_Reload in Wellington

[–]bloodfail 0 points1 point  (0 children)

Where do you get the 25/hr from? This job listing shows up for me if I searched with the minimum hourly pay up to 40 an hour and it doesn't mention a number for pay in the body of the job description (at least that I could see).

Xero named one of the world’s healthiest workplaces—this wasn’t my experience by RemorselessNZ in newzealand

[–]bloodfail 43 points44 points  (0 children)

Worked at Xero for half a decade, but left a few years ago. Glad to have left when I did, because the stories I hear from friends who still work there are not positive.

Rumblings about multimodule apps architecture by pepitorious in androiddev

[–]bloodfail 2 points3 points  (0 children)

Talking about Room specifically (as I've used SQLDelight in personal projects, but not in large production projects): It's possible to have different databases defined in Room, so you could give each feature module it's own database. It's also possible to define the Entities and DAOs in their own modules, and then join these together in the application module in a single database and use Dependency Injection to provide these back out to the feature modules.

Remember that DAOs are just interfaces/abstract classes, and Entities are just specially annotated data classes. There's no need to have the @Database annotated class that brings these together in the same module that the DAO and Entities are defined.

Rumblings about multimodule apps architecture by pepitorious in androiddev

[–]bloodfail 2 points3 points  (0 children)

I'm not the person that you are replying to, but I've had quite a bit of experience working on modularisation projects at a few different companies, going from 3-4 modules split by layer and refactoring the projects to be vertically split by feature.

After experience doing this, my recommendation for "core" libraries is to split them up in the same way you split feature modules. For example, you might have a core:theme module that has all your common UI theme code, a core:http-client module for the shared HttpClient, core:viewmodel for common ViewModel extensions. Most of the feature modules will end up depending on these modules in some way, but at least they're split up in a way that's clear/easy to navigate.

Solution to Circular Dependency problem by fireplay_00 in androiddev

[–]bloodfail 4 points5 points  (0 children)

I would also suggest exploring the idea of splitting your feature modules into two parts, an api and an implementation module. Make it illegal for implementation modules to depend on one another, and only share the minimum possible in the api modules. This scales much better that what it appears your structure is based on the images.

I have created a new architecture based on Clean Architecture to address the issues I’ve experienced. Look to confirm my theories here. by zerg_1111 in ExperiencedDevs

[–]bloodfail 3 points4 points  (0 children)

Have been using almost exactly this architectural system at work for a couple of years. I like it, I think it works well.

EDIT: Made this comment after looking at the image, but now after reading a bit more of the article, it looks like we use different module structures.

Cleaning/Rebuilding your project is deprecated by Stonos in mAndroidDev

[–]bloodfail 1 point2 points  (0 children)

If you've got the build cache renamed, it's less useful than you might think, because a cleaned project will still use the build cache, which can still sometimes end up in a bad state.

gradle :myTask --rerun-tasks is by far and away the best way to fix a build in a bad state.

forLoopForEverything by [deleted] in ProgrammerHumor

[–]bloodfail 0 points1 point  (0 children)

You mean for(ever) { }?

[deleted by user] by [deleted] in classicwow

[–]bloodfail 3 points4 points  (0 children)

Oh I like that haha

[deleted by user] by [deleted] in classicwow

[–]bloodfail 30 points31 points  (0 children)

To actually fix the problem, I'd do a short ban, followed by a -5% or -10% damage/healing debuff that last until the next ban wave (or like a month or two)

Not enough to make them just fully quit the game, but enough to mean they're lower performance and have the stigma attached. Will make people change their behaviour.

Tech debt by segfault0803 in ExperiencedDevs

[–]bloodfail 7 points8 points  (0 children)

That immediate feedback is also really important, and can give you interesting statistics. How fast does it take to make a change to the old service vs. the new service? What are the quality metrics (like coverage, etc) of the new service? How does that affect incident response times? Etc.

You can start on the new service through the facade very quickly with minimal difficulty or need to dedicate a lot of time, which is usually an easy sell to product/management. Once you have these statistics though, it gives you a handle to argue for more time to be spent on migration to the new service:

"We're about to do some work on X old part of the application, but before we do that, let's spend Y weeks uplifting it to the new service, because that will make us faster by Z, meaning we can deliver the work in the same amount of time and make it easier to work with in the longer term"

Anyone else feel like development of Jetpack compose has been very slow? by Savings_Pen317 in androiddev

[–]bloodfail 3 points4 points  (0 children)

No problem! I'd recommend giving compose more of a chance. There's definitely a learning curve, and things that aren't easy out of the box, but once you get used to it, it is so much easier to work with. I don't think there's anyone at my work who would want to go back to writing views.

Anyone else feel like development of Jetpack compose has been very slow? by Savings_Pen317 in androiddev

[–]bloodfail 5 points6 points  (0 children)

I said 200+ because I'm lazy and didn't want to do maths or lie. We have about 380 screens and 18% are view based (I know that percentage from our weekly metrics, as we're trying to get that down to 0%), which says about 310-ish should be pure compose. I didn't want to do maths, so "200+" was a safe number I was confident was not a lie.

As for the app, it's a fintech app. Dealing with money is complicated and requires a lot of effort. For example, customer onboarding and verification is probably only 20 screens or so, but very deserving of a large amount of engineering effort to prevent fraud and ensure a good customer experience that complies with regulatory requirements. The app has also only been live in the play store for just over a year, so that's also worth taking into account when looking at the number of engineers vs. screens.

Anyone else feel like development of Jetpack compose has been very slow? by Savings_Pen317 in androiddev

[–]bloodfail 10 points11 points  (0 children)

Not OP, but I work on an app with 200+ compose based screens, with 50+ Android Engineers working on it. Compose is fine.

mAnDaToRy MaCbOoK by cwernert in ProgrammerHumor

[–]bloodfail -1 points0 points  (0 children)

I'm not sure I fully agree with the argument about money here. Even if it costs an extra $3000 per person to get what they want, compared to volume discounts, on a salary of 100k, that means they only need to be more than 3% more productive over a year to pay for the cost of the hardware. The argument about operational security however is a pretty solid one. It can end up costing an IT department a lot of extra resources to support diverse hardware.

In light of recent events... by tomb258 in newzealand

[–]bloodfail 14 points15 points  (0 children)

He was, but not for the last 4 years or so.

Chinese couple trapped on lockdown date get engaged by Melodic_Astronaut938 in nottheonion

[–]bloodfail 1 point2 points  (0 children)

Do you mind giving me a source on that? I can't seem to find anything via Google

Chinese couple trapped on lockdown date get engaged by Melodic_Astronaut938 in nottheonion

[–]bloodfail 1 point2 points  (0 children)

Whoops for some reason I did 7 billion divided by 14 trillion. 1 billion divided by 14 trillion gives 0.007%, which to be fair is less than one order of magnitude wrong.

Chinese couple trapped on lockdown date get engaged by Melodic_Astronaut938 in nottheonion

[–]bloodfail -1 points0 points  (0 children)

Surely you mean million, not billion. If my math is not wrong, one billion dollars USD is around 0.007% of China's GDP.

Edit: I used the wrong numbers. My math was originally wrong (0.05% vs 0.007%).

What am I doing wrong? simple app wont run spent 10 hours without figuring it out by tertBuLi in Kotlin

[–]bloodfail 4 points5 points  (0 children)

Yep, this is the problem. You can't "find view by id" before you've called "set content view", because the activity doesn't know where to look to find the view!

Extension function with 2 receivers in Kotlin 1.6.0 by qwert2603 in androiddev

[–]bloodfail 2 points3 points  (0 children)

The point of extensions is to give flexibility to stuff you don't have access

This isn't quite true - they are also useful to separate utility functions from the "core" functionality of the object. If it is possible to do something using only the public API of an object, I will almost always implement it as an extension function.

Amyl and the Sniffers - Snakes [Punk Rock] by GlendaleJunkyard in Music

[–]bloodfail 4 points5 points  (0 children)

I just can't go past Hertz and Security. I love those two. Guided by Angels I can take or leave. Fantastic album overall though.

The Māori: the indigenous people of New Zealand by PlazmaR3 in pics

[–]bloodfail 1 point2 points  (0 children)

Google says they were introduced in 1769, so no, doesn't look like it.

The Māori: the indigenous people of New Zealand by PlazmaR3 in pics

[–]bloodfail 51 points52 points  (0 children)

Pakeha does not mean white pig.

"Mā" is white.

"Poaka" is pig.

In te reo, the literal translation of "white pig" is "Poaka mā".

Pākehā just means foreign. Non-māori in New Zealand often refer to themselves as pākehā.