06 Feb 2026 #coding
Only 25% of developers regularly use AI agents, according to Sonar’s survey.
After surveying more than 1,100 developers across the globe, they found:
- 90% of respondents use AI for assisting development. But only 55% of them rate AI as “extremely or very effective.”
- 96% don’t fully trust that AI-generated code is functionally correct.
- 48% always check their AI-assisted code before committing.
Why this matters: We’re flooded with headlines predicting the end of coders.
AI generating more than X% of code at a FAANG. One CEO suggesting nobody else should learn to code. To then retract himself saying that replacing senior coders with AI is crazy. And companies using AI innovation as an excuse for more layoffs.
Those numbers show CEOs spread panic to bump stock prices and fuel the euphoria. The real motivator isn’t productivity, but financial interest.
What to do: If you think you’re missing the whole AI movement, let the dust settle down. Double down on the fundamentals, not shiny objects. Maybe it’s time to pick Structure and Interpretation of Computer Programs or any classical textbook.
With 96% not trusting AI, code reviewing, clean code, and security remain essential. Don’t throw away your copy of Clean Code. And even if AI takes over, there’s work for human coders to do.
It’s easy to fall into the AI hype. AI wins on speed. But humans win on communication, collaboration, and problem-solving skills.
Street-Smart Coding covers some of those skills. Follow this roadmap to build hype-proof skills and become the kind of coder AI can’t replace.
04 Feb 2026 #bugoftheday #todayilearned #csharp
In another episode of Adventures with Blazor…
Once more, I ran into the mysterious “TypeError: Cannot read properties of null (reading ‘removeChild’)”. But unlike the last time, it wasn’t a problem in a third-party component that we had to replace. It was my fault.
Wouldn’t it be great if the error message mentioned which property was null: an id, xpath, or CSS class?
This time, a modal created a record and showed a success alert. But after dismissing it and closing the modal, the page broke with the same error.
Here’s a Blazor page that recreates the scenario. A simple modal with a form that shows an alert bound to a _directorSavedSuccessfully. Notice the <div> wrapped around the @if inside the <BodyContent>.
@page "/directors"
<button class="btn btn-primary" @onclick="AddDirectorClicked">Add Director</button>
<ModalDialog Title="Add Director" @ref="_editDialog">
<BodyContent>
@if (_directorSavedSuccessfully)
{
<div class="alert alert-success alert-dismissible fade show" role="alert">
Director saved successfully.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
@* ^^^^^ *@
</div>
}
<EditForm Model="_editDirector" OnValidSubmit="SaveDirectorClicked" id="directorForm">
<InputText @bind-Value="_editDirector.Name" class="form-control" />
</EditForm>
</BodyContent>
<FooterContent>
<button type="button" class="btn btn-secondary" @onclick="CloseClicked">Close</button>
<button type="submit" form="directorForm" class="btn btn-primary">Save</button>
</FooterContent>
</ModalDialog>
@code {
private ModalDialog? _editDialog;
private bool _directorSavedSuccessfully;
private Director _director;
private void AddDirectorClicked()
{
_directorSavedSuccessfully = false;
_editDialog?.Open();
}
private Task SaveDirectorClicked()
{
// Imagine we're calling an API here to save...
_directorSavedSuccessfully = true;
return Task.CompletedTask;
}
private void CloseClicked()
{
_directorSavedSuccessfully = false;
_editDialog?.Close();
}
}
Bootstrap removed the alert node directly, via the data-bs-dismiss="alert". But Blazor was still “tracking” it. So when the modal was closed, Blazor didn’t find the alert. Somebody else ate its cheese. And boom!
The solution? Don’t let anything else touch the DOM, but Blazor. Wire that alert to a variable controlled by Blazor.
-<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
+<button type="button" class="btn-close" @onclick="_ => _directorSavedSuccessfully = false" aria-label="Close"></button>
Et voilà! Let Blazor own the DOM.
For debugging and problem-solving tips, read Street-Smart Coding. And it’s even more relevant now in the era of AI-assisted coding.
03 Feb 2026 #misc
I can’t remember the last time I stared at the ceiling, wondering “what should I do now?”
Growing up without smartphones or tablets made me a friend of boredom. I lived on a main street of a small city. When bored, I counted passing cars in my front yard. Sometimes, I competed with my uncle and sister. The one who counted more cars of a certain color won. Yellow taxis weren’t allowed.
Years later, with an iPhone, work, and side projects, boredom turned into an enemy. I’ve had to work to bring it back.
What I’m doing to be bored again
The other day, I had so much on my mind that I had to sit and do nothing. That was my wake-up call.
To welcome boredom again:
#1. Less phone time. I’m reducing my phone time. Now my phone is in another room. There are books where I used to put it. And I’m writing this with pen and paper first.
#2. A “do nothing” slot. Apologies for the irony, but I’ve set an alarm in my phone labeled, “Mandalas afternoon.” I used to color mandalas during my lowest emotional season. I need to change that label. It should be “do nothing afternoon” and honor it. Not that coloring mandalas is a bad idea.
#3. Walking outdoors. For my physical and mental health, I go running next to the ocean. I’m planning to buy an analog watch (a classical Casio. Anyone else?) and leave my phone at home or put it inside my bag in silent mode.
#4. An Amish hour. I’ve moved my book reading time to one or two hours before bed, away from screens. One evening, after a coffee with a friend, too much caffeine and late-night writing kept me awake for hours. So no more screens before bed. The next challenge: an Amish afternoon. Or even an Amish day. Why not?! I’ll just need to write my daily post in advance.
02 Feb 2026 #misc
“Is there a next part? Are you covering the next stage after being a good coder?” a friend texted me.
He finished Street-Smart Coding, my first book, and was eager for more. A reminder of a marketing lesson I had forgotten.
The best way to promote your book is by writing another one.
I first heard this surprising strategy on James Altucher’s podcast.
Nicolas Cole, author of The Art and Business of Online Writing, teaches the same strategy.
On his YouTube channel, he advises building a portfolio of books instead of chasing one big launch. When readers finish and enjoy your book, they want more. One single title after a big launch doesn’t meet that need.
That’s what happened to my friend after reading my book. And that’s more encouragement to work on the next one.
01 Feb 2026 #misc
I’m writing a book backwards.
Technically, it’s a mini-book. I’m turning a hit post into a book.
In the spirit of doing 10,000 experiments and to keep running content experiments, here’s what I’m doing this month:
#1. Repurpose a hit post. I’m turning one of my most read and liked posts into a short book. Over 100 people liked that post. Proof that the idea works. I’m even naming the book after the post.
That’s what the authors of The Subtle Art of Not Giving a Fuck and The Psychology of Money did.
#2. Find inspiration from comments. My hit post got a decent amount of discussion. I’m using those comments to find keywords, taglines, and objections.
#3. Expand it. The source post is a 7-point listicle. I’m turning it into a 10-chapter concise book, like Steal Like an Artist. Each point expands into one or two pages with stories and past posts.
#4. Write it backwards. Instead of jumping to the introduction, I’m:
- Choosing a title
- Writing a one-line summary
- Outlining the content
- Finding Amazon keywords and categories
- Sketching a sales page
I’m even stealing cover ideas before writing a word.
#5. Make it short. The other day, I found a one-page book, so why not write 10 or 15 pages and call it a book? One or two pages per point plus the front and back matter.
#6. Price it incrementally. I’m following the “$0.99 is the new free” idea. If it gains traction, I’ll raise the price by $1 every other month until it hits $5.
#7. Hit one reader milestone. Just like I set it for Street-Smart Coding, if even one reader beyond my circle buys it, the experiment is a success.