Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
If you want to take your use of AI for software development to the next level, you could do worse than superpowers, a set of interrelated AI skills that bring some process and rigor into play.
-
I make use of Windows Terminal a lot.
-
Over a decade ago, a project manager and my work approached me with a proposal.
-
Table-driven tests are a cornerstone of good unit testing in any language, Go included.
-
When writing a Go test, don’t just assert that an error occurred - assert that the error you have is the one you expect.
-
The integration between the Windows Subsystem for Linux (aka WSL) and Windows works spectacularly most of the time, but occasionally things get a little troublesome.
-
As discussed last time, usually a proper constructor is the best way to create a new instance.
-
The API we presented last time had a problem - it required users to remember to call Initialize() before an instance could be used without problems occurring.
-
Imagine that you’re working on an unreleased project, and you discover a need to extend one of your custom types.
-
How do you decide what methods or functions to write as you’re coding?
-
When we finished last time, I’d just run a simple bash script with some surprising output. $ .
-
Here’s a bit of a puzzle - all of the clues in this post, and the answer will follow in the next one.
-
In the early days of the web, circa 1995 or so, it was common for the forms on websites to return a single error on submission, identifying only the first field that needed attention.
-
When managing errors in your code, help out your future self (and anyone else who will be supporting your code in the future) by doing more than the simplest possible thing.
-
One of the best ways to disappoint someone is to break a promise - and this applies both to the software we write and the applications we use as well.
-
How do you tell when you are finished working on a change you are making to the code on your current project?
-
Returning to a project that had lain fallow for several months, I found I was unable to push changes from my work in progress branch up to GitHub.
-
In today’s post: An obsession with primitive types can be a problem; Ways to refactor to introduce semantic types; WSL now supports GUI apps and it’s wonderful; Lessons from Japanese martial arts; How to prepare to break a habit; Spam blogs; Why your sleep
-
Imagine this: While tackling a subtle bug in a complex application, you make a simple change that you think will address the issue.
-
Imagine this: Your team has a big release date coming up next month.
-
In today’s post: Building a better UI by decomposing CRUD screens; check your certificate expiries in your CI builds; Windows 11 is coming; Visual Studio 2020 is 64 bit; INVEST in your backlog; 7 virtues of software design; PHPs Git server was hacked; Mal…
-
Imagine this: You come into work on Tuesday morning after a four-day holiday weekend to find a cryptic email from one of your best developers describing some changes they just checked into your main branch.
-
Imagine this: You’re working a critical new feature, one your team anticipates will not only be really popular with your existing users, but which will organically drive growth by attracting a large number of new users.
-
In today’s post: Avoiding shotgun surgery; why too many parameters is a bad thing; upgrading to .NET 5; Creating a DSL using a Source Generator; Common sense practices to avoid; Why people write bad code; Rethinking passwords; The curious case of the Great
-
Imagine this: You’re the manager of a development team and you normally give your developers a fair amount of autonomy.
-
Imagine this: You are developing a new product feature, requested by one of your company’s most important customers.
-
Imagine this: You’ve just started working on a new team and you’ve your first task, a simple bug fix to address a problem recently experienced by multiple customers.
-
Imagine this: You’re the manager of a successful development team and your CFO has just come back from a conference.
-
We’ve all heard of Test-Driven Development (aka TDD), and those of us who’ve been around the block a few times have no double heard of Behaviour Driven Development (BDD) and Domain Driven Development (DDD) as well.
-
Nearly 15 years ago, I found myself with a particular problem at work.
-
It seems that the details of the eighteen people in New Zealand with positive COVID-19 tests have been disclosed, and officials are speculating that it may have been due to human error: “I have been advised by the Ministry of Health that at this stage it…
-
It wasn’t very long after my prior update on caching that a friend informed me that the code has a race condition.
-
In today’s post: Reducing the scope of each pull request; rules for better powerpoint presentations; a welcome to C# 9.0; Chrome has a new feature to manage your tabs; we’re all bad programmers; five ideas for eliminating bad code; thunderbolt ports are i…
-
This week I discovered that my Inbox had ballooned to over 20k messages.
-
We have a poor habit in the tech industry of glossing over the complexity of things.
-
After our recent introduction of caching, I had an interesting conversation with a friend about the way I’d written the code.
-
In today’s post: How to choose between a static factory method and a constructor; What not to do with async; Meeting with Skype for free; How to stop wasting your time; What you don’t know about names; New static analysis features in GCC prove their worth;
-
If you’ve been playing around with maintenance screen and the speech integration that we completed last week you may have noticed that there can be a noticeable lag between the time you press a play button and when you hear the speech.
-
With our speech infrastructure in place, our next step is to hook it up with our existing maintenance screen.
-
Now that we’ve modified our Redux store to support middleware, we have the foundation needed to integrate speech synthesis into the main flow of our application.
-
Based on the interfaces we defined last time, let’s integrate middleware functionality into our existing Redux store.
-
The Liskov Substitution Principle (or LSP) is one of the big five SOLID principles and one that is often poorly understood.
-
At this point in the development of the WordTutor, we need to properly incorporate speech generation into the application.
-
In today’s post: Why Code Katas are important and how do do them well; the new Microsoft Edge is available now and coming to a PC near you; Yori is CMD reimagined; improving email one message at a time; why some people are chronically tardy; Intel patches…
-
Recently a friend of mine noticed some code in a book that was, shall we say, considerably sub-optimal.
-
For the WordTutor application to work, we need to be able to read words (and letters) out loud to our student.
-
An anti-pattern variant of Data Transfer Objects (DTOs) where the objects are forcefully deprived of all possible functionality, even for matters that are directly relevant such as construction, serialization, and (first stage) validation.
-
In today’s post: how to write better git commit messages; a cool debugger trick for Visual Studio; a new approach for producer/consumer programming in .NET Core 3.0; how to focus in on a part of a data structure; an alternative to a regular to-do list; how
-
To implement the logging interfaces described earlier, there are some issues we need to consider.
-
There’s a very clever piece of design advice that I was taught at university that seems to be less well known than I expected.