Building Darklang in F# | fsharpConf 2023 In 2021, we started rewriting Darklang from OCaml to F#. We discuss why we chose F# over OCaml (and Rust!), and discuss how it's going, what we love about F#...
Building Multi-Arch Images for Arm and x86 At work, I am involved in the development of a machine learning SDK and cloud services for privacy and data protection. Like almost every company in this space, we rely heavily on Python's scientific ecosystem. Because it's quite mature and depends on nat...
How to Implement Content Security Policy in Rails This article shows how to implement content security policy in your Rails applications to protect against cross-site scripting (XSS) vulnerability. We'll also learn how you can report CSP violations without enforcing the policy and make exceptions for inl...
All You Need Is to Publish Ever have a brilliant idea, scribble it down, then shove it into a drawer never to be seen again? Or how about a rough draft of a story that you never think is “quite right”, and thus it stays forever on your hard drive? I think many of us can relate. We ...
Are you taking care of yourself? This essay is by my wife, Bess. “Are you taking care of yourself?” Francesca asks. It’s a fair question: my husband, Jake, is dying of a metastasizing squamous cell carcinoma. I say I don’t know wh…
Coding of domain names to wire format at gigabytes per second When you enter in your browser the domain name lemire.me, it eventually gets encoded into a so-called wire format. The name lemire.me contains two labels, one of length 6 (lemire) and one of length two (me). The wire format starts with 6lemire2me: that is...
Data cleaning and anonymizing with GPT-3.5 This is the function I have been using to play with the OpenAI api:
An early look at HNSW performance with pgvector How does HNSW support in pgvector help with performance/recall for searching vectors in PostgreSQL?
My Road to Homelab in 2023 :: Tom Hummel Intro My interests have taken a curious turn toward bare metal homelab servers. I wanted to share where I’m coming from, what sent me down this path, the resources which have been guiding me, where I am now, and where I think I’m headed. Histo...
Fix HomePod mini connectivity with the Bell Giga Hub HomePod minis having trouble connecting with a Bell GigaHub? Here's how I fixed their connectivity issues.
Apple doesn't want you developing hobby apps Apple still charges a $99 yearly developer fee, even if you don't want to publish your app on the Appstore. The provisioning certificate that Xcode provides only lasts one week.
AppKit vs SwiftUI: Stable vs Shiny AppKit vs SwiftUI: The Question When writing a native macOS app, developers need to decide which UI framework to write new code in. AppKit, whose origins date back to 30yrs+ ago, feels like a dinosaur soon to be retired with the shiny SwiftUI waiting arou...
Meetings as a productivity and motivation killer Meetings. Ah, those meetings. You know those meetings where you have been invited only because someone might have something to ask from you. Meetings which take more than an hour without a coffee break. Maybe you are more familiar with live meetings where...
Do Machine Learning Models Memorize or Generalize? An interactive introduction to grokking and mechanistic interpretability.
What’s Next in C# Join Dustin and Mads on a tour of recent and upcoming language features in C#. While still very much in the works, C# 12 is starting to take shape. We touch ...
.NET 8 Web-Dev: New Visual Studio Templates, Antiforgery, Blazor Auto Render -- Visual Studio Magazine Web developers enjoy some attention in the new .NET 8 Preview 7, where the ASP.NET Core framework saw improvements on several fronts ranging from JavaScript to Blazor.
What’s New with .NET MAUI featuring Maddy Montaquila What is new from .NET MAUI? What changes are coming to the platform soon and in .NET 8? In this special episode from the Microsoft Build conference, Tim inte...
Limits and specifications for Microsoft Teams - Microsoft Teams This article describes the limits, specifications, and other requirements that apply to Microsoft Teams.
A New Way to SPA in .NET 8 Are you a .NET developer do builds APIs but the front-ends for those APIs is written in a SPA framework like Angular, React, or Vue? If so, check out this vi...
Announcing NuGet 6.7 – Keeping You Secure - The NuGet Blog NuGet 6.7 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.7 for Windows, macOS, and Linux as a standalone executable. Security is a chain; it’s only as strong as its weakest link.
My Process for Reviewing Pull Requests I often do a lot of code reviews and pull request reviews. As a follow-up to my article on submitting pull requests, I wanted to talk about how I review them as well.
On Moq & SponsorLink: Some thoughts Today I run into this Reddit post, detailing how Moq is now using SponsorLink to encourage users to sponsor the project.The idea is that if you are using the...
Let's Co-Create! Your Voice Matters - Visual Studio Blog We want to celebrate the suggestions you’ve made and the time you have invested in giving feedback to help build Visual Studio. We’re thrilled to announce that Visual Studio 2022 17.7, which began with Preview 1 on May 16th, is now officially out of Previ...
Create a .NET MAUI Menu Bar on Windows and Mac with Ease Learn how to create a menu bar in your .NET MAUI desktop app with this tutorial. A .NET Multi-platform App UI (.NET MAUI) menu bar is a container that presen...
Domain Modeling Gone Wrong How do you model a complex domain? In domain-driven design, you might think about entities, value objects, and aggregates. But how are you defining those? I ...
This Is How Method Injection Works In .NET #shorts 📌 Check out my Pragmatic Clean Architecture course: https://www.milanjovanovic.tech/pragmatic-clean-architecture🚀 Join 770+ engineers in my Patreon commun...
.NET MAUI and TinyMvvm, lifecycle overrides for your ViewModels | #shorts TinyMvvm is a library that I have created for making life as a .NET MAUI developer easier. In this video I show how to use the lifecycle overrides that you c...
How to Configure Rolling File Logging With Serilog - Code Maze A comprehensive walkthrough of how to configure rolling file logging with Serilog using file sink and various policies in C#
Debugging a ChatGPT Plugin with .NET and DevTunnels Discover the power of ChatGPT plugins! These tools help ChatGPT access up-to-date information and third-party services. Get started building your own custom ...
.NET Rocks! Leveling up your Architecture Game with Thomas Betts How's your architecture game? Carl and Richard talk to Thomas Betts about being a better architect. Thomas focuses on the key aspect - communication! An effective architect can talk to all the stakeholders in the language of the stakeholder, whether that'...
EI015: Migrating From Moq.NET In this session, I will be discussing with The Standard Community our strategy to migrate away from Moq.NET. We will discuss the motives for this strategy, o...
Failure Analysis: Engineering incidents are a bigger problem than you think Engineering incidents have a major holistic impact on many aspects of your business. You may not even know all the areas impacted.