Joel Tok
Delivery vs Engineering
An Everything-as-code answer to ThoughtWorks' Tech Radar
Using the NX Web Plugin to Scaffold a Static HTML Site
The Benefits of a Component Library, for Non-Technical Readers
Solar-powered Lights – Do They Really Pay For Themselves?
A Guide to Understanding Unfamiliar Nx Plugins
Does an off-peak Battery Make Sense for Me?
How to Search for a File by its Name in VS Code
Nx is a Standardisation Tool
Understanding Power Density
Setting HTML Standards Compliant Boolean Attributes with different Frameworks
Exposing Lit Element Attribute and Properties for Outside Use
Vanilla Web Components from Scratch – A Dive
Water Tank Battery Numbers – Capacity, Effiency and other Key Metrics
Dart – Implementing a Factory Constructor for an Abstract Class
How to conceptualise electricity in battery systems
A Practical Guide to Calculating Battery Capacity
Python 3 – Dependency Reproducibility between Environments
Debugging Docker
React Hook Form – Blur on submit
Hiking Mount Disappointment
Introducing Quackcheck!
Can I Retire – Part 3: Optimising Income
Can I Retire – Part 2: Optimising Expenses
Can I Retire – Part 1: A Simple Spreadsheet
Camunda – Service Task Benchmarks
LocalStack with Gitlab CI
Memory Optimisation – Python DataFrames vs Lists and Dictionaries (JSON-like)
How to Save, Load and Use ML Models in Metaflow
Building an Event Bus in Python with asyncio
Python 3 — Run async function synchronously
Chatbot Conversation Engines — Different Approaches
One Host, Multiple Vue Apps
Flutter Desktop — a Hello World App for Linux, MacOS and Windows
Python3 asyncio – create_task errors fail silently
Flutter Camera - An Example with Detailed Explanations and Pitfalls
Performance Benchmarking: Pandas DataFrame vs Python List of Dictionaries
Converting F.relu() to nn.ReLU() in PyTorch
Your boss is your client
Chatbots: Reducing the chatbot conversation design feedback loop by 99%
About
Contact
My Software Engineering Process
What am I up to now?