NotesThe fundamental problem is that in using most modern consumer-oriented applications, we lose control of the data we share with those applications. In creating documents, writing emails, or tracking our exercise or other activities, we share data with an application thatās useful for a particular purpose, but also allow the data live in a database controlled by the applicationās owner. With the data outside of our control, it can then be restricted, lost, leaked, sold, resold, and exploited. The groups that control these databases accrue most of the benefits, and we accrue most of the costs.FeedUnfurl
NotesWe have used a query builder to programmatically build SQL queries, and by using higher-order functions (functions that take other functions as arguments) and pipelines, we have:
Eliminated the need to pass the query object explicitly.
Made it easier to add, remove, or rearrange query modifiers without disrupting the overall structure.
Improved maintainability and simplified testing since each query modifier function is a self-contained unit that can be reused across various queries and scenarios.Unfurl
NotesLlamaDB is a home-grown SQL database that I began designing over the course of four weeks. I'm developing LlamaDB to better understand the SQL language and its implementation details.Unfurl
Notes"Shown below is a (single query) SQL-generated pie chart. I will walk through the steps towards making this happen, and conclude with what, I hope youāll agree, are real-world, useful usage samples."FeedEmbedUnfurl
Notes"Spock Proxy supports range-based horizontal paritioning of a large MySQL database. The proxy intercepts SQL queries from the client, sends queries to the correct databases based on how the database is partitioned, then aggregates the results from each database and returns them to the client as a regular MySQL result set. "Unfurl
NotesNot unlike templates for (X)HTML? "The Phrasebook pattern is a technique to separate expressions in one language (e.g., SQL) from the main code that is written in another programming language (e.g., Perl). This is done by keeping the expressions in a separate file ā the phrasebook. Any specific expression is generated by finding the appropriate entry in the phrasebook and substituting application parameters into it. This separation makes maintenance easier both for the main application code and for the foreign language code."Unfurl
Notes"There are two major approaches: the adjacency list model, and the modified preorder tree traversal algorithm. In this article, we'll explore these two methods of saving hierarchical data."Unfurl
Notes"And of course you could keep going with this novel ādistributedā idea, and make this into an actually-distributed system, where individual users (or groups of them) can run their own Twitter servers that queue their incoming messages and relay theirUnfurl
Notes"This is all in response to this glimpse of Hibernate, an ORM for Java. Reading those Java config files hurts my soul." SQLObject does indeed rock.Unfurl