here you goThings I’ve made, read and saved — shared here.

Archive

9,565 entries: 46 from X, 8,923 from Pinboard, saved 1998 to 2026.

Browse by tag, site, author, folder or language

Tags

Sites

Authors

Folders

Languages

Showing 1–50 of 1812022 ×

2022

I end this year with Victor Serge Diaries 1936-47. They were not written for publication, were found by accident in the 1960s, published in French and then rece…

@BrankoMilan

I end this year with Victor Serge Diaries 1936-47. They were not written for publication, were found by accident in the 1960s, published in French and then recently translated into English. Will write more when I finish the book.
https://t.co/tS1CXqQgSk

@BrankoMilan Branko MilanovicXPermalink8 likes

Deno

Deno — A modern runtime for JavaScript and TypeScript. Learn it -- Deno by Example

How Deno works especially the bits about Extensions, web workers, and building your own runtime.

Why Deno

Applications written in Typescript

Libraries

Tooling

Frameworks

notes#deno#javascript#typescript

Webhosting

Show HN: SinglePage – Quickly and anonymously publish a page to the web | Hacker News; see some interesting options to publish single pages on the web -- telegra.ph, carrd.co, Write.as, Neocities, nekoweb, mmm.page — Dead Simple, Drag & Drop Websites. Of these carrd, and mmm* have visual tools, and the rest are simple text publishing tools.

I recommend Neocities if all you want to do is upload HTML files (whether handwritten or produced by an editor).

If you are someone familiar with using git, you also have the option of using github pages, and codeberg pages, of these github will give you CI/CD system in case you want to build a website from source files (eg: markdown -> HTML)

Cloudflare pages also has the CI option, in addition giving lot more features in dealing with DNS, caching, routing etc.. This is what I would recommend to a technical savvy person.

None of the above systems support (afaik), any kind of dynamic server side programming (eg: PHP, Python, Node), nor do they have traditional databases like MySQL support.


pgs.sh -- A zero-install static site hosting service for hackers

notes#webhosting

Podcasts

A note on various podcast episodes I have heard (partially or fully). Starting in Aug 2025, I will try to make an attempt to note what I have heard.

Recommendations to check out

Episodes Recommended by others from the CoRecursive Podcast:

Corecursive episodes by topic: Episodes organized by theme. - CoRecursive Podcast

Podcast Tech

  • Transistor - podcast hosting for creatives, brands, professionals; about $190/yr. Found via Oxide and Friends
  • 2025-08-02I recently got curious about how popular podcasters host thier shows, specifically after listening to Naval Ravikant's short 3-5 minute episodes. I noticed that he hosted the podcast on Libsyn. It does appear to be quite affordable for $5/mo for the "bare essentials".

notes#podcast

Wasm

About

Ecosystem

WasmEdge is a lightweight webassembly runtime for cloud native, edge and decentralized applications. It can be used to power serverless apps, embedded functions, microservices, smart contracts, and IOT devices.

Wasmer - The Universal WebAssembly Runtime "run any code on any client" with webassembly and wasmer.

2023-05-30: Announcing WASIX

WASIX is the long term stabilization and support of the existing WASI ABI _plus_additional non-invasive syscall extensions that complete the missing gaps sufficiently enough to enable real, practical and useful applications to be compiled and used now. It aims to speed up the ecosystem around WASI so that the Wasm’ification of code bases around the world can really start _today!_And it does so without any breaking changes to wasi_preview1.

WASIX:

  • It’s a toolchain:
    • Rust
    • C (upcoming support for Zig!)
    • AssemblyScript (expect upstream support soon!)
  • It's a specification: https://wasix.org/docs/api-reference
  • Runtime support: starting with Wasmer, but we expect more runtimes joining the initiative soon!
  • Is fully runnable in browsers

Projects using WASM

Runtimes

Chicory, a JVM native WebAssembly runtime, which allows you to do things like:

WasmModule module = Parser.parse(new File("./factorial.wasm"));
Instance instance = Instance.builder(module).build();

