Roger Barnfather @rogerbarnfather.bsky.social · 24/07/2026We all find it hard to make good software analogies when explaining to a non-software minded person. Some analogies are good for a while but then they reach their limit. Software is hard to explain. It’s its own thing. 010
Roger Barnfather @rogerbarnfather.bsky.social · 06/02/2026Do any “senior software engineers” or “software architects” know how to engineer or architect software? They’re high up in the company, but all their code from years ago is causing the tech debt problems. Years spent in a company doesn’t make you good. It makes you “senior”. There’s a difference. 000
Roger Barnfather @rogerbarnfather.bsky.social · 01/10/2025I used to think software could be written in a definitive, “perfect” way. Just use the right patterns. But I realised it’s all about modelling things in a human way. And hide the complexity. This means trade-offs everywhere and you have to make the best of what you’ve got. Unsatisfying but true. 000
Roger Barnfather @rogerbarnfather.bsky.social · 24/07/2025I failed a job interview technical test relating to Domain Driven Design because I used too much abstraction while covering money currency types. To be fair, I over complicated it. Lesson learned: keep all that stuff simple, one big-decimal value object, and in one domain service. 000
Roger Barnfather @rogerbarnfather.bsky.social · 24/05/2025@vaughnvernon.bsky.social Hi there Vaughn! I’m loving reading “Implementing Domain-Driven Design”. It’s great stuff. I spotted this little doozy. 131
Roger Barnfather @rogerbarnfather.bsky.social · 27/04/2025I’m currently reading Vaughn Vernon’s “Implementing Domain Driven Design”. Brilliant stuff. A big book but full of quality ideas. 121
Roger Barnfather @rogerbarnfather.bsky.social · 27/03/2025Auto-incremented IDs vs generated UUIDs. What do you think? 110
Roger Barnfather @rogerbarnfather.bsky.social · 16/03/2025Better Controllers: - Controller <- Inject UseCase + Presenter - Controller handles/scrapes/validates request - Creates a Command DTO - Invokes UseCase with DTO - Presenter <- Inject Repositories + View renderer - Controller invokes Presenter - Controller sends output to client 000
Roger Barnfather @rogerbarnfather.bsky.social · 14/03/2025When you have a bad programming idea, ChatGPT is great! It will guide you step by step on how to turn your bad idea into an incredibly complex bad idea that does the same thing but perfectly conforms to the SOLID principles. 😄 000
Roger Barnfather @rogerbarnfather.bsky.social · 12/03/2025Laws and constitutions are just words on paper. Their virtues rely on the willingness of enforcers (police, armed forces and judges) to uphold the words, along with the good nature present in all people. Weakened personal values or corrupted enforcers unlock the door, allowing tyranny to walk in. 000
Roger Barnfather @rogerbarnfather.bsky.social · 05/03/2025Has anyone used the Presenter and ViewModel pattern from a UseCase? If the output can vary (e.g.- web page with user details, special offers, adverts etc. VS command line which just wants “Success!” or “Error”) then how does the UseCase know what to give the Presenter? 100
Reposted by Roger BarnfatherMike Galsworthy @mikegalsworthy.bsky.social · 17/02/2025Trump is an enemy of us all. Europe needs to unite - and the UK needs to rejoin the EU. If you want to see that happen… join European Movement UK right now. We’re driving this. ✊europeanmovement.co.ukEuropean MovementWe're the UK's largest pro-European movement. Our goal is to reverse the calamity of Brexit and restore relations with our European neighbours. 371332438
Roger Barnfather @rogerbarnfather.bsky.social · 16/02/2025Keir Starmer! Nice one. A leader with a backbone in European politics for once. Someone standing up to a bully. PM 'ready' to put troops on ground in Ukraine to protect peace 000
Roger Barnfather @rogerbarnfather.bsky.social · 06/02/2025I used to frequently discover fun websites that I enjoyed and would bookmark. I felt happy, enriched and inspired. That doesn’t really happen any more. What we need to invent is some sort of “world-wide web” where sites link to other related sites. Surprised it hasn’t already been done 🤷♂️🌍😉 000
Reposted by Roger Barnfatherwomensartbluesky.bsky.social @womensartbluesky.bsky.social · 05/02/2025Felicity House, UK contemporary artist who was elected a member of The Pastel Society #WomensArt 049160
Roger Barnfather @rogerbarnfather.bsky.social · 03/02/2025People in the 20th century would do things when they got pissed off. People in the 21st century just post messages to everyone else, who, in turn post very similar messages to everyone else. Nobody actually does a thing because they believe posting and reading is somehow changing things. 000
Roger Barnfather @rogerbarnfather.bsky.social · 03/02/2025And so, when the time came the humans willingly plugged themselves into The Matrix. The machines and their early masters barely had to do anything at all… 000
Roger Barnfather @rogerbarnfather.bsky.social · 30/01/2025I’ve killed off my Twitter/X account now. Good riddance! I couldn’t take the constant hateful propaganda. 000
Roger Barnfather @rogerbarnfather.bsky.social · 30/01/2025I’m beginning to wonder if anyone in the web development world knows about Event Sourcing and Domain Driven Design or Hexagonal Architecture… Are we all stuck with CRUD? Maybe this is just a backward PHP thing where the framework counts for everything. #php #ddd #dddesign #eventsourcing 310
Roger Barnfather @rogerbarnfather.bsky.social · 28/01/2025Just deactivated my Twitter account. It feels kind of liberating. I didn’t really need anything on there anyway. I slightly felt like I was attached because of old interactions. But hey, all gone now. So long mother-Musker! 000
Roger Barnfather @rogerbarnfather.bsky.social · 16/01/2025If you want to play the Beatles, good luck to you. Their chord structures are so difficult considering how simple the songs sound! 000
Roger Barnfather @rogerbarnfather.bsky.social · 10/01/2025How do I delete my Mastodon account? The platform never really worked for me. 000
Roger Barnfather @rogerbarnfather.bsky.social · 07/01/2025In the movies we used to watch, billionaires wore capes and went rushing around trying to save the innocent from the tyrants of the world. Nowadays, the billionaires just want to watch the world burn. 000
Roger Barnfather @rogerbarnfather.bsky.social · 06/01/2025I’m waiting for a long running scandal involving Elon Musk that keeps getting longer so we can call it Elongate. 000
Roger Barnfather @rogerbarnfather.bsky.social · 02/01/2025BoundedContext > contains Controller > creates DataObject > puts on CommandBus > delivers to UseCase > uses Repository > retrieves Aggregate > passes to DomainService > uses AggregateRoot > uses ValueObject > eventually Infrastructure > triggers EventDispatch DDD flow in a nutshell. 000
Roger Barnfather @rogerbarnfather.bsky.social · 01/01/2025Please use this new year to realise we can all start again. The past is behind. The future is ahead. We can reset. If Darth Vader could do it, then we can all do it too. May the force be with you!media.tenor.comdarth vader says you were right about me while wearing a maskALT: darth vader says you were right about me while wearing a mask 020
Roger Barnfather @rogerbarnfather.bsky.social · 30/12/2024“Do you expect me to talk?” “No, Mr Bond. I expect you to die!” 020
Roger Barnfather @rogerbarnfather.bsky.social · 30/12/2024My new political party: Fountains, statues and monorails. Free for all. I call it Rogeria. Rights for all people and animals. Free camping rights all around the UK. Resistance to dark outside powers and dark inside powers. A constitution to prevent government intervention on peoples’ lives. 010
Reposted by Roger BarnfatherMike Galsworthy @mikegalsworthy.bsky.social · 29/12/2024A fascinating description. 262208453
Roger Barnfather @rogerbarnfather.bsky.social · 30/12/2024Anyone who’s done DDD in PHP, how was it? Did it make life easier than regular CRUD? 010
Roger Barnfather @rogerbarnfather.bsky.social · 27/12/2024I did my usual Christmas tradition and gave a fiver to a homeless person. I don’t care what they spend it on. If we all did this then at least everybody gets a bit of attention at this time of year. That’s what I think it’s all about. 000
Roger Barnfather @rogerbarnfather.bsky.social · 22/12/2024In a chef’s kitchen the cooks work together, communicate a lot, keep things on track and rely on quality for their reputation. The head chef will re(de)fine dishes relying on feedback from their fellow experts and customers alike, always sharing ideas. Each kitchen is different. Software is similar. 000
Roger Barnfather @rogerbarnfather.bsky.social · 22/12/2024Building software is a fun team game where you work together, get excited, chat with stakeholders and solve the problems along with tests and refactoring. Then you celebrate at the end of the day whichever way best suits you. A high five for a typical weekday and maybe a chat and drink on a Friday. 000
Reposted by Roger BarnfatherJason Gorman @jasongorman.bsky.social · 22/12/2024Debugging could even be seen as the *absence* of a skill. Like saying "I'm really good at putting kitchen fires out" 142
Roger Barnfather @rogerbarnfather.bsky.social · 15/12/2024There are examples of pure genius in the world of human history that just cannot be explained. The ancient Egyptians. The Beatles. With an emphasis on the latter. 000
Roger Barnfather @rogerbarnfather.bsky.social · 14/12/2024We’re posting here on social media, “venting out” & writing about those who are super-rich and in control… Those who are super-rich and in control are laughing. They’re enjoying us sitting with smartphones, doing nothing but being annoyed & sharing. We do nothing but wait for a hero. #timeforheroes 000
Reposted by Roger BarnfatherBladeoftheSun @bladeofthes.bsky.social · 07/12/2024Number 1 symptom of the Woke Mind Virus. You don't believe stupid racist sh*t. 28988264
Roger Barnfather @rogerbarnfather.bsky.social · 03/12/2024Here is a pattern I like: interface FilterInterface + filter(items) class Filter1 class Filter2 class Filter3 class CompositeFilter + add(FilterInterface filter) + filter(items) FilterBuilder + addFilter1 + addFilter2 + addFilter3 + build(): FilterInterface Not just for filters. 000
Roger Barnfather @rogerbarnfather.bsky.social · 02/12/2024I’m really liking BlueSky. 🙂 That is all. 000
Roger Barnfather @rogerbarnfather.bsky.social · 01/12/2024Wrap IFs, FORs, SWITCHes, WHILEs etc. in small, context-related classes (for your working code) as best you can. The sooner you leave that layer of programming, the better your code will be and the happier your team will be. You’ll still need them elsewhere now and then but consider that too. 000
Roger Barnfather @rogerbarnfather.bsky.social · 21/11/2024Is anyone using one database but plucking different things from different tables to make different objects for different situations? The common (CRUD) approach is 1 record per entity/concept. Is anyone dipping in and out to gain flexibility over this? E.g. A SingingUpUser and a SignedUpUser etc..? 000
Roger Barnfather @rogerbarnfather.bsky.social · 19/11/2024In software we write tiny granular level IFs, FORs, list manipulations, string manipulations etc. in all the wrong places. Use low level, meaningful concepts to contain/reuse them. Make medium level concepts out of those. Make high level concepts out of those. Concepts and meaning all the way down. 000
Roger Barnfather @rogerbarnfather.bsky.social · 15/11/2024@danabra.mov Dan. I want to be able to push the little panel away that tells me my post has been made or that I’ve followed someone. It hangs around too long. Is that a thing you can do or suggest to whoever can please? Thanks! Sorry if it’s strange giving customer feedback directly. 000