The Curious Engineer

All blogs / JavaScript / TypeScript

๐Ÿ“œ Programming notes ยท Caolan

caolan.uk/notes

JavaScript / TypeScriptPerformance / optimizationSoftware / engineering practice

Posts
81 from 12 Jul 2009 to 2 Jul 2026
Posting
monthly (7 in the last year)
Kind
personal blog
Feed
https://caolan.uk/feed/notes/

2026 5

  1. A Speed Limit for Computers
  2. The Story of DOM Patch
  3. My ThinkPad X60
  4. Avoiding Abstraction: An Example
  5. A Tiny JavaScript Bloom Filter

2025 13

  1. MurmurHash JavaScript Port
  2. Abstraction: A Critical Perspective
  3. API Builder Style
  4. 2025-07-31 - The Fastest JavaScript B-Tree
  5. 2025-07-31 - Complex Iterators are Slow
  6. Homestead the Web
  7. 2025-04-18 - Creative Zen Xtra SD Card Mod
  8. 2025-04-10 - Why Nobody Finishes Anything
  9. 2025-04-04 - Automation Makes Work
  10. 2025-03-18 - Smaller JavaScript Using Gzip
  11. 2025-02-27 - JavaScript Features to Build Slowly Upon: Custom Elements
  12. 2025-02-10 - Politely Asking Bots to Report Themselves
  13. 2025-01-27 - Timi: JavaScript Indexes

2024 14

  1. 2024-10-31 - Minifying Public Properties in JavaScript
  2. 2024-10-17 - Software, Scarcity, and Zig
  3. 2024-10-14 - JS0/JSSugar: the tooling will continue until morale improves
  4. 2024-07-29 - Mutiny Multiplexing and EventSources
  5. 2024-07-15 - Mutiny Test Suite and Announce API
  6. 2024-07-10 - State Management Using Signallers
  7. 2024-06-24 - Mutiny Chat Example
  8. 2024-06-19 - Promises and Memory Leaks
  9. 2024-06-03 - Daemon Structure and New APIs
  10. 2024-05-28 - Event Delegation
  11. 2024-05-27 - Message Protocol and Local Peer Discovery
  12. 2024-05-23 - New Project: True Serverless Web Apps
  13. 2024-04-14 - Revisiting the Bramley
  14. 2024-01-03 - Destructuring Infinity

2023 2

  1. 2023-08-02 - Smaller JavaScript Using Module Exports
  2. 2023-07-28 - Smaller JavaScript Using Encapsulation

2022 3

  1. 2022-11-24 - The Merits of Visible Alt-Text
  2. 2022-08-19 - A Very Simple Markup Language
  3. 2022-05-13 - Serving Markdown Direct from Apache

2020 8

  1. 2020-11-18 - Bramley: Splash Screen and Shutdown
  2. 2020-10-25 - Bramley: Buttons
  3. 2020-10-14 - Bramley: Driving a Sharp Memory Display from Rust
  4. 2020-10-07 - Bramley: Display
  5. 2020-10-06 - Bramley: Human Input
  6. 2020-10-05 - Bramley: Build Log (Introduction)
  7. 2020-07-22 - Inside a Collaborative Text Editor
  8. 2020-03-03 - Time Disorder

2019 3

  1. 2019-08-02 - Redux and Typescript
  2. 2019-07-04 - TamaWiki 0.1.1
  3. 2019-06-21 - Collaborative Editor in Rust

2017 2

  1. 2017-04-27 - Encrypted Git Repositories
  2. 2017-01-17 - Exploring LMDB

2016 5

  1. 2016-11-02 - Snake on the BBC micro:bit
  2. 2016-05-31 - Progressive Enhancement and Modern JavaScript
  3. 2016-05-16 - Tiny Immutables
  4. 2016-04-04 - Raspberry Pi MPD Server
  5. 2016-01-11 - Punycode

2015 4

  1. 2015-11-27 - Laser Cut Wood Keyboard
  2. 2015-11-23 - Bencoding
  3. 2015-08-30 - LDAP Bind
  4. 2015-08-21 - CommonMark for CHICKEN

2014 2

  1. 2014-11-21 - Focus Mode
  2. 2014-02-14 - How I Want to Write Node

2012 3

  1. 2012-08-27 - Node.js Style and Structure
  2. 2012-07-09 - Try Harmony Modules Today
  3. 2012-01-06 - CouchDB is not a Database

2011 2

  1. 2011-03-23 - Flexible Callback Arguments
  2. 2011-01-18 - CommonJS Modules in CouchDB

2010 7

  1. 2010-09-20 - Unit Testing in Node.js
  2. 2010-09-06 - On _designs Undocumented
  3. 2010-08-02 - Async.js Update and Console Utils
  4. 2010-07-31 - Multiple Set-Cookie Headers in Node.js
  5. 2010-07-01 - Writing for Node and the Browser
  6. 2010-06-01 - Asynchronous Code in Node.js
  7. 2010-05-25 - Deploying Node.js with Upstart

2009 6

  1. 2009-10-15 - Erlang Map/Reduce in CouchDB
  2. 2009-10-01 - Notifications Update
  3. 2009-09-28 - Ubuntu Notifications in JavaScript
  4. 2009-08-23 - Erlmpd - An Erlang Library for MPD
  5. 2009-07-17 - Flatten for Python
  6. 2009-07-12 - Erlang Syntax Highlighting

Undated 2

  1. Bramley: a prototype handheld device
  2. Smaller JavaScript