MCP: An (Accidentally) Universal Plugin System
Or: The Day My Toaster Started Taking Phone Calls
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Or: The Day My Toaster Started Taking Phone Calls
The Standard does not require that implementations define intptr_t nor uintptr_t. It also does not require that implementations define integer-to-pointer conversions in any meaningful fashion unless they define those types. Conforming implementations are certainly allowed to document some integer-to-pointer…
Recently, I migrated my Clojure-driven pet project from PostgreSQL to Datomic. This is Queryfeed , a web application to fetch data from social networks. I’ve been running it for several years considering it as a playground for some experiments. Long ago, it was written in Python, then I ported it to Clojure.
My thoughts about error handling in APIs after writing a Redis library in Rust.
Event designators have been hiding in not-so-plain-sight since the late 1970s — so powerful that forgetting might be part of a massive conspiracy to wear out developer keyboards faster than otherwise.
But this is slow! With 1,000,000 applications and 1000 users uniformly distributed on both columns, it takes over 100ms. 1
I recently became intrigued by the concept of event sourcing as applied to back-end architecture, specifically a microservice-oriented approach. I have spent the last few years working predominantly on the front-end, and became enamored by the simplicity and elegance of this pattern as the backbone of front-end…
Computers and computer systems are build up from deterministic, comprehensible, building blocks. Their operations and behaviors can be understood and reasoned about. I relate my personal beliefs and mindset on this point, and explore some manifestations and ramifications of this philosophy.
I’ve needed this before - a couple of times. Third time I figured I needed something small, nimble - yet complete. And - at the same time - wondering about how to do it in a very simple manner. I think it worked out great, so let’s dig in. Most UIs will have some form of undo functionality. Now, there are generally…
How to organise and deploy dotfiles using GNU stow.
Since my previous blog entry about JIT compiler for PostgreSQL, sadly not much happened due to a lack of time, but still some things were done (biggest improvement was the port to ARM64, a few optimizations, implementing more opcodes…). But I am often asking myself how to really beat the interpreter… And on “modern”…
Reflecting upon my previous post, I am wondering why LISP triumphalists like Paul Graham annoy me so much? Perhaps it is because I used to be one myself, in spirit if not in syntax. And also becaus…
A post-mortem on running and decommissioning Telize, a free public REST API
Are you bored with programming? Why not teach it. It’s not enough to speak in mumbo jumbo such as polymorphism, multithreading, typescript, blah blah these words mean nothing to people who don’t know programming.
It is something we take for granted every time we run a .NET program, but it turns out that loading a Type or class is a fairly complex process.
One of my least favorite kinds of bug is when two different systems are interacting and the result has bad behavior but it’s difficult to say which (if either!) system is at fault. This is one of those stories, about Python’s buffer protocol and Rust’s memory model.
I had a student (Fred Smith) who worked on extensions to Popcorn (the predecessor to Cyclone) that supported run-time code generation in a lightweight fashion. Here’s a paper describing part of the system: https://ecommons.cornell.edu/handle/1813/5812 . Fred’s thesis had a bunch more.
Under the radar of this week’s WWDC news is a small but very significant change to the iPhone Developer Program License Agreement. The change is in the
Welcome to Waqas' blog
On the 9th September, 1947, operators of the Mark II Aiken Relay Computer being tested at Harvard University, found a bug. And, in so doing, made history.
The sole purpose of this blog is to host a single article..
Assuming you're in the unusual position of actually having budget for quality, here's what to spend it on.
Video lectureMutator, Allocator, CollectorMemory blockAllocator interfaceMemory alignmentMemory mappingFreeing the objectsBlocks reuseFirst-fit searchAssignmentsNext-fit searchBest-fit searchBlocks splittingBlocks coalescingExplicit Free-listSegregated-list searchOptimizing the storageCustom sbrkConclusion This is the…
We have been using Signals in production for years via several modern front-end frameworks like Solid, Vue, and others, but few of us are able to explain how they work internally. I wanted to dig into it, especially diving deep into the push-pull based algorithm, the core mechanism behind their reactivity.
Four lines of code … it was four lines of code
Do fun projects