1 September 2023

45 links · Friday

Start Your Cloud Journey with Azure App Service

Moving a line-of-business application that’s been designed to run on-prem, or even on a virtual machine, to the cloud can be intimidating. Let's take a..

Things To Look For In Work · Some ninja

Linux enthusiast. Audiophile. Huge anime fan. "Retired" amateur competitive swimmer. Tinkeror. Former typography nerd.

Rust: Generics Considered Colorful

This post shows that Rust’s generics are colorful. I’ll demonstrate anexample to show what I mean, and what the problems are.

Doing Laundry on Campus Without a Phone

A Graduate Student’s Attempt to Find Sunshine as the Cloud Reigns Summary: I tried doing my laundry without a smartphone. This proved to be difficult, since our laundry machines can only be o…

Restarting macOS apps automatically on crash - Alin Panaitiu

Normally apps crash because of bugs introduced by the developer, but in my experience, there are cases where crashes can be out of the developer’s control. For example the app might work with hardware closely, and the expectations the system has on that hardwa…

Rails Database Migrations Cheatsheet

The database schema evolves continuously. Rails migrations is a powerful and flexible way to update the schema without dropping and re-creating the database. However, all this power and flexibility can be overwhelming. Here's a handy cheatsheet for most common…

Why Taiwan?

There is something special about Taiwan I couldn’t really explain the first time I arrived. On my first trip to Taiwan, I couldn’t put words to this positive feeling I had when roaming around the city. It was a mix of relaxation, freedom, safety, friendliness,…

Maxwell Rules - Homographies: Looking through a pinhole

Ever wondered how you can match the pixel coordinates on an image to actual coordinates on the world? This post is for you! By the end of it you will know how to construct (and derive) a relationship between the two. Most remarkably it all boils down to multip…

QakBot Takedown Payload Analysis

In a recent international operation, law enforcement agencies from the US and EU have taken down the QakBot botnet (see Press Release by U.S. Department of Justice, or in German, Press Release by B…

Becoming a contractor

How many roads must a programmer walk down before you call them a contractor? It’s been about three years since I went down this (bumpy) path, and I finally have the feeling that my contracting business is “bootstrapped”1. Here’s an account of my journey so fa…

Oldest software system in continuous use

The Guinness World Records Official site with ultimate record-breaking facts & achievements. Do you want to set a world record? Are you Officially Amazing?

Get Rider with 65% off

Following the announcement of Visual Studio for Mac’s retirement, we are offering a 65% discount on new subscriptions for Rider, the only cross-platform .NET IDE.

How I started in software development

A very rare Friday blog post, but don’t worry, I didn’t exert too much energy on it. TL;DR: I was lucky as hell, but maybe prepared well enough that I was able to seize the opportunitie…

What is CQRS #shorts #microservices

What is CQRS? #shortsSupport me on Patreon to access the source code:https://www.patreon.com/mohamadlawandLet us connect:🌍 My website - https://mohamadlaw...

Code Maze Weekly #183 - Code Maze

Issue #183 of the Code Maze weekly. Check out what’s new this week and enjoy the read. .NET and C# Top Picks 9 “hidden” features in Visual Studio that you may not know [blog.elmah.io] Visual Studio is a great tool. But it has so many options that we’re bound t…

Turn on Nullability checks by default

Since C# 8, we have nullable reference types. The word sounds odd, given the fact that reference types are always nullable. The idea is that the default is that your reference types have to be properly initialized. Here are my thoughts after a few years of usi…

Use explicit Lambdas with LINQ

Here's an interesting bug... What's wrong with this code? var clones = source.Select(SourceType.Clone); In principle, nothing. Your IDE might even encourage you to write this instead of the …

NuGet - Lock files

A feature I wasn’t aware of that it existed for NuGet is the concept of a lock file. This allows to lock the project dependency graph guaran...

Introduction to TDD

In this post, we are going to learn how to use Test-Driven Development (TDD). You will discover why I find the technique useful and discover how to write tests that allow you to change the implentation of your code in a safe way that doesn't introduce bugs or …

Testing C# with F#

Did you know that in modern .Net Solutions, projects using different .Net languages can happily co-exist? This means that you can use the best tool for the job such as F# for your domain logic and C# for your UI or, as we do in this blog post, test C# code wit…

Teaching with AI

We’re releasing a guide for teachers using ChatGPT in their classroom—including suggested prompts, an explanation of how ChatGPT works and its limitations, the efficacy of AI detectors, and bias.