15 February 2023

64 links · Wednesday

Towards Modular Foundations for Protocol Security

Universally composable (UC) security is the most widely used framework for analyzing the security of cryptographic protocols. Many variants and simplifications of the framework have been proposed and developed, nonetheless, many practitioners find UC proofs to…

No PM, no problem: how we ship great products fast

Many things surprise people about how differently we work at Podia, but one that comes up often is that we have absolutely zero product/project managers at our company of more than 30 people. Despite this — though I’ll argue below that it’s precisely because o…

Granting at least once delivery

Exactly-once is the message delivery guarantee the most developers want to achieve in their systems. In the most cases, the implementation of the set of rules backing it up should include the application layer. When it comes to messaging systems, exactly-once …

Does Mathematics need a Philosophy? - Logic Matters

At a meeting some years ago of the Trinity Mathematical Society, Imre Leader and Thomas Forster gave introductory talks on “Does Mathematics need a Philosophy?” to a startlingly large audience, before a question-and-answer session. The topic is a very big one,…

3 Easy Tips for Fast-Loading Website Images

To improve website loading times, here are three quick tips. They all involve images, which have the biggest impact on page-load speed, and they’re all super easy to implement.

How to Create a Pharo Smalltalk Plugin

When working with Smalltalk, you may wish to access functionality that exists in a specific library or technology that you do not want to recreate. In such cases, you have two options: creating an FFI bridge or extending the Smalltalk VM with new primitives. I…

A brief introduction to Nostr · Notes

“A milestone for open protocols…” This is how Jack Dorsey, co-founder and former CEO of Twitter, announced the arrival of the Damus app, a Nostr protocol client, in the App Store/iOS. Nostr has generated buzz in developer groups, bitcoin addicts, and a crowd v…

A (performance) quirk with JsonSerializer

System.Text.Json.JsonSerializer has a weird quirk in regard to performance and memory management. So we will discuss what is "wrong" with this code: JsonSerializer.Serialize(myObject, new JsonSerializerOptions(...));.

.NET Managed languages strategy - .NET

Each .NET language is unique. C# is the most widely used language and the language most of .NET is written in. F# explores new language possibilities and the community provides a rich experience across platforms. We remain committed to Visual Basic and continu…

Improving EF Core performance with Compiled Queries

This post is about improving EF Core performance with Compiled queries. From EF Core 2.0 onwards, EF Core supports compiled queries, which helps developers to compile the queries in advance and executed when application executes the query. By default EF Core a…

MediatR 12.0 Released

This is a pretty big release, with a number of breaking changes. Release NotesMigration GuideBreaking changes include: Depending directly on IServiceProvider to resolve servicesMaking "void" request handlers return Task instead of UnitIRequest does not inherit…

Convrt

Convrt Trivia Night | Survive 7 live trivia questions, share the cash prize with other winners!

Introducing Search By Target Framework on NuGet.org

Last year, we brought a new feature to improve the way you assess target framework compatibility of a NuGet package through a new “Frameworks” tab. Today, we are announcing a new feature that will allow you to search by a target framework on NuGet.org.

Whatever happened to Elm, anyway?

I see this question pop up quite frequently in lots of different arenas - folks are curious as to what happened to Elm. As a former community member of Elm, I thought I'd act as a historian here and provide a write up covering the big pieces I see. Everything …

Principles Of Horrible API Documentation

I've worked a fair bit of my PM career leading the efforts in improving the API documentation experiences for developers. Nothing opens your eyes more to the pain of developers than actually building the tooling that makes API docs happen - you start encounter…

EVM at Risc0 | Odra Blog

Let's run Solidity code inside SputnikVM inside Risc0.

The case for frameworks | Seldo.com

Today I read Alex Russell's post The Market for Lemons and I found myself compelled to write a rebuttal. I am a big fan of Alex's work in general but not of this post in particular, which is very long, so allow me to attempt to summarize it: JavaScript-heav…

Dynamic Programming for People that Simply Want to Get a Job

Let me start with a question. Do you like solving Data Structure & Algorithms problems during interviews? If you’re like me the answer is hell no. I hated doing it at my school. I hated d…

Novel Proofs of the Infinitude of Primes

Can they inform computational complexity theory? Bill Gasarch and Christian Elsholtz both like primes and jokes and graphs and ways of sharing baked goods. Bill is a Professor of Computer Science a…

This is why performance matters

I just had a power cut and wanted to check how long it would be out for. The UK Power Networks power outage tool is handy for that, but there’s a problem: I only had a 3G network connection and the…

An interactive explanation of quadtrees.

Let's say you have a bunch of points in a space, like in the maps above. Someone asks you if some arbitrary point p is within your bunch of points. How can you find out if you have that point?

Gasoline Car Review

I recently purchased a Mazda Miata. This car is interesting because instead of running on electricity, it is powered by a combustible liquid called gasoline. The vehicle has an engine that mixes the…

A checklist for SQLite

This is a field guide on setting up and making use of SQLite in the strictest, least error-prone way possible. Examples are based on Python, which provides SQLite as part...

Welcome to the Age of Bullshit

We are fucked. In fact, we are so fucked that Tom Scott conveniently released a new video talking about how fucked we are. Of course, he didn't actually say that we're fucked, because he's much nicer than I am. He uses soft and gentle words that disguise the r…