A Cloud-Scale Characterization of Remote Procedure Calls
What are GADTs and why do they make type inference sad?
Back in 2020, I created Cubiml, a simple ML-like language that demonstrated how to extend the usual Hindley–Milner type system with subtyping while still having decidable full type inference. One question I got was whether it would be possible to support generalized algebraic data types (GADTs) in Cubiml. I had heard that GADTs break type inference and didn’t see the point, so I didn’t think much of it at the time.
My favourite data structure: The trie | James' Coffee Blog
Suppose you want to build a predictive text engine. Given a few letters, you want to predict the end of a word. Suppose we have the string
Reverse-engineering an encrypted IoT protocol #ReverseEngineering #IoT
Scott reverse-engineered the encrypted protocol GoodWe smart meters and solar inverters use to send metrics to the cloud. The result of my lucky dip was a GoodWe DNS G3 Inverter and a GoodWe HomeKi…
XeDN on Tigris - Xe Iaso
Tigris | Globally Distributed S3-Compatible Object Storage
Tigris is a globally distributed S3-compatible object storage service that provides low latency anywhere in the world, enabling developers to store and access any amount of data for a wide range of use cases.
The Once And Future FPGA Maker Altera
Back in 2015, when we were launching The Next Platform, a lot of stuff was going on all at the same time, which is part of the zeitgeist that we were
Keeping secrets out of public repositories
With push protection now enabled by default, GitHub helps open source developers safeguard their secrets, and their reputations.
Big reusable things are complex
Conditionals attract bugs
Why UUID7 is better than UUID4 as clustered index in RDBMS
In the Introduction To Database Indexing Article, We discussed database indexes, Their type, representations, and use cases.
The Elm Architecture · An Introduction to Elm
AMD issues fixes for processor vulnerabilities
Researchers disclosed multiple potential vulnerabilities that may impact some AMD processors, including Zen-based product lines across multiple generations.
Pluralistic: When private equity destroys your hospital (28 Feb 2024) – Pluralistic: Daily links from Cory Doctorow
Safer Image Builds with Cloud Native Buildpacks and Wolfi
This post discusses how to create containers that are smaller and more secure by including Wolfi as the base image when creating containers using Cloud Native Buildpacks.
Introducing DoorDash’s In-House Search Engine - DoorDash Engineering Blog
DoorDash builds an in-house search engine on top of Lucene to support growing search needs.
TsFile: A Standard Format for IoT Time Series Data
The columnar storage file format is designed for IoT’s unique needs, including reduced network transmission and cloud computing resources.
Common Mistakes in Modularisation
Demystifying Message Brokers: Part 2 - RabbitMQ
In the previous part we've talked about message brokers in general and I hope you got a brief understanding of how they work and why you'd need them. In this article, we're going to dive deeper and explore one of them - **RabbitMQ**.
Inside Minority Report's 'Idea Summit,' Visionaries Saw the Future
Three years before making Minority Report, director Steven Spielberg assembled a supergroup of deep thinkers who conceptualized many of the movie's most enduring visions of the future. A virtual roundtable takes you back to that momentous event in the history of sci-fi filmmaking.
'Minority Report' started with a 2054 'think tank summit' - watch it now on Peacock!
Part of the genius of Steven Spielberg’s Minority Report is the way the movie hides its dystopia beneath the comforting skin of the familiar.
Technologies in Minority Report - Wikipedia
It’s Humans All the Way Down
Writing about the big beautiful mess that is making things for the world wide web.
A tale of three architectures
It’s been a couple years of working full-time on Luro and we’ve travelled through at least three (or four?) different distinct architectures. If that sounds like a lot, I’d agree. It’s been educational to say the least.
Managing Java Applications Running in Docker Containers Using JMX
Efficient Monitoring and Management Solutions for Container Environments
What is a reliable Data System?
Learn the concepts of reliability, and how to define a reliable data system
Planning vs Model Checking
Comparing two software technologies you've probably never heard of
Planner programming blows my mind
Picat is a research language intended to combine logic programming, imperative programming, and constraint solving. I originally learned it to help with vacation scheduling but soon discovered its planner module, which is one of the most fascinating programming models I’ve ever seen.
First, a brief explanation of logic programming (LP). In imperative and functional programming, we take inputs and write algorithms that produce outputs. In LP and constraint solving, we instead provide a set of equations and find assignments that satisfy those relationships.
Writing a scheduler for Linux in Rust that runs in user-space
Overview I’ve decided to start a series of blog posts to cover some details about scx_rustland , my little Linux scheduler written in Rust ...
Strengthening Zero Trust strategy with SSE
In today's rapidly evolving digital landscape, organizations face constant attacks from a multitude of sophisticated cyber threats and as traditional perimeter-based security models are becoming less effective against modern attacks, a paradigm shift towards a Zero Trust security strategy has gained significant momentum.
Never* use Datagrams - Media over QUIC
Media over QUIC is a new live media protocol in development by the IETF.