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

33 entriesFolder notes ×2022 ×Clear all

2022

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

PostgreSQL

Why PostgreSQL

PostgreSQL is Enough; and Just Use Postgres for Everything.

Just use Postgres

Quickstart

Pedram Navid | A Fast, Sample Postgres Database with Docker

Learning PostgreSQL

Internals

Articles

Appliances

The Elephant Shed PostgreSQL Appliance bundles and integrates proven components, required for easy management of a PostgreSQL server. Proven tools for all relevant aspects are already preinstalled and preconfigured. The majority of these tools can be controlled via a comfortable web interface. Even experienced PostgreSQL administrators will hardly find an area not covered by Elephant Shed PostgreSQL appliance.

Migrating and upgrading PostgreSQL

  • How we migrated our PostgreSQL database with 11 seconds downtime - Government Digital Service; 2024
  • xataio/pgroll -- is an open source command-line tool that offers safe and reversible schema migrations for PostgreSQL by serving multiple schema versions simultaneously. It takes care of the complex migration operations to ensure that client applications continue working while the database schema is being updated. This includes ensuring changes are applied without locking the database, and that both old and new schema versions work simultaneously (even when breaking changes are being made!). This removes risks related to schema migrations, and greatly simplifies client application rollout, also allowing for instant rollbacks.. Read introductory blogpost on xata.io

Tips and tricks

PostgreSQL and Full Text Search

This is one of the things PG does a good job. Keeping notes.

Using PostgreSQL as a queue / Kafka

So that’s what we built: a new queue backed by a single, and surprisingly simple, Postgres table. Our publishers write to it. Our consumers (workers) read from it. We maintain things like queue ordering by adding an ORDER BY clause in the query that consumers use to read from it (groundbreaking, we know). And we guarantee that jobs won’t be picked up by more than one worker through simple read/write row-level locks. The new system is actually kind of absurdly simple when you look at it. And that’s a good thing. It’s also behaved flawlessly so far.

It comes with several, significant upsides for our team. For one, the application state is no longer spread out over two systems (RabbitMQ storage and Postgres). It’s now centralized in our application database. This makes disaster recovery that much easier, and increases the resiliency of the overall system by removing moving pieces.

To make all of this run smoothly, we enqueue and dequeue thousands of jobs every day.

