i’m patiently working my way toward a 1.0 release of the ktistec server. the 1.0 release must have a stable database schema—that’s the one hard requirement. in terms of features, it’s close now. i’m adding internal metrics for the power user and block lists. then it ships!


and commits eb740e1 through 091a1b1 implement a materialized timeline. it replaces a large and complex query for dynamically generating the timeline from activities. the query worked well enough but was slow—over 200ms for a single page in a timeline containing over 4000 objects. the replacement is 3x better, but still builds a b-tree to get the sorted results. the solution, i suspect, is to  remove the final two joins, at which point the existing index on created_at will be used to get the sorted rows. to do that, i'll need to remove deleted actors and objects when they are deleted...


i just started reading quantum country and, you know, it’s amazing that alan turing invented the turing machine without a computer, or even our modern idea of computing, as a reference.