Lean
129 posts

Lean retweetledi

@DamianCatanzaro Baby steps. Los principios siguen siendo los mismos de siempre. Ni hablemos de feedback rápido, repetible.
Español

Charlando con amigos que no son devs y se pusieron a hacer cositas con AI me di cuenta de porque gastan tantos tokens y queman límite a 2 manos:
- Usan todo en un mismo chat por lo que el chat va creciendo y creciendo y creciendo y cada vez le mandas mas contexto.
Cuando pensamos un proyecto hay que irlo separando en pequeñas funciones, cada función va a ser un desarrollo en si, ejemplo en OpenCode hacen /new y arrancan una sesión nueva, el mismo OpenCode es lo suficientemente inteligente para saber a dónde buscar en la carpeta que esta parado.
Estaba viendo que algunos usaban Cursor y gastaban 900k a 3M de tokens por request, es una locura, mis ventanas de contexto no superaban los 150k de tokens en la totalidad del chat, siempre piensen cada chat cómo una funcionalidad, no cómo un proyecto y no solo van a tener más tokens para desarrollo sino que el modelo se va volviendo más tonto a mayor cantidad de tokens pasado cierto umbral.
Español

offering a solution to a problem doesn’t imply people will pay for it, specially if
1 they were not aware of the problem
2 and therefore they don’t grasp why a solution is needed
you can also trick the system and make them believe the problem is more serious than what it really is and drive emotional sales
English


Unit Tests should NOT mirror code
If your unit tests are mirroring your source code structure - one Unit Test per class, then you're doing it wrong.
--
Register: “Stop Breaking Production: ATDD in Legacy Code” (Sep 24, 5 PM) - maven.com/p/f39276/stop-…
#tdd #unittesting optivem

English

@davefarley77 YES!
We don't write test just to have tests.
We write tests to keep reshaping the system safely, to change its structure without affecting its existing behavior.
Refactoring is the real goal, tests enable refactoring.
English

@MatManferdini Back in the old days, everything lived in the view controller. It was hard to maintain, not testable, but that's what we did. Now, everything lives in SwiftUI views. It's similar, just nicer. VM-ish shape tends to emerge naturally when you want automated testing.
English

@corneliusmark @MatManferdini Sometimes it's hard to see that UIKit (or SwiftUI) is an ~external~ uncontrolled dependency, you can't change it if you want to. We're just using it, not designing it. With that in mind, is better to treat it as legacy code (because it has no tests).
English

@MatManferdini Never apply another architecture than the one the frameworks have been designed with in mind. Not adhering to that always results unnecessary extra work.
English

@MatManferdini Yes! Beyond the power of the tool, the real impact (and a bit of the hype), what really matters is the training. We have almost free access to trained models, but not to train them. I recall Tesla training vision—they even built their own "IDE" for it.
English

@MatManferdini @Dimillian A real project isn’t where you practice DI, testing, or architecture. You should’ve figured that out before. Businesses pay for execution, not for coding experiments and practicing.
English

This experience from @Dimillian is interesting because I have never had it, but I have witnessed much of the opposite.
Not saying it's not true. However, I have seen plenty of projects crushed by technical debt and poor architecture.
One startup had to hire a third party and spend tens of thousands of euros to correctly rewrite their MVP from scratch because it was so bug-ridden it was unshippable.
One large company had a project that was three years late because it was also full of bugs caused by a total absence of architecture. It took me days even to find the source of a bug.
At my first job as an iOS developer, the app was plagued by the botched architecture we inherited from the initial consultants who built it. Once, a two-week sprint took four times longer.
I was tasked with adding unit testing, and it proved to be practically impossible. The whole team agreed that we had to rewrite the app from scratch, but management always said no, as that would have meant months of development with no new features.
There might be startups failing because they can't ship an MVP fast enough. However, I have seen numerous quickly shipped MVPs that didn't gain market traction anyway. That's more of a market research/position problem than a technical one.
I agree with @Dimillian that there are many projects with overly complicated architectures and rigid patterns, such as VIPER, that are often implemented for their own sake. I see many of them online.
However, the solution is YAGNI, not discarding architectural patterns entirely. Design patterns were created to solve problems. If you don’t have a problem, you don’t need the pattern that solves it.

Thomas Ricouard@Dimillian
The singularity is near, keep your code simple dimillian.medium.com/keep-your-code…
English

@PatoBullrich Estoy en tandil no hay NAFTA casi en ningún lado, solo un Shell te carga cupos de 5000 pesos
Español

Async await in Swift makes it less needed to use the Result enum. Personally, I've not been using it anywhere else than inside completion closures.
Do you still see value for the Result enum?
avanderlee.com/swift/async-aw…
#swiftlang #iosdev

English

@mecid The view model should access domain objects (product) and expose the visible things (formatted text) so the view renders them. I’d put formatting in the vm and move it to a vm’s collaborator if needed (repeated/similar formatting needs). But that’s an implementation detail.
English