(the load isn't all that big)


Sequin "A Postgres alternative to Kafka. Get a feature-rich message stream with none of the operational overhead". See Build your own SQS or Kafka with Postgres blog post.

PostgreSQL and ML

  • Home – PostgresML -- An open source Postgres based platform for your interactive AI powered applications. Instantly scale your workloads with dedicated replicas or our serverless GPU accelerated cloud.

PostgreSQL on MacOS

Installing PostgreSQL on a Mac with Homebrew - Daily Dev Tips -- includes tips on how to create a non-postgres user.

Self Hosting

Go ahead, self-host Postgres | Pierce Freeman

PostgreSQL on the cloud

  1. Supabase -- "an open source Firebase alternative. Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and Vector embeddings".
    1. postgres.new: In-browser Postgres with an AI interface by Supabase; HN
    2. Postgres Sandbox
  2. Xata -- "serverless data platform for PostgreSQL."
  3. Tembo -- "Tembo is the Postgres developer platform for building every data service."

PostgreSQL-ish databases

Apart from the ones above ("on the cloud"),

Embedded PostgreSQL

PGlite "Run a full Postgres database locally in WASM with reactivity and live sync."

  • under 3MB Gzipped.
  • Dynamic extension loading mechanism, including support for pgvector and PostGIS
  • Built in support for data loading, synchronisation and live query primitives.

notes#database#postgresql#sql

Sublime Text 3

Notes on Sublime Text 3 editor.

My current user config:

{
	"ignored_packages":
	[
		"Vintage",
	],
	"rulers": [80, 100, 120],
	"line_padding_top": 2,
	"line_padding_bottom": 2,
	"theme": "Adaptive.sublime-theme",
	"font_face": "Fira Code",
	"font_size": 16,
	"binary_file_patterns": ["output/*", "website/*"],
	"color_scheme": "Packages/Ublime Color Schemes/Anatomy of Grey Light.tmTheme",
}

My Sublime Text configs: https://github.com/btbytes/st3_user_config (private repo)

notes#editor

Spaced Repetition

Learning is Remembering

  1. You can only understand something if it combines less than 4 new pieces of information.
  2. Learning is an alteration in long-term memory -- Ofstead, 2019

Learning is remembering and the easiest way to start learning faster is to stop forgetting the things you learn.

Learn Exponentially

  1. Spaced repetition is a rapid exponential process
  2. reading takes years to double in effectiveness whereas spaced repetition takes only days.0

you can become more effective than anyone thought you could, use spaced repetition to learn exponentially.

notes#learning#technique

My Surge.sh sites

Surge.sh is super simple way to put up a static web page or a website with multiple static web pages on the web.

npm install --global surge

--

Use surge list to find all your surge websites.

My Surge Sites

notes#elsewhere

The Rules of Civility, by George Washington

  1. Every action done in company ought to be with some sign of respect, to those that are present.
  2. When in company, put not your hands to any part of the body, not usually discovered.
  3. Show nothing to your friend that may affright him.
  4. In the presence of others sing not to yourself with a humming noise, nor drum with your fingers or feet.
  5. If you cough, sneeze, sigh, or yawn, do it not loud but privately; and speak not in your yawning, but put your handkerchief or hand before your face and turn aside.
  6. Sleep not when others speak, sit not when others stand, speak not when you should hold your peace, walk not on when others stop.
  7. Put not off your cloths in the presence of others, nor go out your chamber half dressed.
  8. At play and at fire its good manners to give place to the last comer, and affect not to speak louder than ordinary.
  9. Spit not in the fire, nor stoop low before it neither put your hands into the flames to warm them, nor set your feet upon the fire especially if there be meat before it.
  10. When you sit down, keep your feet firm and even, without putting one on the other or crossing them.
  11. Shift not yourself in the sight of others nor gnaw your nails.
  12. Shake not the head, feet, or legs roll not the eyes lift not one eyebrow higher than the other wry not the mouth, and bedew no mans face with your spittle, by approaching too near him when you speak.
  13. Kill no vermin as fleas, lice ticks in the sight of others, if you see any filth or thick spittle put your foot dexterously upon it if it be upon the cloths of your companions, put it off privately, and if it be upon your own cloths return thanks to him who puts it off.
  14. Turn not your back to others especially in speaking, jog not the table or desk on which another reads or writes, lean not upon any one.
  15. Keep your nails clean and short, also your hands and teeth clean yet without showing any great concern for them.
  16. Do not puff up the cheeks, loll not out the tongue rub the hands, or beard, thrust out the lips, or bite them or keep the lips too open or too close.
  17. Be no flatterer, neither play with any that delights not to be played withal.
  18. Read no letters, books, or papers in company but when there is a necessity for the doing of it you must ask leave: ... come not near the books or writings of another so as to read them unless desired or give your opinion of them unasked also look not nigh when another is writing a letter.
  19. Let your countenance be pleasant but in serious matters somewhat grave.
  20. The gestures of the body must be suited to the discourse you are upon.
  21. Reproach none for the infirmities of nature, nor delight to put them that have in mind thereof.
  22. Show not yourself glad at the misfortune of another though he were your enemy.
  23. When you see a crime punished, you may be inwardly pleased; but always show pity to the suffering offender.
  24. Do not laugh too loud or too much at any public spectacle.
  25. Superfluous complements and all affectation of ceremony are to be avoided, yet where due they are not to be neglected.
  26. In pulling off your hat to persons of distinction, as noblemen, justices, churchmen &c make a reverence, bowing more or less according to the custom of the better bred, and quality of the person. ... Amongst your equals expect not always that they should begin with you first, but to pull off the hat when there is no need is affectation, in the manner of saluting and re-saluting in words keep to the most usual custom.
  27. 'Tis ill manners to bid one more eminent than yourself be covered as well as not to do it to whom it's due likewise he that makes too much haste to put on his hat does not well... ... yet he ought to put it on at the first, or at most the second time of being asked; now what is herein spoken, of qualification in behavior in saluting, ought also to be observed in taking of place, and sitting down for ceremonies without bounds is troublesome.
  28. If any one come to speak to you while you are sitting stand up though he be your inferior, and when you present seats let it be to every one according to his degree.
  29. When you meet with one of greater quality than yourself, stop, and retire especially if it be at a door or any straight place to give way for him to pass.
  30. In walking the highest place in most countries seems to be the right hand therefore place yourself on the left of him whom you desire to honor: but if three walk together the middle place is the most honorable the wall is usually given to the most worthy if two walk together.
  31. If any one far surpasses others, either in age, estate, or merit yet would give place to a meaner than himself in his own lodging or elsewhere the one ought not to except it, so he on the other part should not use much earnestness nor offer it above once or twice.
  32. To one that is your equal, or not much inferior you are to give the chief place in your lodging and he to who 'is offered ought at the first to refuse it but at the second to accept though not without acknowledging his own unworthiness.
  33. They that are in dignity or in office have in all places precedence but whilst they are young they ought to respect those that are their equals in birth or other qualities, though they have no public charge.
  34. It is good manners to prefer them to whom we speak before ourselves especially if they be above us with whom in no sort we ought to begin.
  35. Let your discourse with men of business be short and comprehensive.
  36. Artificers & persons of low degree ought not to use many ceremonies to lords or others of high degree but respect and highly honor them, and those of high degree ought to treat them with affability & courtesy, without arrogance.
  37. In speaking to men of quality do not lean nor look them full in the face, nor approach too near them at lest keep a full pace from them.
  38. In visiting the sick, do not presently play the physician if you do not know therein.
  39. In writing or speaking, give to every person his due title according to his degree & the custom of the place.
  40. Strive not with your superiors in argument, but always submit your judgment to others with modesty.
  41. Undertake not to teach your equal in the art himself professes; it savors of arrogance.
  42. Let thy ceremonies in courtesy be proper to the dignity of his place with whom thou converses for it is absurd to act the same with a clown and a prince.
  43. Do not express joy before one sick or in pain for that contrary passion will aggravate his misery.
  44. When a man does all he can though it succeeds not well blame not him that did it.
  45. Being to advise or reprehend any one, consider whether it ought to be in public or in private; presently, or at some other time in what terms to do it and in reproving show no sign of choler but do it with all sweetness and mildness.
  46. Take all admonitions thankfully in what time or place so ever given but afterwards not being culpable take a time & place convenient to let him know it that gave them.
  47. Mock not nor jest at any thing of importance break no jest that are sharp biting and if you deliver any thing witty and pleasant abstain from laughing thereat yourself.
  48. Wherein you reprove another be unblameable yourself; for example is more prevalent than precepts.
  49. Use no reproachful language against any one neither curse nor revile.
  50. Be not hasty to believe flying reports to the disparagement of any.
  51. Wear not your cloths, foul, ripped or dusty but see they be brushed once every day at least and take heed that you approach not to any uncleanness.
  52. In your apparel be modest and endeavor to accommodate nature, rather than to procure admiration keep to the fashion of your equals such as are civil and orderly with respect to times and places.
  53. Run not in the streets, neither go too slowly nor with mouth open go not shaking your arms kick not the earth with r feet, go not upon the toes, nor in a dancing fashion.
  54. Play not the peacock, looking everywhere about you, to see if you be well decked, if your shoes fit well if your stockings sit neatly, and cloths handsomely.
  55. Eat not in the streets, nor in the house, out of season.
  56. Associate yourself with men of good quality if you esteem your own reputation; for 'is better to be alone than in bad company.
  57. In walking up and down in a house, only with one in company if he be greater than yourself, at the first give him the right hand and stop not till he does and be not the first that turns... ... and when you do turn let it be with your face towards him, if he be a man of great quality, walk not with him cheek by jowl but somewhat behind him; but yet in such a manner that he may easily speak to you.
  58. Let your conversation be without malice or envy, for 'is a sign of a tractable and commendable nature: and in all causes of passion admit reason to govern.
  59. Never express anything unbecoming, nor act against the rules moral before your inferiors.
  60. Be not immodest in urging your friends to discover a secret.
  61. Utter not base and frivolous things amongst grave and learned men nor very difficult questions or subjects, among the ignorant or things hard to be believed, stuff not your discourse with sentences amongst your betters nor equals.
  62. Speak not of doleful things in a time of mirth or at the table; speak not of melancholy things as death and wounds, and if others mention them change if you can the discourse tell not your dreams, but to your intimate friend.
  63. A man ought not to value himself of his achievements, or rare qualities of wit; much less of his riches virtue or kindred.
  64. Break not a jest where none take pleasure in mirth laugh not aloud, nor at all without occasion, deride no mans misfortune, though there seem to be some cause.
  65. Speak not injurious words neither in jest nor earnest scoff at none although they give occasion.
  66. Be not forward but friendly and courteous; the first to salute hear and answer & be not pensive when it's a time to converse.
  67. Detract not from others neither be excessive in commanding.
  68. Go not thither, where you know not, whether you shall be welcome or not. Give not advice without being asked & when desired do it briefly.
  69. If two contend together take not the part of either unconstrained; and be not obstinate in your own opinion, in things indifferent be of the major side.
  70. Reprehend not the imperfections of others for that belongs to parent's masters and superiors.
  71. Gaze not on the marks or blemishes of others and ask not how they came. What you may speak in secret to your friend deliver not before others.
  72. Speak not in an unknown tongue in company but in your own language and that as those of quality do and not as the vulgar; sublime matters treat seriously.
  73. Think before you speak pronounce not imperfectly nor bring out your words too hastily but orderly & distinctly.
  74. When another speaks be attentive your self and disturb not the audience if any hesitate in his words help him not nor prompt him without desired, interrupt him not, nor answer him till his speech be ended.
  75. In the midst of discourse ask not of what one treateth but if you perceive any stop because of your coming you may well entreat him gently to proceed: if a person of quality comes in while your conversing it's handsome to repeat what was said before.
  76. While you are talking, point not with your finger at him of whom you neither discourse nor approach too near him to whom you talk especially to his face.
  77. Treat with men at fit times about business & whisper not in the company of others.
  78. Make no comparisons and if any of the company be commended for any brave act of virtue, commend not another for the same.
  79. Be not apt to relate news if you know not the truth thereof. In discoursing of things you have heard name not your author always a secret discover not.
  80. Be not tedious in discourse or in reading unless you find the company pleased therewith.
  81. Be not curious to know the affairs of others neither approach those that speak in private.
  82. Undertake not what you cannot perform but be careful to keep your promise.
  83. When you deliver a matter do it without passion & with discretion, however mean the person be you do it too.
  84. When your superiors talk to any body hearken not neither speak nor laugh.
  85. In company of these of higher quality than yourself speak not 'til you are asked a question then stand upright put of your hat & answer in few words.
  86. In disputes, be not so desirous to overcome as not to give liberty to each one to deliver his opinion and submit to the judgment of the major part especially if they are judges of the dispute.
  87. Let thy carriage be such as becomes a man grave settled and attentive to that, which is spoken. Contradict not at every turn what others say.
  88. Be not tedious in discourse, make not many digressions, nor repeat often the same manner of discourse.
  89. Speak not evil of the absent for it is unjust.
  90. Being set at meat scratch not, neither spit, cough or blow your nose except when there's a necessity for it.
  91. Make no show of taking great delight in your victuals, feed not with greediness; cut your bread with a knife, lean not on the table neither find fault with what you eat.
  92. Take no salt or cut bread with your knife greasy.
  93. Entertaining any one at the table, it is decent to present him with meat; undertake not to help others undesired by the master.
  94. If you soak bread in the sauce let it be no more than what you put in your mouth at a time and blow not your broth at table but stay till cools of it self.
  95. Put not your meat to your mouth with your knife in your hand neither spit forth the stones of any fruit pie upon a dish nor cast anything under the table.
  96. It's unbecoming to stoop much to ones meat keep your fingers clean & when foul wipe them on a corner of your table napkin.
  97. Put not another bit into your mouth till the former is swallowed. Let not your morsels be too big for the jowls.
  98. Drink not nor talk with your mouth full; neither gaze about you while you are drinking.
  99. Drink not too leisurely nor yet too hastily. Before and after drinking, wipe your lips; breathe not then or ever with too great a noise, for its uncivil.
  100. Cleanse not your teeth with the table cloth napkin, fork, or knife; but if others do it, let it be done without a peep to them.
  101. Rinse not your mouth in the presence of others.
  102. It is out of use to call upon the company often to neither eat; nor need you drink to others every time you drink.
  103. In the company of your betters, be not longer in eating than they are; lay not your arm but only your hand upon the table.
  104. It belongs to the chiefest in company to unfold his napkin and fall to meat first, but he ought then to begin in time & to dispatch with dexterity that the slowest may have time allowed him.
  105. Be not angry at the table whatever happens & if you have reason to be so, show it not; put on a cheerful countenance especially if there be strangers, for good humor makes one dish of meat a feast.
  106. Set not yourself at the upper of the table; but if it were your due or that the master of the house will have it so, contend not, least you should trouble the company.
  107. If others talk at the table, be attentive but talk not with meat in your mouth.
  108. When you speak of god or his attributes let it be seriously & with reverence. Honor & obey your natural parents although they are poor.
  109. Let your recreations be manful not sinful.
  110. Labor to keep alive in your breast that little spark of celestial fire called conscience.

Thread by Joshua Steinman@JoshuaSteinman on Twitter.

notes#advice#history