notes#wasm#web

Selfhosted

Why Selfhosted?

What is Self Hosted? What is a Stack? | Armin Ronacher's Thoughts and Writings

Candidates for self hosting

Challenges

  • moderation
  • availability
  • backups
  • technical upkeep (upgrades, patches)

Links

Development

Frameworks

Software

PaaS

notes#fediverse#paas#self-hosting

CS230

2022-11-27

AI Classes often discuss - Deep learning, Machine learning, Probabilistic Graphical Models, Planning algorithms (eg: motion planning), Search algorithms, Knowledge representation (knowledge graphs), Game theory.

Deep learning was much more attractive brand compared to Neural networks.

The DL/ML field has taken off, driven by more data and more computation, and the positive feedback loop by users; lot of Algorithmic innovations.

Software Design Book by John Ousterhout

"collect more data" vs "tune hyper parameters" - systematic approach to making this decision is the distinction between a beginner and a experienced person.

notes#ai#deep-learning

Containers

The What, Why and How of Containers – Annwan; HN

--

Lima. Lima launches Linux virtual machines with automatic file sharing and port forwarding (similar to WSL2), and containerd. Lima can be considered as a some sort of unofficial "containerd for Mac". Lima is expected to be used on macOS hosts, but can be used on Linux hosts as well. colima is a container environment on macOS with minimal setup that uses lima-vm.

Create an LXD container in Macpine - Macpine

GoogleContainerTools/distroless: 🥑 Language focused docker images, minus the operating system.

Wolfi "is a community Linux OS designed for the container and cloud-native era. Chainguard started the Wolfi project to enable building Chainguard Images, our collection of curated distroless images that meet the requirements of a secure software supply chain. This required a Linux distribution with components at the appropriate granularity and with support for both glibc and musl, something that was not yet available in the cloud-native Linux ecosystem. Wolfi is a stripped-down distro designed for the cloud-native era. It doesn't have a kernel of its own, instead relying on the environment (such as the container runtime) to provide one. This separation of concerns in Wolfi means it is adaptable to a range of environments."

Chainguard Images contain only what is required to build or run your application. This results in fewer CVEs over time compared to other base images and on average an 80% reduction in overall size.

  • Signed with Sigstore
  • SBOMs included

lucavallin/barco: Linux containers from scratch in C.

abiosoft/colima: Container runtimes on macOS (and Linux) with minimal setup is an alternative for podman

Bottlerocket is a Linux-based operating system optimized for hosting containers.  

  • Bottlerocket is installed as the base operating system on the machine or instance where your containers themselves are running.
  • It is designed to work with container orchestrator like kubernetes to automate the lifecycle of the containers running in the cluster.
  • Bottlerocket runs in the cloud or in your datacenter.
  • Bottlerocket is designed to be updatable but it doesn’t have a package manager. It doesn’t need one. Updates are delivered via an image that is downloaded to a specific partition. When you’re ready to update, let your orchestrator drain the node and then tell Bottlerocket to apply the update and reboot when ready. Bottlerocket will swap the partitions and boot with the new version atomically.
  • Bottlerocket’s unique functionality is written in Rust and a little bit of Golang.
  • The root filesystem of Bottlerocket is immutable.
  • Bottlerocket has an always-enabled, enforced, restrictive SELinux policy
  • It does not have a shell
  • You can still interact with the system through privileged “host” containers (that do have shells)

notes#containers#docker#kubernetes#linux#lxd

Blogging

Get Blogging! -- how to start blogging.

ooh.directory -- directory of blogs.

I give you feedback on your blog post draft but you don't send it to me

It's still worth blogging in the age of AI :: Giles' blog; Feb 2025

blogging isn't just about being read -- it's about learning and thinking, and having a durable proof that you can do both.

Long term blogging experiences

notes#blogging

Helix

Config file: ~/.config/helix/config.toml

hx --health shows the health like this (on MacOS):

