This is my home in the virtual world, where I write about things that I want to share. The freely available software that I've written as well as some of the photographs I've taken over the years can also be found here. Please use the navigation links on the right if you are looking for something.
After some initial experiments with sqlite as a replacement for a json data file format (which I did not pursue in the end), I have now started using sqlite in earnest. And I must say that I quite like it.
This document explores how an SQLite database could be used to store data for the resin-calculator. Normally, the recipes are a dictionary keyed to the name of the resin. The value of each recipe is a list of (component, parts-by-weight) tuples. Since a database only contains tables, where each row has the same form, how do we store such infomation in a database?
Before the rise of git, I used rcs as my version control system. Because I want to standardize on git, I am slowly converting old repositories.
In this article I’ll be converting my old perl scripts in ~/src/perl.
As an engineer I do a lot of calculations. These can be done with pen and paper and a calculator, in an IPython notebook or in a throwaway spreadsheet. All of these methods have shortcomings, though.
Pen and paper is hard to share and (in my case) hard for others to read. In IPython you can assign the results of calculations to a variable, but you have to perform a separate action to display them. And spreadsheets in general show you the results but not the calculations.
So I wrote a simple function in Python to help me with that. Using this function I can print both simple assignments and relatively complex calculations. And it shows both the calculation and the result.
With leading white space governing the indentation level and so the grouping of statements, Python code already looks relatively clean.
Yet there are additional tools that will help you improve your code.
Sometimes I miss the C’s plain old struct in Python.
Of course Python has dictionaries, but I prefer to write a.b over a['b'].
Here are several ways of doing something akin to a struct in Python.
State machines can be relatively easy defined as a data structure.
After the 2017-05-12 mesa port consolidation, there were packages left with missing dependencies. This is how to fix them