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; Malware targeting Windows containers; FreeBSD’s close call; Space X torment; and What’s new in C# 9.
Sharpen the Saw used to be an email newsletter of information I published for the professional development of software developers. Now it’s a series of blog posts. While targeted primarily at developers working with the Microsoft technology stack, content covers a wider range of topics.
Always a way to improve the code you write every day.
Decomposing CRUD to a task-based UI
Derek Comartin makes the case in this post that a simple CRUD screen is often the wrong solution for user interaction - and that such screens should be decomposed into independent task-specific screens oriented towards specific user goals. I think he’s right - and that such decomposition is applicable in other areas as well, such as the division of functionality into microservices.
Certificate Expiration Check
Here’s a very simple unit test you may want to include in your continuous integration test suite. It fails the build if you get within 30 days of certificate expiry without rolling them, giving you time to take care of the issue before things actually break.
Software & Updates
A new or upgraded tool can be a beautiful thing.
Announcing the first Insider Preview for Windows 11
Perhaps the biggest software update news of the month, Microsoft has announced that all the rumours were true - Windows 11 is coming. Better yet, if you’re enrolled in the Windows Insider program (and you have the resilience for dealing with the frustrations of a pre-beta operating system), you can try it for yourself right now.
The story around hardware requirements is interesting - the announced requirements are for relatively new hardware, yet Microsoft is allowing it to be installed on quite old hardware for testing purposes. For example, I’m running it successfully on an original Surface Pro tablet, circa 2012, and it seems to work just fine. I wouldn’t be surprised to see the requirements adjusted before GA.
Don’t put this on your primary productivity device unless you’re willing to completely reformat the drive and start from scratch if something goes wrong. If you do put this on your primary machine, make sure your backups and replications are running properly so that anything (everything!) you value exists elsewhere too.
Visual Studio 2022
The next version of Visual Studio is here - and it’s a 64-bit application. This is a change many years in the making, and it promises improved performance and increased reliability for this stalwart development tool. In my own testing, I’ve already found it to be faster, even on some moderately sized solutions just with a handful of projects.
VS2022 installs side by side with any existing installation, so you can audition it without affecting your day to day work. Download it here
Announcement blog posts:
A great developer does more than just write great code.
The INVEST mnemonic is one way to capture the characteristics of a useful entry on your product team’s backlog:
If each feature request or improvement has these characteristics, your velocity as a team will be more predictable.
The 7 Virtues of Good Software Design
An interesting DZone article where Santiago Garcia suggests that good software has seven important characteristics:
Moreover, they provide a good argument for why these virtues should be considered in this particular order.
Staying safe online and writing secure systems are both harder than we think.
PHP’s Git server hacked to add backdoors to PHP source code
The PHP project’s primary git server was hacked in an attempt to inject a Remote Code Execution (RCE) vulnerability. With around 80% of the internet running on PHP, successfully injecting an RCE into the platform would have been catastrophic.
First Known Malware Surfaces Targeting Windows Containers
Running a Kubernetes cluster doesn’t absolve you of worry about security concerns. Consider Siloscape, some malware discovered by researchers from Palo Alto Networks specifically designed to escape from a Windows-based container and infect the host Kubernetes node.
Sometimes the answer is random.
Buffer overruns, license violations, and bad code: FreeBSD 13’s close call
This is a fascinating exploration of the FreeBSD process and how things went very wrong for a few contributors. Fortunately, the problems were caught well before they because of an issue for the wider ecosystem of folks dependent on FreeBSD for day to day work.
The 2008 moment when triumph turned to torment for SpaceX
An excerpt from the book LIFTOFF, this Ars Technica post paints a vivid picture of the early days of SpaceX, back in 2008
Take some time to feed your mind.
What’s New in C#?
This video from .NET Conf 2020, recorded in November 2020, has Mads Torgersen and Dustin Campbell, demonstrates many of the new features of C# 9. These two are tremendously smart and they’re fun to listen to as well.