ISP Column - February 2025
System Architecture
Why JioCinema Skipped Redis for Recommendation Bloom Filters
Why the Indian streaming service took this unconventional path, including the trade-offs of the more obvious solutions.
I built an internet search engine with MongoDB
When the thought first stuck obviously, I was just like you thinking “what?” why would I ever use MongoDB for an internet search engine in…
Everyone knows your location
How I tracked myself down using leaked location data in the in-app ads, and what I found along the way.
4 steps to building a natural language search tool
Empowering humanitarian action with open source: A natural language search tool for UN Resolutions.
Defining IPv6 operating modes
Since IPv6 is gaining momentum, and is generally operating alongside other protocols, it has become important to define the operating modes that may exist in any IPv6 environment. This allows for consistent communication and understanding of a fundamental part of operating a production network. Most of this hard work has been done by the IETF, and 99% of those definitions as can be referenced by engineers and architects when creating designs, proposals, and documentation, can be found in one really well crafted RFC.
How to Create Good Software Architecture Diagrams
Software architecture diagrams are important tools for anyone involved in building software. They help us understand how different parts of…
Plain Text Sports
Instant live sports scores, play-by-play, and box scores
Recfiles - Wikipedia
recfiles is a file format for human-editable, plain text databases.[1][2]
Domain Name System - Wikipedia
The Domain Name System (DNS) is a hierarchical and distributed name service that provides a naming system for computers, services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information with domain names (identification strings) assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols.[1] The Domain Name System has been an essential component of the functionality of the Internet since 1985.
TAI64 in the wild is (sometimes) not TAI · blog.dave.tf
How hard could it be to know the time, anyway?
What hard thing does your tech make easy?
I occasionally receive emails asking me to look at the writer's new language/library/tool. Sometimes it's in an area I know well, like formal methods. Other...
Vector Databases: The Foundation of AI Agent Innovation
Organizations must dedicate time and resources specifically to AI and vector database technology.
Effigy, a distributed social data layer
I grew up in the world of BBSes, Usenet, and, to some extent, UUCP before that. This was fun – a world wide network all built up by volunteers sharing. Since we are all carrying supercomputers around now with massive idle storage and bandwidth, let's think about how we can recreate some of that fun, independent data sharing with modern web technologies, specifically Websockets and WebRTC. All you need is the computer that you already have with you.
Unix philosophy - Wikipedia
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development. It is based on the experience of leading developers of the Unix operating system. Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement. Over time, the leading developers of Unix established a set of cultural norms for developing software; these norms became as important and influential as the technology of Unix itself, and have been termed the "Unix philosophy."
The 'Unix Way' Has a Right Way That's Almost a Lost Way
As I study tech sector innovations, I see signs that the old traditions are fading. I'm not one to sanctify tradition for tradition's sake, but I see merit in maintaining a traditional approach to computing tasks that encourages shrewdness. To illustrate what I mean, these are some ways we are straying from the Unix way, and my view on why we should return to the path.
The Hidden Complexity of Scaling WebSockets
WebSockets are at the very core of Compose. Learn how we scaled them to support 1000s of concurrent users.
Scuttlebutt Protocol Guide
Horn clause - Wikipedia
In mathematical logic and logic programming, a Horn clause is a logical formula of a particular rule-like form that gives it useful properties for use in logic programming, formal specification, universal algebra and model theory. Horn clauses are named for the logician Alfred Horn, who first pointed out their significance in 1951.[1]
James Shore: Continuous Integration on a Dollar a Day
IPCM: Solving Dynamic IPFS Content with Blockchain Smart Contracts
Over the past few years, IPFS has become the default file network for offchain storage. When you combine immutable files with an immutable blockchain ledger, you get a powerful combination. While immutability is key to IPFS, it has also become one of its downsides. There are many crypto and blockchain
What is Private IPFS?
If you have been in the blockchain and crypto space, then there is a chance you've heard of IPFS and how it's used for offchain storage. In many ways, it's a perfect pairing: content on IPFS gets a hash that can be verified, it works as an address, and referencing
IPFS Privacy
How Private is IPFS?
Build for the Web, Build on the Web, Build with the Web – CSS Wizardry
What is the real, long-term cost of adopting a JavaScript framework?
Thinkerbell Postmortem/Brain dump
A programming language for the SmartHome. Also, a type system and a process algebra.
Why use homomorphic encryption to eliminate third parties?
Encryption technology can eliminate the need to trust third parties, but why is that a good thing? What are the motivations and tradeoffs
Evolving our infrastructure through the messaging system model in Dropbox
The 7 Most Influential Papers in Computer Science History
This post celebrates influential papers that shaped technology and communication. Their foundational concepts inspire continued innovation, highlighting the importance of understanding our roots fo…
Remote: growing from zero to unicorn with Elixir
A case study of how Elixir is being used at Remote.
A crash course on building a distributed message broker like Kafka from scratch — Part 1
Hello, hope you are doing great!