Config file: default
Language file: default
Log file: /Users/pgowda/.cache/helix/helix.log
Runtime directory: /opt/homebrew/Cellar/helix/22.08.1/libexec/runtime
Clipboard provider: pbpaste+pbcopy
System clipboard provider: pbpaste+pbcopy

Language               LSP                    DAP                    Highlight              Textobject             Indent
awk                    ✘ awk-language-serv…   None                   ✓                      ✓                      ✘
bash                   ✘ bash-language-ser…   None                   ✓                      ✘                      ✘
beancount              None                   None                   ✓                      ✘                      ✘
c                      ✓ clangd               ✘ lldb-vscode          ✓                      ✓                      ✓
c-sharp                ✘ OmniSharp            None                   ✓                      ✓                      ✘

Notes

Comparisons

notes#editor

Typesetting

Typesetting systems

Polytype – Home -- A Rosetta stone for typesetting engines. This project's goal is to provide a chrestomathy for typesetting similar to what Rosetta Code does for programming languages. The samples here are designed to compare and/or contrast the approaches taken to various typesetting situations by different typesetting engines.

Classic

New

Typst: Compose papers faster


See also: A Quick How-to on using LuaTeX with ConTeXt, pandoc, typesetting, groff.

PDF

pdf.tocgen is a set of command-line tools for automatically extracting and generating the table of contents (ToC) of a pdf file. It uses the embedded font attributes and position of headings to deduce the basic outline of a pdf file.

notes#typesetting

Postscript

Mathematical Illustrations an introduction to mathematical illustrations using postscript programming language. This is one of the best showcases of postscript

Don Lancaster (tinaja.com) and his many notes on postscript publishing; Obituary.

Don Lancaster passing away notice
Don Lancaster passed away in June 2023.

PostScript: A Digital Printing Press | Hacker News. Main discussion about PostScript: A Digital Printing Press from the Computer History Museum article, but the HN page has lots of links to PS stuff; Dec 2022.

The origins of Postscript by John Warnock, founder of Adobe in IEEE Annals of History of Computing (2018) via gwern.

A First Guide to PostScript by Peter Weingartner. Online book.

PSChess - A Chess Engine in PostScript

PostScript® 1.0 - A Code Study | ℤ→ℤ

nasa/pvslib: NASA PVS Library of Formal Developments with 18% postscript code (among common-lisp, python etc )

nst/PSTris: A Tetris implementation in PostScript

--

See also: My Hello Postscript page.

notes#graphics#postscript#programming#typesetting

Markup languages

djot

"Djot is a light markup syntax. It derives most of its features from commonmark, but it fixes a few things that make commonmark's syntax complex and difficult to parse efficiently. It is also much fuller-featured than commonmark, with support for definition lists, footnotes, tables, several new kinds of inline formatting (insert, delete, highlight, superscript, subscript), math, smart punctuation, attributes that can be applied to any element, and generic containers for block-level, inline-level, and raw content. "

  • by John MacFarnale of pandoc
  • implemented in Lua
  • custom pandoc reader
  • custom pandoc writer
  • luarocks install djot

Idyll

"Idyll can be used to create explorable explanations, write data-driven stories, and add interactivity to blog engines and content management systems. The tool can generate standalone webpages or be embedded in existing pages."

  • expands on markdown syntax
  • implemented in javascript
  • github
  • gallery
  • variables declared like -- [var name:'x' value:10 /]
  • datasets -- [data name:'myData' source: 'myData.csv' /]

Articles


See also Static Site Generators

notes#markdown#markup-language

Text search engines

PostgreSQL

Postgres as a search engine

Smaller alternatives to Elasticsearch without all the features

valeriansaliou/sonic: 🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

  • does not ship with a web frontend
  • from HN comment: "Sonic here only returns document identifiers so you will never be able to get document information back. This is very useful though if all you want to do is index text data and then get the stored information from another data store."

quickwit-oss/tantivy: Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust.

  • written in Rust
  • quickwit-oss/tantivy-cli has a quick onboarding via command line and provides an API that returns JSON search results.
  • "UI" is the JSON search endpoint

