Why don’t schools teach debugging, or, more fundamentally, fundamentals? If you find this piece worthwhile, consider the Go Fund Me that’s funding ongoing cancer care. A story from Dan Luu, from back when he “TA’ed EE 202, a second year class on signals and systems at P…
ASP.NET Core 8.0: Output Caching using Redis .NET, .NET Core, ASP.NET, ASP.NET Core, Visual Studio, Jaliya Udagedara
White space does matter in C23 Usually in C identifiers are not directly followed by strings. But when U prefixed literals were introduced in C. there still were some rare clashes with existing code. This happened were a macro U…
My daily driver is older than I thought; it's positively vintage! I was doing some clean up on my main laptop and realized it had been a while since bought a new computer. Turns out it was a lot older than ...
AlphaGeometry: An Olympiad-level AI system for geometry Our AI system surpasses the state-of-the-art approach for geometry problems, advancing AI reasoning in mathematics
systemd: enable indefinite service restarts When a service fails to start up enough times in a row, systemd gives up on it. On servers, this isn’t what I want — in general it’s helpful for automated recovery if daemons are restarted indefinitely. As long as you don’t have circular dependencies betw...
Remove iOS Navigation Bar Separator in .NET MAUI If you are developing a .NET MAUI app for iOS you may need to update the UI of the Navigation Bar...
Using Vector Embeddings to Overengineer 404 pages Using vector embeddings to find the page that the user was looking for when they hit a 404 page.
#4 Roam Research — What comes after a renaissance? On mixing ideas, evolving design patterns and finding a soul
Simplifying Complex Systems with Backend for Frontends (BFF) Discover how the Backend for Frontends (BFF) pattern can revolutionize the way you structure your applications, ensuring a smoother and more efficient interaction between your frontend and backend systems.
To learn a technology is to tell good stories about it On the importance of knowing the history of a technology
You Can Have an Open Source Personal Assistant in 2024 Smart assistants should be more than just heavily commercialized products, we need private, conversational assistants that can genuinely help us get things done. All the pieces seem to be there right now if we put them together...
Getting started with GDB Most programmers prefer to write code over debugging it. Unfortunately, code breaks a lot more often than we would like and it often breaks in situations that are hard to debug. Therefore, an essen…
Writing zsh tab completions can be straightforward | olets.dev How I add tab completion for the zsh command line
Fine-tuning an LLM on your texts: part 2 - exploring your text data - Edward Donner In part 2 of my guide to fine-tuning an LLM on your text messages, we use our CSV downloads to read, organize and investigate our data.
Rubygems introduced a file option to specify Ruby version in Gemfile Rubygems introduced a :file option so that we can read the Ruby version from a file.
Everything that I learned about Embeddings I will write a follow up blog about Regression and Random Forest, today completes the half of the first month of 2024, I learned lots of stuffs that I am interested and participated on a Kaggle compe, predicing Energy consumption and production using sola...
RSA is deceptively simple (and fun) While reading Real-World Cryptography, I came across the "million message attack". This is an attack that Daniel Bleichenbacher demonstrated in 1998, which effectively broke RSA with a particular encoding function called PKCS #1. It was only mentioned bri...
Shipping Blended Diffs It’s been a whopping five years since I last shipped one of my Shipping blog posts, and boy do I have a good one to come back with. I’ve been working on Pierre for most of the last year and we’ve been shipping some amazing stuff.
ChatGPT vs. Advent of Code 2023 Day 18: Lavaduct Lagoon Can ChatGPT and its Code Interpreter handle lava? Let's see in day 18 of #adventofcode!#openai #chatgpt #python #ai #codeinterpreterContents:0:00 - Intro0:12...
Principal Component Analysis (PCA) from Scratch Using the Classical Technique with C# -- Visual Studio Magazine Transforming a dataset into one with fewer columns is more complicated than it might seem, explains Dr. James McCaffrey of Microsoft Research in this full-code, step-by-step machine learning tutorial.
Hacking into a Toyota/Eicher Motors insurance company by exploiting their premium calculator website A vulnerable API on Toyota Tsusho Insurance Broker India’s premium calculator website exposed Microsoft corporate cloud credentials.
Why Optimize Code for Performance Why Optimize Code For Performance Answer .NET DotNet C# CSharp Coding Programming Software Design Development Engineering Architecture
Azure Container Apps Community Standup - Cloud-native apps with .NET Aspire The .NET team joins us this month to tell us all about building cloud-native apps with .NET Aspire and deploy them to Azure Container Apps!Community Links: h...
Rider 2023.3: AI Asistant, .NET 8 Support, C# 12 and F# 8 Features, Debugging Improvements and More JetBrains has released Rider 2023.3, the latest version of their cross-platform .NET IDE. This release contains an AI Assistant, support for .NET 8 SDK and an extended list of C# 12 and F# 8 features. There are also improvements regarding debugging, runni...
Mocking GraphQL queries with WireMock.NET Practical tips for simulating GraphQL query responses with WireMock.NET
Willow Specifications - Willow A protocol for peer-to-peer data stores. The best parts? Fine-grained permissions, a keen approach to privacy, destructive edits, and a dainty bandwidth and memory footprint.
DISASTERS You Can Avoid With Enum Serialization in CSharp Previously, I've talked about enums in C# and some of the things we can do when structuring our dotnet applications to avoid challenges. When it comes to ser...
Goodbye long procedural code! Fix it with workflows We've all written long procedural code that has many branches and has to handle failures because it's trying to execute a long business process with many act...
Use gradients in your UI | .NET MAUI Minutes Sometimes a solid color isn't enough, and your app's UI calls for gradients everywhere! Join Maddy for a quick crash course on how to create both linear and ...
Meta Blog: Blogging ergonomics in 2024 I've been writing this blog since 2004. That means I have been doing this for twenty years, which is frankly unbelievable to me. The actual date is somet...
.NET Aspire inner loop networking overview - .NET Aspire Learn how .NET Aspire handles networking and service bindings, and how you can use them in your app code.
Getting a strong reference from the this pointer too soon - The Old New Thing Giving out strong references to an object before you can guarantee that it will work.
How Apple built iCloud to store billions of databases Apple uses Cassandra and FoundationDB for CloudKit, their cloud backend service. We take a look into how exactly each is used within their cloud and the problems they've solved.
ASP.NET Core Integration Testings Setup In this video I show how to setup integration testing using an xunit project with asp.net core. We then write some simple tests for our nuget package and fin...
.NET CONF 2023 - Tuxtla Gutiérrez ¡Únete al evento más grande de desarrolladores .NET en Tuxtla Gutiérrez! Disfruta de ponentes de primer nivel, con charlas sobre las últimas novedades del mundo del desarrollo en .NET. Entre los temas a tratar se encuentran: * Novedades en el lenguaje C# ...
Collection Performance: The Fastest Way To Iterate Over a Collection in .NET! Discover the quickest method to iterate over a collection in Microsoft.NET with this article, which includes performance benchmark tests.
Stable Code 3B: Coding on the Edge — Stability AI Stable Code, an upgrade from Stable Code Alpha 3B, specializes in code completion and outperforms predecessors in efficiency and multi-language support. It is compatible with standard laptops, including non-GPU models, and features capabilities like FIM a...
Kagi.com is unstable for all regions Investigating - We are experiencing issues following a deploy. Team is working on resolving this.. (16:45 UTC — Jan 12) Monitoring - We have are reverting a configuration change that we believe to be the culprit, and are continuing to monitor as service i...
How to Ensure a String Is Valid JSON in C# In this article, we delve into the different approaches to ensure a string is a valid JSON in C# with explanations and practical examples
.NET MAUI Community Toolkit 7.0.0 Aligns to .NET 8 On November 15th, 2023, Microsoft announced version 7.0.0 of their open-source MAUI Community Toolkit. The new version adds support for .NET 8 and brings several bug fixes.
Fluorite lenses: Corrective capabilities beyond the limits of ordinary optical glass Canon developed its own technology for forming large, high-purity artificial fluorite crystals using fluorite ore as a raw material.
OpenAI drops ban on military tools to partner with the Pentagon | Semafor OpenAI joined the ranks of Silicon Valley tech companies that have changed their stance on collaborating with the U.S. military.
Interceptors – Using C# 12 in Rider and ReSharper | The .NET Tools Blog Welcome to our series, where we take a closer look at the C# 12 language features and how ReSharper and Rider make it easy for you to adopt them in your codebase. If you haven’t yet, download the
How to use IAsyncEnumerable with Blazor Stream Rendering IAsyncEnumerable with Blazor Stream Rendering for improved ASP.NET Core performance
Azure Cosmos DB design patterns – Part 5: Document versioning - Azure Cosmos DB Blog Welcome to part five of our Azure Cosmos DB series. Discover the document versioning design pattern, essential for tracking and managing document changes over time, preserving a complete history of revisions.
Analyzing WPF performance by enabling ETW | endjin WPF makes extensive performance instrumentation available through ETW. However, in modern .NET, it's not obvious how to get hold of it. This blog shows how
U.S. Developers Can Now Offer Non-App Store Purchasing Option, But Apple Will Still Collect Commissions Apple is making major changes to its U.S. iOS App Store policies, and developers are now able to direct customers to a non-App Store purchasing...
Building a Critter Stack Application: Messaging with Rabbit MQ Hey, did you know that JasperFx Software is ready for formal support plans for Marten and Wolverine? Not only are we trying to make the “Critter Stack” tools be v…
On .NET Live - Taming LINQ Proliferation with Specifications As the complexity of LINQ queries in an app increases, it becomes more difficult to maintain the code. In this week's episode, community MVP Steve Smith visi...
Rebecca Solnit: Slow Change Can Be Radical Change “To see takes time, like to have a friend takes time.” –Georgia O’Keeffe * Someone at the dinner table wanted to know what everyone’s turning point on climate was, which is to say she w…
Postgres password encryption without leaking credentials "Dance like no one is watching. Encrypt like everyone is."
Building Maintainable PHP Applications: Over-engineering vs under-engineering This article is part of the Building Maintainable PHP Applications series
Estimating your memory bandwidth One of the limitations of a compute is the memory bandwidth. For the scope of this article, I define “memory bandwidth” as the maximal number of bytes you can bring from memory to the CPU per unit of time. E.g., if your system has 5 GB/s of bandwidth, you...
pivoting a million dollar startup The story of how Jonathan Norris and the team behind Taplytics pivoted to DevCycle
10 Beautiful SaaS Landing Pages Without Product Images Ever been told, 'First validate your idea – make a landing page with a waitlist to see if people actually want what you're building'? That is clearly a good idea, right? But here’s where I hit a snag: how do you whip up a landing page that is compelling e...
Maybe don't use Blake3 on Short Inputs I needed to hash some relatively short data (the length of an English word) and couldn't really find any benchmarks that fit my purpose. So, I ran them myself, and some of the results were actually kind of surprising to me.
VPS Showdown - January 2024 - DigitalOcean vs. Linode vs. Vultr Which VPS provider is better? Check out my VPS Showdown post and compare DigitalOcean, Linode and Vultr on performance, features and pricing.
urllib3 is fundraising for HTTP/2 support TLDR: urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. What is urllib3...
RSS is dead, subscribe through email This is a story of how a random person on the internet set me thinking and eventually triggered a change to this blog. It started last September, when someone suggested offering email subscriptions in addition to the existing RSS feed. The thing is… I was...
What makes an entrepreneur succeed? It's a path of vision, hard work, and overcoming hurdles. Discover the essential skills and debunk myths about entrepreneurship. Are you up for it?
Perfecting Protocol Parsing (Probably) with eBPF I recently had a little bit of time to kill and decided to see if I could actually do some parsing of other protocols with eBPF. The previous post that I created was about http and whilst it’s an impo
The architecture behind Alma – An experimental playground for generative graphics This post dives deep into Alma - A side project which I built in 2022. It was nominated to Side project of the year at React Summit in Amsterdam 2023. My history with node-based user interfaces goes back to 2017. During my time as a Designer at EA DICE w...
Progress Report December 2023 Happy New Year! We hope everyone is having a great start to 2024 and that you’re all rejuvenated for another year of listening to these (mostly) regular rambles. We’ve got a fair bit to go through, including the usual sprinkling of graphical fixes, a nic...
My Indie SaaS Revenue has Grown 37% per Year for 13 Years Unlike many indie founders, I’ve never shared revenue numbers for Preceden, my SaaS timeline maker tool. Even if they were remarkable – which they are not really – I just don̵…
Enhancing Dired Sorting With Transient Out of the box, sorting a Dired buffer is rather underwhelming. In this post I describe how to improve that. But before we get into details, let’s see what the end-result looks like. For the...
I regret selling my startup Selling my company was a milestone that many entrepreneurs dream of. But today, I get to look back on all of that nearly two years later with the benefit of hindsight.
Observer Teams Software teams that have not mastered the technical language invent their own observer language together with the adoption of legions of tools and procesess