Blog
Why Writing Simple, High Performance Software Matters
We all know we prefer the snappy, responsive products that start instantly and don’t drain our batteries. But since we perceive this kind of performance costly to achieve, what other reasons are there to do so?
I Wrote a YAML Parser From Scratch in Zig. Here’s What I Learned.
I’m writing a software architecture visualization program in Zig that allows both developers and designer easily navigate a codebase and understand product functionality. Since it combines automatically generated data with human input, I needed a data format that was easy to generate from different languages, yet also easy to edit by hand. So, I went with YAML.
Why I’m Betting on Zig as My Next Programming Language
Choosing whether and when to learn a new programming language is never easy, but there's a few reasons why Zig seems like the right choice for me and may also be for you.
Why Documenting Software Architecture Sucks and What Solution I’m Prototyping
We all like good documentation, but most of us don’t actually put in the effort to write it. Why?
How I got interested in improving developer experience and software performance
Over the last 7 years, I've been asking myself how to develop new ideas faster while having more fun, so I've making lots of prototypes to change my development practices.
Handmade databases: An exploration
We web developers use ready-made databases without giving it a second thought. Why would you make your own anyway? Here I begin to explore why we are were we are and whether a different approach to working with data is feasible.
Conversations you need to have with your team to keep iterating quickly on tech products
Design, engineering and management each have their own needs during the development of a product. If you don’t develop a shared language to talk about these needs, development will start off quickly, but slow down quickly or even culminate in a rewrite.
Lessons learned developing the Storex database abstraction library
Storex has helped Memex to evolve across three different database systems, peer-to-peer sync and its eventual transition to the cloud. In this article, I describe what worked and what could be improved.
Structuring your back-end for rapid iteration during development
When developing, it can be very useful to start your back-end in different states with different data sets. If you want to go the next level, you can also go to the next level allowing multiple instances of your back-end to run in the same process, allowing you to display your application in different states at the same time.
What you need to get scenario replays in your product
In the previous article I described how scenario replays improve development and cross-team workflows. Now, we start to dive in how they work with a high-level overview of what they are and what they need to able to do.
Scenario replays and how they improve workflows across teams
With the right setup, it becomes possible to replay actions a user might take to jump specific points in a UI. This allows developers to get things done quicker and collaborate more fluidly with designers, QA and other teams.
Storex — A modular and portable database abstraction ecosystem for JavaScript
Storex is a collection of Typescript packages that allows you work with a highly diverse set of databases (SQL, IndexedDB, Firestore) in a unified way. It's the storage layer powering memex.garden and its sync across web browsers and mobile devices.