13 November 2023

67 links · Monday

A formally verified R-tree implementation

Bugs are ubiquitous in computer programming. Widely applied solutions exist to verify certain properties like memory or type safety. On the other hand, most programming languages only offer very rudimentary tools to enforce logical properties.

Bringing QGIS maps into Jupyter notebooks

Earlier this year, we explored how to use PyQGIS in Juypter notebooks to run QGIS Processing tools from a notebook and visualize the Processing results using GeoPandas plots. Today, we’ll go …

Happiness is not a scroll away

When you open your browser, you usually have a legitimate interest. What’s the weather like tomorrow? How long is the flight? How do you write “definitively”? All valid questions, and the Internet provides. But then, you jump to another type of content. This s…

All Different Variants

In the earlier posts I’ve described some of the basic ideas behind CSPs: how the problems are represented using variables and constraints, how the solver searches for a solution by building up the search tree, how heuristics guide the search, and how constrain…

Uber – Stronger Than Ever

As the post’s title may already have given it away, yes, I am going to talk about how Uber is in the best shape it has ever been. From hated and distracted to repaired and focused It was just…

At the Intersection of LLMs and Kernels

Relational databases like postgreSQLand operating system kernels like Linuxare foundational building blocks for computing systems.Every “application” is in e...

Cancellation and Async State Machines

If you've been doing async for a while, you've probably heard someone say something like "the compiler takes an async function and converts it to a state m…

The Solution Space

In late 2023, I still don’t think we’ve seen the peak of AI-mania. It will likely come at some point soon when more data reveals realized ROI from enterprise SaaS companies integrating the first wave of generative-AI experiences into their existing products. I…

Metaprogramming and self-interpretation of lambda calculus

With inspiration from John Tromp’s 232 bit lambda calculus self interpreter I created a universal machine for a homoiconic meta encoding based on the Mogensen-Scott encoding and Church-encoded De Bruijn indices.

Database monolith - Quesma

At Quesma we help customers to innovate faster by re-shaping the way applications are built and connected to their DBs. Quesma database gateway enables development teams to modernise and evolve application architecture.

Creating Empty State for you .NET MAUI Apps

An essential aspect of user experience is the ability to anticipate and address potential issues effectively. Consider a scenario where a user loses their Internet connection while using your app. Without proper notification, this can lead to confusion and adv…

Ruby on Rails: The Documentary

Ruby on Rails has one of the most faithful communities online, it also has one of the most controversial, rabble-rousing creators out there, Danish programme...

Vendor Lock-in in the cloud age

It's been a while since my last blog post. (Even longer, since I wrote this blog post months ago!) Real life got in the way, and I have been 100% focused outside of my personal channels. So, for the past month, everything Basement Programmer-related ...

The Evolution of C# - Coding Sonata

C# today is the result of an amazing and massive work over the past 2 decades. Check this article to learn about the evolution of C#

The diminishing half-life of knowledge

Ever been in a situation where you landed a software engineering job with a particular tech stack, mastered it, switched to another company with a different stack, nailed that too, and then found yourself in a third company that used the original stack? Now, y…

384: iPhone Widgets On Your Mac Desktop

This week we take a look at a macOS Sonoma feature that allows you to put widgets on your desktop AND bring your iPhone widgets over. We talk about the feature and also a little widget development as well!

.NET Conf 2023 - Day 1

Welcome to .NET Conf Day 1! Full agenda: https://www.dotnetconf.net/agenda.NET Conf 2023 is the largest .NET event hosted online! Co-organized by the .NET co...

Learn AI skills and join the Microsoft UK AI Skills Challenge

Do you have a passion for technology and innovation? Do you want to learn how to create AI solutions that can make a positive impact on the world? Do you want..

.NET 8–Http Logging

In .NET 7 and before the default request logging in ASP.NET Core is quite noisy, with multiple events emitted per request. That is one of th...

Open, rigorous and reproducible research: A practitioner’s handbook

Even though many scientists are expected to abide by the principles of open, rigorous and reproducible research, few scientists actually receive formal training in this. Indeed, there is no collection written by workings scientis for working scientists about t…

Write Clean Code to Reduce Cognitive Load

This is another post in our Code Health series. A version of this post originally appeared in Google bathrooms worldwide as a Google Tes...