Some of the video URLs of #kotlinconf23 most via [Wayback/Archive] KotlinConf’23 – YouTube:
Archive for the ‘Code Quality’ Category
KotlinConf’23 video streams (including the keynote by Kevlin Henney which is generic to any programming language or concept)
Posted by jpluimers on 2026/05/26
Posted in ChatGPT, Code Quality, Conference Topics, Conferences, Development, Event, Java Platform, Kotlin, Pingback, Software Development, Stackoverflow, Technical Debt, Testing | Leave a Comment »
Having some Technical Debt is OK as long as you keep paying the debt: Refactoring Is Not Just Clickbait – Kevlin Henney – NDC Oslo 2022 – YouTube
Posted by jpluimers on 2025/10/28
[Wayback/Archive] Refactoring Is Not Just Clickbait – Kevlin Henney – NDC Oslo 2022 – YouTube
Via:
- [Wayback/Archive] Arda Cetinkaya on Twitter: “If you are doing some new business as MVP, focusing on business quality rather than technology quality is more important. It’s ok to have some tech. debts that can be paid later. It’s OK if no good answer for “How?” but it’s not OK to not have a solid answer for “What?” 🧑🏽💻”
- [Wayback/Archive] Alican Korkmaz on Twitter: “@ArdaCetinkaya Agreed. In this video, @KevlinHenney explains that having tech debt should not be perceived as dreaded as it is. The important thing is regularly visiting and paying them.”
–jeroen
Posted in Agile, Code Quality, Conference Topics, Conferences, Development, Event, Refactoring, Software Development, Technical Debt | Leave a Comment »
Critical Program Reading (1975) – 16mm Film – YouTube
Posted by jpluimers on 2025/08/28
Code quality courses have been an ancient art: this video turned 50 this year (:
[Wayback/Archive] Critical Program Reading (1975) – 16mm Film – YouTube
Via: [Wayback/Archive] Mac 💉💉🦠 on Twitter: “Critical Program Reading, a 16mm film from 1975 dug up by @TechConnectify about Structured Programming techniques … “Code unto others as you would have others code unto you.” (cc @KevlinHenney)” / Twitter
Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »
Comment Only What the Code Cannot Say | by Kevlin Henney | Medium
Posted by jpluimers on 2025/08/13
Often after having taught a topic for decades, somebody rephrases it in a beautiful concise way:
[Wayback Comment Only What the Code Cannot Say | by Kevlin Henney | Medium
Kevlin has the same two quotes I have included teaching software quality for a long time:
In The Elements of Programming Style, Kernighan and Plauger note thatA comment is of zero (or negative) value if it is wrong.Instead of writing apologies and apologia, follow Kernighan and Plauger’s advice from the 1970s:Don’t comment bad code — rewrite it.
Posted in Agile, Code Quality, Code Review, Development, Software Development | Leave a Comment »
Naming things isn’t hard: if it contains a number, include the unit in the name (your timeout might not be in nanoseconds)
Posted by jpluimers on 2025/05/27
This case, it was C# accessing a SQL back-end, but the responses to the Tweet how so many more examples not even related to software development.
Remember that plane crashing because they overloaded while they thought the fuel load numbers were in Imperial pounds where in fact they were in metric kilograms?
That’s why naming things that contain numbers should contain the unit in their name!
Related blog post: Watch “Felienne Hermans: How patterns in variable names can make code easier to read” on YouTube
Tweet: [Wayback/Archive] Nick Craver on Twitter: “Troubleshooting a hanging test suite and godDAMMIT. “In seconds”. Integer timeouts should be a felony offense punishable by an indeterminate amount of seconds/milliseconds/hours/fortnights/whatever the judge chooses.”
var csb = new SqlConnectionStringBuilder(TestConfig.Current. SQLServerConnectionString) { ConnectTimeout = 2000 }; int SqlConnectionStringBuilder.ConnectTimeout { get; set; } Gets or sets the length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. Returns: The value of the SqlConnectionStringBuilder, ConnectTimeout property, or 15 seconds if no value has been supplied.
Posted in .NET, Agile, C#, Code Quality, Conference Topics, Conferences, Database Development, Development, Event, Software Development, SQL, SQL Server, Systems Architecture | Leave a Comment »
Watch “Felienne Hermans: How patterns in variable names can make code easier to read” on YouTube
Posted by jpluimers on 2024/05/21
A while ago, various sources pointed me to the great video below by [Wayback/Archive] Felienne Hermans: How patterns in variable names can make code easier to read – YouTube.
I responded to the first Tweet with a series of tweets describing my two pet-peeves that I see going wrong when teaching new programmers how to name things (the examples are in Delphi, but I have seen similar shortcuts being taken in C#, VB.NET, and JavaScript being taught in both courses and conference sessions).
The two pet-peeves are:
- avoid abbreviations as those are context sensitive; given software development already mixes technical context (it’s software development!) and domain/semantic context it makes it extra hard to decipher abbreviations
- if you want/need to mix technology and semantics in names (most often you do), start with the most meaningful semantics and end with the least meaningful technology
- if you don’t need technology in your names, at least put the most meaningful semantics and end with the least meaningful technology
Both very well amend what Felienne – a university professor – states in her research backed video:
“Their results show that ‘linguistic code smells’ actually increase cognitive loads,” she said. “Your brain has to work harder to process code that has these type of code smells. So that’s not what we want.”
I saved the [Wayback/Archive] tweets in the [Wayback/Archive] ThreadReader as this text (slightly edited for formatting):
Posted in Agile, Code Quality, Conference Topics, Conferences, Development, Event, Software Development, Systems Architecture | Leave a Comment »
Avoid a software rewrite: it usually brings more trouble and puts you at a distance to competitors
Posted by jpluimers on 2023/11/22
[Wayback/Archive] lisacrispin on Twitter: “👇 This. If you want a new architecture, use the strangler fig pattern, and as he says in the thread, do it in prod. If you spend all your time rewriting, and your competitors spend that time adding new features for customers, your product will be in trouble.” / Twitter pointed me to the below thread.
The urge of rewrite often comes from a feeling of too much technical debt to carry. Preventing that technical debt in the first place would make this feeling go away in the first place so please strive for bringing down and limiting technical debt in the first place.
More about the above tweet further on in this blog post, but now back to the “rewrite everything” pit many fall into.
I saved the whole thread in [Wayback/Archive] Thread by @andrestaltz on Thread Reader App – Thread Reader App of which this are a few highlights:
Posted in Agile, Code Quality, Design Patterns, Development, Software Development, Systems Architecture, Technical Debt | Leave a Comment »
Maarten van Smeden on Twitter: “Peer review proces explained (video)”
Posted by jpluimers on 2023/09/26
Posted in Agile, Code Quality, Code Review, Development, Power User, Software Development | Leave a Comment »
XPath based bookmarklets for Archive.is: more JavaScript fiddling!
Posted by jpluimers on 2023/09/20
As I promised a few months back in Bookmarklets for Archive.is and the WayBack Machine to go to the original page, moar JavaScript fiddling, this time with XPath based bookmarklets to navigate from Archive.is pages to Saved From, Redirected from, Via and Original pages.
An alternative would be using XPath as the additional fields are always structured in a table like the html below (taking complex pages like https://archive.ph/5iVVH and https://archive.ph/2015.11.14-044109/http://www.example.org/ as an example).
I got triggered to using XPath from this answer from [Wayback/Archive] gdyrrahitis at [Wayback/Archive] Javascript .querySelector find by innerTEXT – Stack Overflow (thanks [Wayback/Archive] passwd for asking):
Posted in Agile, Bookmarklet, Code Quality, Code Review, Development, HTML, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development, XML/XSD, XPath | Leave a Comment »
During software quality courses, I always explain to avoid abbreviations and acronyms as they are very domain specific. It seems authz, authn differ. As do a11n,
Posted by jpluimers on 2021/07/07
Each time I teach or talk about software quality, I stress that you should not use abbreviations nor acronyms as they confuse people and make communication a lot harder.
This is not just because acronyms and abbreviations are domain specific, which makes it harder to switch domains, but also because it raises the level for people coping with things like wordblindness or dyslexia.
Recently, two new abbreviations seem to have popped up: authn and authz (don’t you love it that Wikipedia has links for them, but does not explain them?). At first I thought it had something to do with who authored some bits of a system. But I was wrong:
[WayBack] Ian Coldwater 📦💥✨ on Twitter: “authn == authentication authz == authorization… “
For an all-inclusion point of view, I was amazed at for instance a11n, and I am not alone:
[WayBack] Thread by @MattGrayYES: “Here’s a question: When I see people tweet about accessibility they hashtag . What links allies to accessibility? Googling didn’t help […]” #ally
Here’s a question: When I see people tweet about accessibility they hashtag #ally. What links allies to accessibility?
Googling didn’t helpHahaha apparently it’s a11y not ally, as an abbreviation of accessibility. Is that ironic or what. How is anyone meant to know that‽
Apparently some people can’t be bothered to write the eleven letters between the a and the y, so swap it for “11”Now I think of it, writing like that is so easy to read!
I3l f3d b7t: h2h b4s, s6s, b3n, b3k p5g a1d b3d b3s.
Add to that things like l10n or i18n, and dozens of other abbreviations and slowly your brain will start to melt until you realise it is too late.
So pick up your autocorrect, typing completion and other automation systems and lets get rid of acronyms and abbreviations.
Because we deserve better.
–jeroen
Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »





