29 years later, Settlers II finally gets Amiga release When The Settlers II came out in 1996, only MS-DOS and Mac OS enjoyed it. Aside from Nintendo Wii in 2007, it didn't land on any other platforms. Until now.
NGINX Introduces Native Support for ACME Protocol – NGINX Community Blog We are very excited to announce the preview release of ACME support in NGINX. The implementation introduces a new module ngx_http_acme_module that provides built-in directives for requesting, installing, and renewing certificates directly from NGINX confi...
MCP Vulnerabilities Every Developer Should Know - Composio This is long compilation of all the recorded MCP security flaws in the wild.
libavfilter: Whisper audio filter · 13ce36fef9 It adds a new audio filter for running audio transcriptions with the whisper model. Documentation and examples are included into the patch.
Stop Mapping in .NET Use Facets Instead Get 30% off everything on Dometrain: https://dometrain.com/courses/?ref=nick-chapsas&promo=youtube&coupon_code=SUMMER30 Subscribe to my weekly newsletter: https://nickchapsas.com Hello, everybody. I'm Nick, and in this video, I will introduce you to Face...
Online Safety Act - shutdowns and site blocks Report incorrectly blocked sites on UK ISP and mobile networks.
GitHub folds into Microsoft following CEO resignation — once independent programming site now part of 'CoreAI' team One of the web's most important programming tools is absorbed
CSS Scroll Snap An in-depth article on CSS scroll snap, why to use, how it works, and lots of examples.
First Look At The CSS object-view-box Property A new CSS property that will help in cropping images similar to how we use the viewBox in SVG.
Mixing Raw SQL and Fluent Statements with Entity Framework | no dogma blog There are times when it is necessary to use handwritten SQL with Entity Framework Core. In this post I should how to do that, and to mix it with the usual fluent statements.
Custom Underlines with SVG I was browsing the web and an interesting effect caught my eye on a website. It’s a custom link underline effect that is using hardcoded SVG.
How to Copy Files to the Output Directory in .NET | no dogma blog I always forget how to do this, so I'm writing it down.
Aligning Content In Different Wrappers How to align content with another section given that they are placed in different wrappers
Microsoft SQL Server - The remote certificate was rejected by the provided RemoteCertificateValidationCallback | no dogma blog If you are running Microsoft SQL Server locally in Docker, when you connect to it you might get an error - The remote certificate was rejected by the provided RemoteCertificateValidationCallback. Here is how to fix it.
Building An Old Nav Design While surfing the web, I noticed an old navigation design that dates back to 2010. I used to design such things on Photoshop that are rich with shadows, gradients, backgrounds and separator lines. They are called Skeuomorphic designs.
Finding the Command or Entrypoint that Started a Container | no dogma blog You often don't have the Dockerfile that was used to create the image of the container you are running. But what if you want to know what is run when the container starts?
Thinking About The Cut-Out Effect: CSS or SVG? A look at how CSS and SVG can be used to implement the cut-out effect.
Create a Task and Start it Later | no dogma blog I usually want to run a task immediately, but there are times when I want to create a task, but not start it until later. This post will show you how to do defer execution of a task.
Killing a Worker Application from a BackgroundService | no dogma blog There are a few ways to kill a host application from a BackgroundService. In this post I'll show what is probably the most correct way.
Using .NET on Linux | no dogma blog You can develop, build, and run enterprise .NET applications on Linux. Here is a little info to help you get started.
First look at Unreal Engine 5.6 | Unreal Fest Orlando 2025 Watch this session recorded at Unreal Fest Orlando 2025 for a look at the innovative new functionality of Unreal Engine 5.6! This fast-paced presentation highlights the top new features in animation, rendering, VFX, and more. Find out more about Unreal...
Using MySQL with Entity Framework | no dogma blog Getting going with MySQL and Entity Framework is very easy, follow this guide to get started.
Using OBS Studio to Record Podcasts for Free | no dogma blog OBS Studio is usually used to record or stream video, but it can be used to record podcasts.
Understanding Clip Path in CSS An introduction about CSS clip-path, how it works, with example and use-cases.
Enable Pinch to Zoom in Chrome, Chromium, and Brave on Ubuntu Linux | no dogma blog Pinch to zoom via the touchpad or screen is not on by default in Chrome, Chromium, and Brave on Ubuntu Linux. But there is a simple fix.
Selection in CSS Selection is a habit formed by computer users many years ago. On the web, we select content for different reasons. Maybe we want to copy a text and quote it somewhere, or maybe coping is just a habit that some users do to make reading easier. For mobile, ...
Building .NET While Offline Using the Local NuGet Cache | no dogma blog Here is a simple way to use local NuGet packages to build applications when you are offline.
Using the Confluent Kafka Consumer in a Non-Blocking Way in .NET and C# | no dogma blog The Consume method of the Kafka Confluent library for C# is synchronous, this post shows you how to use it in a non-blocking way.
Setting the Typewriter Text Color with FoxIt for Linux | no dogma blog I'm glad that FoxIt PDF reader is available for Linux, but I was disappointed that the Typewriter tool doesn't have a black color option, here is a way to change it manually.
Games Look Bad, Part 1: HDR and Tone Mapping This is Part 1 of a series examining techniques used in game graphics and how those techniques fail to deliver a visually appealing end result. See Part 0 for a more thorough explanation of the ide…
Putting Tasks in a Cache, and Computing Only Once, When First Requested | no dogma blog Caches are usually used to store concrete values, but with C# you can store tasks for work you want to perform only once, at the time the key is first requested from the cache.
Enable Pinch to Zoom in Microsoft Edge on Ubuntu Linux | no dogma blog Pinch to zoom via the touchpad or screen is not on by default in Microsoft Edge on Ubuntu Linux. Here is a workaround.
Practical Use Cases For CSS Variables The goal of this article is to walk you through use-cases where CSS variables shine.
Hiding Elements On The Web Through our work as web developers, we need to hide elements for many reasons. For example, a button that should be visible in a mobile viewport, and hidden in a desktop viewport. Or, a navigation element that is hidden on mobile and shown on the desktop....
Use Cases For CSS Vertical Media Queries Two weeks ago, Sara Soueidan tweeted about the love of CSS Vertical Media Queries, I’ve remembered that I used them in some projects and so I decided to write an article about them.
Uncommon Use Cases For Pseudo Elements Pseudo-elements are in use for a long time. However, there are some uses cases that I feel they are not entirely known across developers. I wrote down this article to shed light on them so they can be used more.
Allison’s Bootleg Cart 🎇🎇 PLEASE NOTE: This project is currently in pre-release. All the information is online, but there will likely be compatibility-breaking changes to both hardware and software in the next few weeks or months. 🎇🎇
Enhancing Our Components with CSS :empty While building a component, we sometimes don’t think about what will happen in case there was no content. How does it will look? In CSS, we have a useful pseudo-class :empty that provide us with the ability to check if the content of an element is empty o...
Running bitnami/kafka in Docker | no dogma blog It seems none of the Docker images of Kafka have sufficient instructions to run the container, and access it from the host computer. Here I show how to get bitnami/kafka working.
» Rollercoaster Tycoon (or, MicroProse’s Last Hurrah) The Digital Antiquarian I think it touches on two of the most fundamental aspects of human nature. We all like doing something constructive, where we can see that we are creating something from virtually nothing, and we all have a desire to nurture or look after things. This is ...
CSS Grid Template Areas In Action Since CSS Grid became supported in the major browsers back in March 2017 (Almost three years ago), I started using it in my personal and client projects, of course, with a proper fallback for non-supporting browsers. I also made a tool called grid-to-flex...
Generating the launch.json and tasks.json files for VS Code | no dogma blog In the past VS Code would automatically create the .vscode directory with the tasks.json and launch.json files. This stopped happening some time ago, but there are still occasions when you need them. Here is a simple command to generate them.
ZX Spectrum Next Issue 3 The Sinclair ZX Spectrum Next: the evolution of the Speccy computer, now expanded into the world of the Sinclair QL, C64 and... More!
CSS Flexbox: 5 Real World Use Cases Flexbox is one of the best additions to CSS. I found it very useful to code elements and making them adapt easily to different screen sizes.
Intrinsic Sizing In CSS In CSS, we have two ways of sizing, intrinsic and extrinsic. The latter is the most common one which means using fixed values for the width or height of an element. The first one means that the sizing of an element depends on its content size.
Profiling without Source code – how I diagnosed Trackmania stuttering A very common side effect of working as a programmer is the constant frustration of not having source code access to all the software you use. Bugs, problems or missing features in your own work ca…
Replacing Lua’s math.random module with the Xorshift algorithm I recently discovered that V8, the engine behind Node.js and Chrome, has been using xorshift128+ since 2014. Out of curiosity, I checked what the Lua VM uses, and to my surprise, it relies on the standard C library, which is extremely slow.
An Alternative to nuget install-package | no dogma blog There is no NuGet.exe on Linux or Mac, but the dotnet CLI can be used to do some of the same things, including extracting the contents of a package.
Seeding a Large Database with Entity Framework | no dogma blog Here's an example of seeding a database with a lot of data using Entity Framework. It avoids slowdowns, timeouts, and using excess memory.
Grid Layout Ah-ha Moment It’s almost the end of 2016, our needs for a robust and powerful way of laying out elements on the web is increasing everyday. We need to build a unique and art-directed layouts in the easiest way in CSS. Grid layout is here to provide us with a way to di...
MΛX - Fundamentals of Radiance Cascades A deep-dive into the fundamental concepts/ideas behind Radiance Cascades.
Batch Consume with Kafka and .NET | no dogma blog By default, the Confluent Kafka client consumes one message at time, but with a bit of work it can consume batches of messages.
Emulator Bugs: Fatal Rewind | jsgroth's blog This is a post on a bug that broke Fatal Rewind for the Sega Genesis, a port of the Amiga/Atari ST game The Killing Game Show. I’m not sure why some Amiga-to-Genesis ports changed the game’s title. Leander is another one, which got ported to Genesis under...
CSS Variables With Inline Styles While working on a demo for an article, I needed an easy way to create a grid layout. For example, laying out a grid of five columns without touching CSS every time I change my mind. Throughout this article, I will explore some use cases and think out lou...
Getting Confluent Kafka Working in Linux with Docker Desktop | no dogma blog Getting Confluent Kafka working in Linux is not as easy as in Windows, but it can be done.
Flexbox Dynamic Line Separator Using CSS flexbox default stretching behaviour to create a dynamic line separator.
Using SVG for the Icongraphy #SVGFTW Back in the days, like nine months ago, I was using font icons as a primary tool to show icons on a web page.
The Graphics Pipeline and Rendering Types - Game Optimization - Episode 2 In this video, I explain how the graphics pipeline works - starting on the CPU and ending up with final pixels on the screen. I explain where potential slow-downs can happen along the way. I also cover the difference between forward and deferred renderers...
Styling The Good Ol' Button Element It’s one of the most used elements on the web. <button></button> can be used to activate certain interactions like showing data, open modals, submit forms.. etc. In this article, I will walk you through the fine details of a button element and how to styl...
Min and Max Width/Height in CSS Learn how min-width, max-width, min-height, and max-height work in CSS
Game Math 101, Writing your Own 2D Math in C++ Do you want to make a game but don’t know any math? Do you want to skip endless hours of reading arcane math texts and go straight to the useful stuff? Good! Me too. Let’s just skip straight ahead to the useful stuff. Sit back, grab yourself a lunchable, ...
A quick introduction to workgraphs Workgraphs is a new feature added recently to DirectX12 with hardware support from NVidia and AMD. It aims to enable a GPU to produce and consume work without involving the CPU in dispatching that …
Running Apache Kafka in Docker | no dogma blog A simple command is all that is needed to run Apache Kafka in Docker
MassTransit - Sending a Message to a Single Consumer | no dogma blog Simple example of using MassTransit with a single producer and single consumer.
CSS :has Parent Selector A deep-dive into the CSS :has parent selector with some use-cases and examples.
Using SingleStore with Entity Framework | no dogma blog A simple console application that uses Entity Framework to connect to the SingleStore database.
Part 3: The Process of Implementing A UI Design From Scratch {% include note.html content = “This is Part 3 of the article: The Process of Implementing A UI Design From Scratch. If you haven’t read the previous parts, it’s fine, but I recommend at least to skim them to get a general idea.” %}
Running a Hosted Service in a Console Application | no dogma blog This is a simple example of running a hosted service in a console application. You might want to do this if you need to run a background task in a console application.
A trip through the Graphics Pipeline 2011: Index Welcome. This is the index page for a series of blog posts I’m currently writing about the D3D/OpenGL graphics pipelines as actually implemented by GPUs. A lot of this is well known among gra…
Integrating ImGui with Vulkan: Step-by-Step Guide Every graphics engine needs a user interface — whether you're fine-tuning light parameters, adjusting object transformations, or just tweaking your clear color in real time. In this video, we're diving into the world of GUI libraries for Vulkan, and spotl...
Making a Non Blocking Synchronous Call Inside a Background Service | no dogma blog This post shows you how to use a synchronous call in a background service without blocking the application or other background services.
» The Year of Peak Might and Magic The Digital Antiquarian Some passions are lifelong, but many others fade away over the course of a life, to be replaced by others. Not long after Jon Van Caneghem, the founder of New World Computing, sold his company to 3DO, it started to become obvious to everyone who worked fo...
Programming Vehicles in Games The fundamental principles needed to get a functional vehicle in your game.
InfluxDB and C# | no dogma blog InfluxDB is a time-series database that is great for storing and querying time-based data. This post shows how to set it up with Docker and access it from a C# application.
Better CSS layouts: Time.com Hero Section Taking another look at Time.com hero section. Can we do better?
Part 2: The Process of Implementing A UI Design From Scratch {% include note.html content = “This is Part 2 of the article: The Process of Implementing A UI Design From Scratch. If you haven’t read it, it’s fine, but I recommend at least to skim it to get a general idea.” %}
Sorting Strings when the Embedded Number has a Variable Number of Digits | no dogma blog Sorting strings that contain numbers gets a little more complicated when the number has a variable number of digits. You can end up with a list like this - 1, 10, 11, 12, 2, 3, 4...
CSS Findings From The Threads App: Part 2 A few interesting CSS findings from the threads app by Meta.
Blending Modes in CSS Back in 2007, when I first learned about blending modes in Photoshop, it was a life-changing moment for a 15 years old kid. I wanted to explore them in CSS and share that experience with you.
Doing Some Cleanup in a BackgroundService | no dogma blog If you use the Worker Service template in .NET, you may want to do some cleanup when the background service is canceled. In this post, I'll show you how to do this.
Adding file icons to Expressive Code frames Adding and customizing file icons for your Expressive Code frames
Connecting to a Local CockroachDB from DataGrip or DBeaver | no dogma blog I've been using CockroachDB for a while, generally accessing via the command line or from C# applications. When I tried to use via DataGrip, the connection properties were not immediately obvious.
MassTransit - Competing Consumers | no dogma blog Simple example of using MassTransit with a single producer and a competing set of consumers.
Using Oracle with Entity Framework | no dogma blog Here is a simple example of using Oracle with Entity Framework Core. But it's not something I would recommend.
Learn Box Alignment An interactive and visual guide on understanding alignment in CSS flexbox and grid.
Using HttpClient to Download a File with GetStreamAsync | no dogma blog Simple example showing how to download a file using HttpClient and GetStreamAsync.
The Social Media Good, Bad, and Ugly Recently, I had some realizations about social media that I think go to the core of the issue.
The Strategic Implications of GPT-5 for OpenAI OpenAI shifts away from the enterprise and toward the consumer
The Missing Protocol: Let Me Know I want a new protocol, tentatively called “Let Me Know” (LMK). The purpose is to provide someone an anonymous way to get notified when a singular, specific event occurs. Here’s a basic use case: Some random blog author has published Parts 1 and 2 of a ser...
Implementing JSON-LD Structured Data in Django Add JSON-LD structured data to a Django site using a flexible, view-based system. Improve SEO, enable rich results, and keep markup clean and maintainable.
Losing the Plot That Was Never There – ezhik.jp Somewhere along the way, we've lost the "fun" part of "for fun and profit".
Why I’m Confident in My Views « My Life and Ideas Alright, all of you searching for Gregory Magarshak have found him. When you click, you will be transported into a world that... oh, just click and see!
Pulse AI Blog - Evaluating Document Extraction: Why Accuracy Alone Misleads Evaluating Document Extraction: Why Accuracy Alone Misleads
No AGI in Sight: What This Means for LLMs This essay dissects the widening gap between AI hype and reality, arguing that large language models have hit a plateau - the “S-curve” - despite industry claims of imminent superintelligence. It contrasts bold predictions and massive investments with und...
How I Spent $5.50/month to Fix What Three Tech Giants Wouldn't | Charles Hood A Tale of Ancient Routers and Modern Apathy
Using traversals to batch database queries The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
Coding with voice dictation using Talon Voice • Josh W. Comeau Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechani...