4 October 2021

44 links ยท Monday

Why I like to code

Coding has been part of my life for many years. Here are the reasons why.

How to make sure you have bad documentation

Bonus points if this tool requires developers to make a branch cut of your codebase and go through a pull review process -- this will ensure that even typo fixes take 30+ minutes of developer time.

Implicit Overflow Considered Harmful (and how to fix it)

A common problem in programming language design is the question of what the type of integral literals should be, and if they are untyped, what the rules for implicitly converting them to regular integer types should be. This is part of the more general problem…

Uncertainty, Mental Shortcuts, and Errors in Technology Decisions

If you are a technology leader, you know you make decisions, big or small, all the time. You also know that each decision carries some risk. Risks arise from several sources. We know how to mitigate many of the sources, but one of them is insidious: uncertaint…

Understanding How Facebook Disappeared from the Internet

Today at 1651 UTC, we opened an internal incident entitled "Facebook DNS lookup returning SERVFAIL" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something el…

We have suffered a cyber attack - Fantasy Football Hub

On Saturday evening our website suffered a cyber attack. We’re working with Action Fraud, the police, ICO, our hosting company and security firms on the issue. We want to be completely transparent with our users and members about what has happened.  LAST UPDAT…

Episode 396 - How Vattenfall uses Azure

The team meets Vattenfall's Marcus Melin and Mikael Söderström to learn how they are leveraging Azure to help enable the use of renewable energy 24x7 by their customers

Some lesser-known powers of std::optional

C++17 introduced std::optional<T> which lets you augment the values of a type T with a bonus value known as std::nullopt which semantically represents the absence of a value. A std::optional which holds the value std::nullopt is known as empty. The basic opera…

The Original Remote Developer - CoRecursive Podcast

Today's episode is about remote work. Well, sort of. I found someone with a different perspective on remote work and a fantastic story to share, Paul Lutus. I think that he might be the original remote software developer. He left California behind for a lower …

Announcing Access Temporary Authentication

Starting today, you can add new policies in Cloudflare Access that grant temporary access to specific users based on approvals for a set of predefined administrators.

It takes a PhD to develop that

In light of recent events regarding the performance of the Windows terminal 1, I thought it would be worth spending some time on this topic, since it uncovers some of the problems that are pestering the software industry.

Word-aligned Bloom filters

Programmers often need to ‘filter out’ data. Suppose that you are given a database of users where only a small percentage are ‘paying customers’ (say 5% or less). You can write an SQL query to check whether a given user is indeed a paying customer, but it migh…

Code Coverage in .NET

Let's have a look at how to generate code coverage in .NET, improving code quality and test coverage throughout your .NET applications.

GPU BCn decoding

BC1-7 (variously also known by the older names S3TC, DXTC, RGTC and BPTC) are the standard compressed texture formats on PC. The newer BC6H and BC7 formats have precise specs that require bit-exact…

274: Building IoT Things

James needs the ultimate tutorial on what and how to build things with Microcontrollers and Frank is here to help!

Announcing TypeScript 4.5 Beta

Today we are excited to announce the beta release of TypeScript 4.5! To get started using the beta, you can get it through NuGet, or use npm with the following command: npm install typescript@beta You can also get editor support by Downloading for Visual Studi…