corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a0878f-0095-7287-9112-08c8b7dcef7d", "title": "Delivery vs Engineering", "url": "https://www.joeltok.com/posts/2025-07-delivery-vs-engineering.md/", "published_at": "2025-07-28T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8b84136f9", "title": "An Everything-as-code answer to ThoughtWorks' Tech Radar", "url": "https://www.joeltok.com/posts/2025-05-everything-as-code-tech-radar-with-markdown/", "published_at": "2025-05-19T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8b85a385a", "title": "Using the NX Web Plugin to Scaffold a Static HTML Site", "url": "https://www.joeltok.com/posts/2024-05-nx-static-vanilla-site/", "published_at": "2024-05-25T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8b94a6779", "title": "The Benefits of a Component Library, for Non-Technical Readers", "url": "https://www.joeltok.com/posts/2024-05-benefits-component-libraries-non-technical/", "published_at": "2024-05-13T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8b96325b8", "title": "Solar-powered Lights – Do They Really Pay For Themselves?", "url": "https://www.joeltok.com/posts/2024-04-solar-powered-lights-calculations/", "published_at": "2024-04-27T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8ba2ae4d6", "title": "A Guide to Understanding Unfamiliar Nx Plugins", "url": "https://www.joeltok.com/posts/2024-04-nx-understanding-a-plugin/", "published_at": "2024-04-14T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8baf03e42", "title": "Does an off-peak Battery Make Sense for Me?", "url": "https://www.joeltok.com/posts/2024-04-off-peak-battery-feasibility/", "published_at": "2024-04-08T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bb02426a", "title": "How to Search for a File by its Name in VS Code", "url": "https://www.joeltok.com/posts/2024-04-search-file-in-vscode/", "published_at": "2024-04-07T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bb4b1228", "title": "Nx is a Standardisation Tool", "url": "https://www.joeltok.com/posts/2024-03-nx-is-a-standardisation-tool/", "published_at": "2024-03-17T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bbf50cba", "title": "Understanding Power Density", "url": "https://www.joeltok.com/posts/2024-03-power-density-and-other-quadrants/", "published_at": "2024-03-04T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bc353b87", "title": "Setting HTML Standards Compliant Boolean Attributes with different Frameworks", "url": "https://www.joeltok.com/posts/2024-03-html-compliant-booleans-in-different-frameworks/", "published_at": "2024-03-02T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bca672d6", "title": "Exposing Lit Element Attribute and Properties for Outside Use", "url": "https://www.joeltok.com/posts/2024-02-wc-lit-element-exposing-attributes-and-properties/", "published_at": "2024-02-24T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bd6cc4e9", "title": "Vanilla Web Components from Scratch – A Dive", "url": "https://www.joeltok.com/posts/2024-02-wc-basics-vanilla-from-scratch-a-dive/", "published_at": "2024-02-22T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8be41c28f", "title": "Water Tank Battery Numbers – Capacity, Effiency and other Key Metrics", "url": "https://www.joeltok.com/posts/2024-02-explore-water-tank-battery/", "published_at": "2024-02-18T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bea925a8", "title": "Dart – Implementing a Factory Constructor for an Abstract Class", "url": "https://www.joeltok.com/posts/2023-03-dart-abstract-class-factory-method/", "published_at": "2023-03-15T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bed8208a", "title": "How to conceptualise electricity in battery systems", "url": "https://www.joeltok.com/posts/2022-11-conceptualise-electricity-battery-systems/", "published_at": "2022-11-17T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8beef7d1d", "title": "A Practical Guide to Calculating Battery Capacity", "url": "https://www.joeltok.com/posts/2022-10-actual-battery-capacity/", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bf4abfe6", "title": "Python 3 – Dependency Reproducibility between Environments", "url": "https://www.joeltok.com/posts/2022-10-python-dependency-reproducibility/", "published_at": "2022-10-14T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8bfee7715", "title": "Debugging Docker", "url": "https://www.joeltok.com/posts/2022-09-debugging-docker/", "published_at": "2022-09-01T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c0ea829c", "title": "React Hook Form – Blur on submit", "url": "https://www.joeltok.com/posts/2022-07-unfocus-input-react-hook-form/", "published_at": "2022-07-19T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c157af36", "title": "Hiking Mount Disappointment", "url": "https://www.joeltok.com/posts/2022-06-mount-disappointment-hike/", "published_at": "2022-06-29T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c16e9ac3", "title": "Introducing Quackcheck!", "url": "https://www.joeltok.com/posts/2022-06-introducing-quackcheck/", "published_at": "2022-06-23T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c1d7b77f", "title": "Can I Retire – Part 3: Optimising Income", "url": "https://www.joeltok.com/posts/2022-05-can-i-retire-part-3/", "published_at": "2022-05-09T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c1e6e0c9", "title": "Can I Retire – Part 2: Optimising Expenses", "url": "https://www.joeltok.com/posts/2022-04-can-i-retire-part-2/", "published_at": "2022-04-05T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c203d854", "title": "Can I Retire – Part 1: A Simple Spreadsheet", "url": "https://www.joeltok.com/posts/2022-04-can-i-retire-part-1/", "published_at": "2022-04-04T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c2d2b5cb", "title": "Camunda – Service Task Benchmarks", "url": "https://www.joeltok.com/posts/2021-11-camunda-service-task-benchmarks/", "published_at": "2021-11-21T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c385f1b6", "title": "LocalStack with Gitlab CI", "url": "https://www.joeltok.com/posts/2021-09-localstack-with-gitlab-ci/", "published_at": "2021-09-09T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c406c753", "title": "Memory Optimisation – Python DataFrames vs Lists and Dictionaries (JSON-like)", "url": "https://www.joeltok.com/posts/2021-06-memory-dataframes-vs-json-like/", "published_at": "2021-06-07T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c4f3eb96", "title": "How to Save, Load and Use ML Models in Metaflow", "url": "https://www.joeltok.com/posts/2021-04-use-ml-models-metaflow/", "published_at": "2021-04-15T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c5eb2b92", "title": "Building an Event Bus in Python with asyncio", "url": "https://www.joeltok.com/posts/2021-03-building-an-event-bus-in-python/", "published_at": "2021-03-15T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c6398983", "title": "Python 3 — Run async function synchronously", "url": "https://www.joeltok.com/posts/2021-02-python-async-sync/", "published_at": "2021-02-15T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c6d3ff91", "title": "Chatbot Conversation Engines — Different Approaches", "url": "https://www.joeltok.com/posts/2021-01-chatbot-conversation-engines/", "published_at": "2021-01-29T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c6d50b10", "title": "One Host, Multiple Vue Apps", "url": "https://www.joeltok.com/posts/2020-12-multiple-vue-apps-same-proxy/", "published_at": "2020-12-29T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c79ac719", "title": "Flutter Desktop — a Hello World App for Linux, MacOS and Windows", "url": "https://www.joeltok.com/posts/2020-11-flutter-desktop-hello-world/", "published_at": "2020-11-08T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c87ff1ae", "title": "Python3 asyncio – create_task errors fail silently", "url": "https://www.joeltok.com/posts/2020-10-python-asyncio-create-task-fails-silently/", "published_at": "2020-10-12T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c915fca5", "title": "Flutter Camera - An Example with Detailed Explanations and Pitfalls", "url": "https://www.joeltok.com/posts/2020-10-flutter-camera-example/", "published_at": "2020-10-06T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c9e52dee", "title": "Performance Benchmarking: Pandas DataFrame vs Python List of Dictionaries", "url": "https://www.joeltok.com/posts/2020-05-dataframe-vs-list-of-dictionaries/", "published_at": "2020-05-31T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8c9f420fd", "title": "Converting F.relu() to nn.ReLU() in PyTorch", "url": "https://www.joeltok.com/posts/2020-04-pytorch-f-relu-to-nn-relu/", "published_at": "2020-04-28T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8ca241c21", "title": "Your boss is your client", "url": "https://www.joeltok.com/posts/2019-08-your-boss-is-your-client/", "published_at": "2019-08-23T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8caae8e58", "title": "Chatbots: Reducing the chatbot conversation design feedback loop by 99%", "url": "https://www.joeltok.com/posts/2019-03-reducing-conversation-design-loop/", "published_at": "2019-03-03T00:00:00+00:00" }, { "id": "01a0878f-0095-7287-9112-08c8cb2c5c33", "title": null, "url": "https://www.joeltok.com/posts/2025-05-developer-productivity-at-scale.md/", "published_at": null }, { "id": "01a0878f-0095-7287-9112-08c8cb4f4070", "title": null, "url": "https://www.joeltok.com/tech-stack/", "published_at": null }, { "id": "01a0878f-0095-7287-9112-08c8cbb0f391", "title": "About", "url": "https://www.joeltok.com/about/", "published_at": null }, { "id": "01a0878f-0095-7287-9112-08c8cc0284f9", "title": "Contact", "url": "https://www.joeltok.com/contact/", "published_at": null }, { "id": "01a0878f-0095-7287-9112-08c8ccac54d8", "title": "My Software Delivery Framework", "url": "https://www.joeltok.com/software-delivery-framework/", "published_at": null }, { "id": "01a0878f-0095-7287-9112-08c8cce6587d", "title": "What am I up to now?", "url": "https://www.joeltok.com/now/", "published_at": null } ] posts
Claim your blog
Back to joeltok.com
Blog · corpus.blog/blogs/joeltok.com/posts
joeltok.com
joeltok.com
2025
Delivery vs Engineering
original ↗
28 Jul 2025
An Everything-as-code answer to ThoughtWorks' Tech Radar
original ↗
19 May 2025
2024
Using the NX Web Plugin to Scaffold a Static HTML Site
original ↗
25 May 2024
The Benefits of a Component Library, for Non-Technical Readers
original ↗
13 May 2024
Solar-powered Lights – Do They Really Pay For Themselves?
original ↗
27 Apr 2024
A Guide to Understanding Unfamiliar Nx Plugins
original ↗
14 Apr 2024
Does an off-peak Battery Make Sense for Me?
original ↗
8 Apr 2024
How to Search for a File by its Name in VS Code
original ↗
7 Apr 2024
Nx is a Standardisation Tool
original ↗
17 Mar 2024
Understanding Power Density
original ↗
4 Mar 2024
Setting HTML Standards Compliant Boolean Attributes with different Frameworks
original ↗
2 Mar 2024
Exposing Lit Element Attribute and Properties for Outside Use
original ↗
24 Feb 2024
Vanilla Web Components from Scratch – A Dive
original ↗
22 Feb 2024
Water Tank Battery Numbers – Capacity, Effiency and other Key Metrics
original ↗
18 Feb 2024
2023
Dart – Implementing a Factory Constructor for an Abstract Class
original ↗
15 Mar 2023
2022
How to conceptualise electricity in battery systems
original ↗
17 Nov 2022
A Practical Guide to Calculating Battery Capacity
original ↗
20 Oct 2022
Python 3 – Dependency Reproducibility between Environments
original ↗
14 Oct 2022
Debugging Docker
original ↗
1 Sept 2022
React Hook Form – Blur on submit
original ↗
19 Jul 2022
Hiking Mount Disappointment
original ↗
29 Jun 2022
Introducing Quackcheck!
original ↗
23 Jun 2022
Can I Retire – Part 3: Optimising Income
original ↗
9 May 2022
Can I Retire – Part 2: Optimising Expenses
original ↗
5 Apr 2022
Can I Retire – Part 1: A Simple Spreadsheet
original ↗
4 Apr 2022
2021
Camunda – Service Task Benchmarks
original ↗
21 Nov 2021
LocalStack with Gitlab CI
original ↗
9 Sept 2021
Memory Optimisation – Python DataFrames vs Lists and Dictionaries (JSON-like)
original ↗
7 Jun 2021
How to Save, Load and Use ML Models in Metaflow
original ↗
15 Apr 2021
Building an Event Bus in Python with asyncio
original ↗
15 Mar 2021
Python 3 — Run async function synchronously
original ↗
15 Feb 2021
Chatbot Conversation Engines — Different Approaches
original ↗
29 Jan 2021
2020
One Host, Multiple Vue Apps
original ↗
29 Dec 2020
Flutter Desktop — a Hello World App for Linux, MacOS and Windows
original ↗
8 Nov 2020
Python3 asyncio – create_task errors fail silently
original ↗
12 Oct 2020
Flutter Camera - An Example with Detailed Explanations and Pitfalls
original ↗
6 Oct 2020
Performance Benchmarking: Pandas DataFrame vs Python List of Dictionaries
original ↗
31 May 2020
Converting F.relu() to nn.ReLU() in PyTorch
original ↗
28 Apr 2020
2019
Your boss is your client
original ↗
23 Aug 2019
Chatbots: Reducing the chatbot conversation design feedback loop by 99%
original ↗
3 Mar 2019
Undated
https://www.joeltok.com/posts/2025-05-developer-productivity-at-scale.md/
original ↗
—
https://www.joeltok.com/tech-stack/
original ↗
—
About
original ↗
—
Contact
original ↗
—
My Software Delivery Framework
original ↗
—
What am I up to now?
original ↗
—