Every time I see a team celebrating their new "shared module," I remember this lesson.
Reuse is a dangerous form of coupling.
They found the same logic in two places and did what good engineers do: put it in one place and called it a win. Clean, responsible, textbook.
Six months later, someone needs to change it.
Suddenly, a small update for one team's requirements breaks three services, blocks two releases, and triggers an emergency meeting between people who've never talked to each other before.
This is the cost nobody preaches about.
DRY is one of those principles that feels unquestionably right until you apply it across team boundaries. The moment you share a module between domains, you're not just sharing code. You're creating a dependency that nobody owns and everyone resents.
Before you reuse, ask:
Will this change often?
Does it belong to one domain?
Are the consumers truly aligned in purpose?
Will one team’s change surprise another team?
If the answer to any of these is "I'm not sure," stop. Duplicate it.
I know how that sounds. It feels lazy. It feels like the thing a junior developer does before they know better. But here's what nobody wants to say out loud: two independent implementations you control are almost always cheaper than one shared one serving masters with different goals.
Duplication is a local problem. Coupling is an organizational problem.
One of them you can fix in an afternoon. The other requires a meeting with five teams and someone's manager.
Reuse isn't free. Treat it like the trade-off it is.
Amazon is holding a mandatory meeting about AI breaking its systems. The official framing is "part of normal business." The briefing note describes a trend of incidents with "high blast radius" caused by "Gen-AI assisted changes" for which "best practices and safeguards are not yet fully established." Translation to human language: we gave AI to engineers and things keep breaking?
The response for now? Junior and mid-level engineers can no longer push AI-assisted code without a senior signing off. AWS spent 13 hours recovering after its own AI coding tool, asked to make some changes, decided instead to delete and recreate the environment (the software equivalent of fixing a leaky tap by knocking down the wall). Amazon called that an "extremely limited event" (the affected tool served customers in mainland China).
The drones you see with flashing lights are traffic police drones in China.
They monitor traffic, assist the police, and intervene directly from the air.
China is already living in 2050. 🇨🇳🚁
Bayes’ theorem is probably the single most important thing any rational person can learn.
So many of our debates and disagreements that we shout about are because we don’t understand Bayes’ theorem or how human rationality often works.
Bayes’ theorem is named after the 18th-century Thomas Bayes, and essentially it’s a formula that asks: when you are presented with all of the evidence for something, how much should you believe it?
Bayes’ theorem teaches us that our beliefs are not fixed; they are probabilities. Our beliefs change as we weigh new evidence against our assumptions, or our priors. In other words, we all carry certain ideas about how the world works, and new evidence can challenge them.
For example, somebody might believe that smoking is safe, that stress causes mouth ulcers, or that human activity is unrelated to climate change. These are their priors, their starting points. They can be formed by our culture, our biases, or even incomplete information.
Now imagine a new study comes along that challenges one of your priors. A single study might not carry enough weight to overturn your existing beliefs. But as studies accumulate, eventually the scales may tip. At some point, your prior will become less and less plausible.
Bayes’ theorem argues that being rational is not about black and white. It’s not even about true or false. It’s about what is most reasonable based on the best available evidence. But for this to work, we need to be presented with as much high-quality data as possible. Without evidence—without belief-forming data—we are left only with our priors and biases. And those aren’t all that rational.
@IvoITD Грешки ще правят и двата вида, много често от неправилен/непълен prompt. Важно е да има адекватни последващи действия и да не станат повече грешките. 😬
@IvoITD Human made прототипите също не съм bullet proof. Често временните решения остават постоянни и се носят с години (и техните недостатъци).
След време някой се "бори" и се опитва да "изплати" техническия дълг ... или се сблъсква с label "това не го пипаме" 😅
@IvoITD Поздравления, Иво! Валидиране на идеи, създаване на прототипи и MVP, даване на начален тласък - това е страхотна опция. 👍
Интересни са нуждите на такива приложения в дългосрочен план - разширяване, поддръжка, технически проблеми ... времето ще покаже.
@boristane Very useful & well structured article @boristane 👏 I think it is great base for people with no or some basic experience with AI coding agents (and not only). With this approach they can get much more as end result and understanding how the AI workflow should be handled properly.
The @cooolboxbg experience 😎
По-малко от 12 часа - и новият обект вече беше онлайн. Подадох заявка, веднага се свързаха с мен да уточним детайлите, организираха екип и в 9:30 всичко беше готово. 🚀
Браво на @IvoITD и екипа му за безупречно организирания процес и ефективната работа! 👏
Yesterday’s Cloudflare outage caused disruptions across the internet. We also experienced turbulence in some of our Cloudflare-dependent services - big respect to everyone who worked to restore stability. 🙏
Despite this, our core voucher issuing, delivery & processing services at @WogiSG remained fully operational, thanks to the resilience built into our platform. 🚀
Reliability isn’t an accident. It’s engineering.
Основни навигация в и между builtin приложенията
- safari - нов таб, споделяне, swipe between tabs те праща в друго приложение, но не може да се върнеш, търсене и писане - 2 input-а и всеки е с по един Х 🤣
- phone/contact/calls - main & core feature на телефона - в списъка с обсаждания трябва да кликаш по няколко пъти за да стартира обаждане, търсене на контакти 🫣 мега объркано и бъгаво и пак тези Х навсякъде
- carplay ако използваш - на кой му трябват widgets между home screen & sidebar nav 🤦♂️ да видиш колко ти е батерията или колко е часа … нещо което го пише на няколко места вече, а най-вероятно зареждаш и телефона
- messages, notes, mail client… you name it…
Визуалните ефекти на балончета и замазано стъкло, напомнящи на игра за подрастващи, не помагат за разочарованието от изброените горе неща, дори засилват.
@NanouuSymeon Knowing the difference between Git and a Git repository hosting service is a fundamental sign of experience in this area. It seems you may not be aware of this distinction, yet you’re sharing content without fully understanding it.