meilisearch/meilisearch: A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow.

nathell/smyrna

  • written in Clojure
  • "Smyrna is a concordancer and statistical analyzer for metadata-rich corpora in Polish."

zinclabs/zinc: ZincSearch. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

  • written in Go

More full featured alternatives to Elasticsearch

Manticore: a faster alternative to Elasticsearch in C++ with a 21-year history

Vespa.ai "store, search, organize and make machine-learned inferences over big data at serving time."

Commercial offerings

Static Search

Pagefind | Pagefind — Static low-bandwidth search at scale

is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.

Pagefind runs after Hugo, Eleventy, Jekyll, Next, Astro, SvelteKit, or any other website framework. The installation process is always the same: Pagefind only requires a folder containing the built static files of your website, so in most cases no configuration is needed to get started.

After indexing, Pagefind adds a static search bundle to your built files, which exposes a JavaScript search API that can be used anywhere on your site. Pagefind also provides a prebuilt UI that can be used with no configuration. (You can see the prebuilt UI at the top of this page.)

The goal of Pagefind is that websites with tens of thousands of pages should be searchable by someone in their browser, while consuming as little bandwidth as possible. Pagefind’s search index is split into chunks, so that searching in the browser only ever needs to load a small subset of the search index. Pagefind can run a full-text search on a 10,000 page site with a total network payload under 300kB, including the Pagefind library itself. For most sites, this will be closer to 100kB.

Articles

notes#database#text-search

Redbean

Redbean single-file distributable web server is built using cosmopolitan.

Redbean's home page does a great job of explaining what the software does:

rebean is an open source webserver in a zip executable that runs on six operating systems. The basic idea is if you want to build a web app that runs anywhere, then you download the redbean.com file, put your .html and .lua files inside it using the zip command, and then you've got a hermetic app you can deploy and share.

redbean embeds Lua, SQLite, and MbedTLS into a fork() driven application server that benchmarks at 1.1 million qps on a personal computer. It's got a live bestline REPL with code completion and a UNIX module too, that lets you directly use the Cosmopolitan Libc system call interface. redbean furthermore provides sandboxing and system call tracing for security. This makes redbean a great fit for when you want to build an app that's vertically integrated into a single tiny file that runs on nearly all PCs and servers.

--

Deploying a redbean app to Fly from Simon Willison’s TILs

Redbean Tiddlywiki Saver: rpdillon.net; Nov 2022.

shmup/awesome-cosmopolitan: List of Cosmopolitan Libc related resources and projects

Fullmoon is a Fast and minimalistic Redbean-based Lua web framework in one file by Paul Kulchenko, the creator of ZeroBraneStudio, a Lua IDE.

notes#c#embedded#lua#sqlite#webserver

Kotlin Programming Language

Reading

For the Pythonista

Kotlin uses >>> as the prompt for it's REPL. This is nice and familiar for a Pythonista.

Looping

This program in Python

fruits = ['apple', 'orange', 'banana']
for i, f in fruits:
    print(f'{i+1}\t{f}')

in Kotlin becomes:

val fruits = listOf("hello", "world", "apple")
for ((i, f) in fruits.withIndex()) {
	println("${i+1}\t${f}")
}

A lot more () and {}, I know.

News

My Thoughts on Kotlin: Perspectives after 4 years – tylerrussell.dev; Jan 2025

notes#java#kotlin

parquet

Parquet: more than just "Turbo CSV" a quick intro to why you should add parquet to your toolchain as a data engineer, via csvbase by cal peterson.

Chapter I: The birth of Parquet | The Sympathetic Ink Blog


manojkarthick/pqrs: Command line tool for inspecting Parquet files

brew install manojkarthick/tap/pqrs
# or if you have rust toolchain installed, as I do.
cargo install pqrs

--

multiprocessio/dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

--

maxcountryman/warc-parquet: 🗄️ A simple CLI for converting WARC to Parquet.

