← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 101
  1. Heat Geek NanoStore: Summer Time

    Summer time, and the living is easy.

  2. My frozen shoulder problem means I haven’t had a chance to keep dependencies up to date on my InfiniSheet project.

  3. Frozen Shoulder

    My last post was on May 11th, two months ago.

  4. InfiniSheet Structured Concurrency

    I’m putting my TypeScript Structured Concurrency sketch into practice on my InfiniSheet project.

  5. TypeScript Structured Concurrency

    Over time I’ve come to realize that there’s more to error-handling in concurrent programs than rejected promises or async Results.

  6. Securing GitHub Actions

    The typical playbook for a supply chain attack is to use some form of social engineering to compromise a maintainer’s account, then use that account to directly publish compromised packages to npm.

  7. Multi-Tile Snapshots

    After some refactoring to decouple event log and snapshot loading, followed by many other distractions, I’m finally ready to implement multi-tile snapshots.

  8. Recently, I’ve been seeing a glut of dependabot security alerts for my Infinisheet project.

  9. Heat Geek NanoStore DHW Update

    Two months ago our prototype Heat Geek NanoStore was rebuilt.

  10. I’m a strong believer in unit tests.

  11. Asynchronous code is great.

  12. Last time, we got a load-on-demand chunked snapshot format working.

  13. We’re ready to start making our event sourced spreadsheet scalable.

  14. Securing my NPM Supply Chain

    The news is full of npm supply chain attacks.

  15. InfiniSheet: Chore Updates

    Six months ago I was spending all my time on Infinisheet, my event sourced spreadsheet project.

  16. Heat Geek NanoStore Conclusion

    Last time, I left you with a cliffhanger.

  17. Heat Geek NanoStore Update

    It’s been more than two months since my post about our prototype Heat Geek NanoStore.

  18. I’m putting my money where my mouth is.

  19. It’s been a while since I investigated Home Assistant’s concurrency model.

  20. AWS Lambda Durable Functions

    Lambda functions work best for short lived, compute intensive tasks.

  21. AWS re:Invent 2025

    Once again, I spent the week after re:Invent gorging on YouTube videos at 1.5x speed.

  22. Kia e-Niro 12V Battery Drain

    We’ve had our Kia e-Niro EV for five years now.

  23. Heat Pump Cold Weather Performance

    We had a cold snap here in the UK.

  24. We recently had a Vaillant heat pump and Heat Geek NanoStore installed.

  25. Heat Geek NanoStore

    A few weeks ago I described our heat pump installation, which included a mystery hot water system.

  26. Open Energy Monitoring

    I touched on Open Energy Monitoring briefly when talking about my heat pump install and Home Assistant integration.

  27. Now that we have a heat pump up and running, the obvious next job is to get it hooked up to Home Assistant.

  28. Like many houses in the UK, we rely on a gas combi boiler for heating and hot water.

  29. Home Assistant: Concurrency Model

    I like to think of myself as a computer scientist.

  30. The Hypervolt EV charger integration is an important dependency for the automations and dashboards that I’m running on Home Assistant.

  31. Last time, we touched briefly on how to extract electricity meter readings from the Home Assistant Octopus Energy integration.

  32. I now have useful data being collected and displayed on the Home Assistant built-in energy dashboard.

  33. I’m finding the Home Assistant Energy Dashboard to be pretty but not very useful.

  34. Last time, I took you through setting up a Home Assistant Green, installing HACS, adding custom integrations and then creating an automation to disable discharge of my home battery while my EV is charging.

  35. Vitest 3 Monorepo Setup

    I was about to get started turning my stub react-spreadsheet package into a real one, when I noticed a new Vitest related warning from VS Code.

  36. Rewriting History

    This is a blog, not a set of living documents.

  37. Home Assistant

    Home Assistant has been on my radar for a while.

  38. Snapshot Benchmarking with Vitest

    The framework for our event sourced spreadsheet is in place.

  39. Snapshot Completion

    We don’t yet handle the case where a snapshot completes when a client is already up and running.

  40. Tracer Bullet Snapshots

    It’s finally time to create snapshots as my event sourced spreadsheet’s event log grows.

  41. Infinisheet Cell Map

    I have all the bits of infrastructure needed to start saving snapshots of my event sourced spreadsheet.

  42. Now that I have interfaces and reference implementations for a Blob Store and Workers, we can try to wire them up to our tracer bullet prototype.

  43. InfiniSheet Workers

    I’m building an event sourced spreadsheet on a foundation of an event log, a blob store and background workers.

  44. InfiniSheet Blob Store

    We left our scalable cloud spreadsheet project in a good place.

  45. Unit Test Code Reuse with Vitest

    I’m a strong believer in unit tests.

  46. I recently made my spreadsheet data interface more explicitly asynchronous.

  47. Asynchronous React

    Last time, I naively updated my spreadsheet frontend component to use an asynchronous update API.

  48. Asynchronous Spreadsheet Data

    Last week’s tracer bullet development showed that I needed to make my SpreadsheetData interface more explicitly asynchronous.

  49. Event Sourced Spreadsheet Data

    I’ve been working on my scalable spreadsheet project from opposite ends.

  50. Asynchronous Event Log

    I’ve created an event log interface and reference implementation.