jmsfbs's Devlogs


A cli that randomly clicks around and messes with a website and reports what it is doing as a highly detailed tsv file.

Then you can see if any exceptions occur, read the reported tsv logs and decide if it warrants further investigation.


The more I code the more I observe getting a system right is all about getting the data structures right. And unfortunately that means I spend a lot of time reworking data structures without altering (or improving) functionality one iota.

It is almost always the same decision tree just in different contexts. E.g. do I add another column or do I add a join table, if so, is it one to many, many to many? This affects almost everything else in the system. Balancing simplicity (add a column) vs power (add a many to many join).

You can extrapolate that to every type of area of domain I can think of. The centrist in me says "there's no perfect system, compromise is inevitable", but centrists also have a tendency to avoid grappling with specifics and instead hand wave the world away, it takes us down a path of complacency.

The thing is, adding the "many to many" join table isn't that bad. And migrating to it later really is. So should we just assume complexity to begin with. And does that in turn make the overall system simpler?

Maybe starting big and migrating to a small system once the domain is explored should be the default norm. I've tended towards that approach more and more, and I think it's working. But I think it can lead to long delays.

Space vs time trade offs yet again I guess.



2 devlogs

Member Since Sep 2019