cargo install warc-parquet

notes#parquet

Duckdb

davidgasquez/awesome-duckdb: 🦆 A curated list of awesome DuckDB resources

Papers

Articles

Products

Videos

Tutorials

Tools

Discussion

Integration

Greybeam as an alternative for expensive Snowflake workloads using DuckDB.

  • Greybeam provides compute infrastructure to automatically route each query to its optimal engine.
  • Greybeam caches your Snowflake data as Apache Iceberg tables in a bucket you own. Provision it with Terraform, CloudFormation, or any IaC tool you already use.
  • If your tool connects to Snowflake, it already works with Greybeam. Just replace your connection string and your analytics tools will work exactly as they do today.
  • Greybeam manages the query engines, translates your SQL, and automatically routes each query to the most efficient engine. You don't change a single query.

--

See also: Parquet

notes#database#duckdb#sqlite

Books with Small Chapters

I like books with small chapters. Good for a quick pick me up reading.

  1. Ready for Anything by David Allen
  2. The Art of Thinking Clearly by Rolf Dobelli
  3. The Art of the Good Life by Rolf Dobelli
  4. The Daily Stoic by Ryan Holiday
  5. Zen Flesh Zen Bones by Paul Reps
  6. The portable Curmudgeon by Jon Winokur
  7. Zen to Go b Jon Winokur

notes#bookshelf

Vector Databases

What is a Vector Database? from the pinecone.io team.

Common Use cases for vector search:

  • Semantic Search
  • Similarity search for images, audio, video, JSON, and other forms of unstructured data
  • Ranking and Recommendation Engines
  • Deduplication and record matching
  • Anomaly detection (eg: IT Threat detection)

Capabilities of a vector database:

  • Vector Indexes for Search and Retrieval
  • Single-Stage Filtering
  • Data Sharding
  • Replication
  • Hybrid Storage
  • API

Vector databases

Articles

References

notes#database#vectordb

Databases

Meta

Databases

From this tweet by Phil Eaton, databases since 2017

notes#database

Linear Algebra

#mathematics #algebra

If you're interested in more great animations for a visual understanding of linear algebra, I can't recommend 3Blue1Brown's "Essence of Linear Algebra" series on Youtube highly enough.

Books

Courses

Videos

Action list

  1. work through my copy of A Programmer's Introduction to Mathematics
  2. work through my copy of Coding The Matrix
  3. purchase Linear Algebra and Learning from Data: Gilbert Strang: 9780692196380: AmazonSmile: Books

notes

Note Taking

Note Taking Apps

Ones I have tried:

Ones I have only heard about (not tried):

See also zettelkasten

notes#note-taking#productivity#second-brain#zettelkasten

Database Systems

Learning

CMU 15-445/645 :: Intro to Database Systems (Fall 2021)

Database Fundamentals

This is when I decided to read the excellent books Database Internals by Alex Petrov and Designing Data-Intensive Applications by Martin Kleppmann. The books piqued my curiosity enough to write my own little database I called dbeel. (in bash)

tontinton/dbeel: A distributed thread-per-core document database --  A distributed thread-per-core document database written in rust. So basically it has a document API like in MongoDB with leaderless replication like in Cassandra and thread-per-core architecture like in ScyllaDB.

Jennifer Widom's Home Page - (March 2020) Stanford's MOOC offering in Databases is now hosted by Stanford's EdX site and consists of five courses:

  1. Relational Databases and SQL
  2. Advanced Topics in SQL
  3. OLAP and Recursion
  4. Modeling and Theory
  5. Semistructured Data

AI Database systems

georgia-tech-db/eva: AI-Relational Database System | SQL meets Deep Learning

Longer Reads

Blogs

Books

Database Internals by Alex Petrov.

The book consists of two parts: Storage Engines and Distributed Systems since that’s where most of the differences between the vast majority of databases is coming from.

Papers

Database Papers that I like · Issue #7 · auxten/go-sqldb

notes#database