changelog shortlog graph tags branches files raw help

Mercurial > org > blog / changeset: style updates

changeset 21: 1204cefcfd28
parent 20: 889759cafcc2
child 22: 8a6b4b2f68cb
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 08 Jun 2024 00:21:48 -0400
files: draft/a-bit-of-risc.org draft/a-lispy-database.org draft/dylib-skel.org draft/hello-world.org draft/on-lisp-ecosystems.org draft/outlines.org
description: style updates
     1.1--- a/draft/a-bit-of-risc.org	Thu Jun 06 23:15:38 2024 -0400
     1.2+++ b/draft/a-bit-of-risc.org	Sat Jun 08 00:21:48 2024 -0400
     1.3@@ -1,6 +1,6 @@
     1.4 #+title: A Bit of RISC
     1.5 #+date: [2024-03-11 Mon]
     1.6-#+setupfile: ../../../clean.theme
     1.7+#+setupfile: ../../clean.theme
     1.8 I recently picked up [[https://dl.acm.org/doi/10.5555/2462741][Hacker's Delight]] and having a lot of fun with
     1.9 it. It's a collection of bit-manipulation tricks collected by hackers
    1.10 over many years. You can flip open pretty much anywhere in the book
    1.11@@ -292,20 +292,20 @@
    1.12 
    1.13 #+RESULTS: instruction-list
    1.14 #+begin_example
    1.15-((XOR . #<FUNCTION (LAMBDA ()) {10077C774B}>)
    1.16- (OR . #<FUNCTION (LAMBDA ()) {10077C777B}>)
    1.17- (AND . #<FUNCTION (LAMBDA ()) {10077C77AB}>)
    1.18- (MULI . #<FUNCTION (LAMBDA (I)) {10077C77DB}>)
    1.19- (ADDI . #<FUNCTION (LAMBDA (I)) {10077C780B}>)
    1.20- (CMPGE . #<FUNCTION (LAMBDA ()) {10077C783B}>)
    1.21- (CMPGT . #<FUNCTION (LAMBDA ()) {10077C786B}>)
    1.22- (CMPLE . #<FUNCTION (LAMBDA ()) {10077C789B}>)
    1.23- (CMPLT . #<FUNCTION (LAMBDA ()) {10077C78CB}>)
    1.24- (CMPNE . #<FUNCTION (LAMBDA ()) {10077C78FB}>)
    1.25- (CMPEQ . #<FUNCTION (LAMBDA ()) {10077C792B}>)
    1.26- (REM . #<FUNCTION (LAMBDA ()) {10077C795B}>)
    1.27- (DIV . #<FUNCTION (LAMBDA ()) {10077C79AB}>)
    1.28- (MUL . #<FUNCTION (LAMBDA ()) {10077C79EB}>)
    1.29- (SUB . #<FUNCTION (LAMBDA ()) {10077C7A1B}>)
    1.30- (ADD . #<FUNCTION (LAMBDA ()) {10077C7A4B}>))
    1.31+((XOR . #<FUNCTION (LAMBDA ()) {100E4ED81B}>)
    1.32+ (OR . #<FUNCTION (LAMBDA ()) {100E4ED84B}>)
    1.33+ (AND . #<FUNCTION (LAMBDA ()) {100E4ED87B}>)
    1.34+ (MULI . #<FUNCTION (LAMBDA (I)) {100E4ED8AB}>)
    1.35+ (ADDI . #<FUNCTION (LAMBDA (I)) {100E4ED8DB}>)
    1.36+ (CMPGE . #<FUNCTION (LAMBDA ()) {100E4ED90B}>)
    1.37+ (CMPGT . #<FUNCTION (LAMBDA ()) {100E4ED93B}>)
    1.38+ (CMPLE . #<FUNCTION (LAMBDA ()) {100E4ED96B}>)
    1.39+ (CMPLT . #<FUNCTION (LAMBDA ()) {100E4ED99B}>)
    1.40+ (CMPNE . #<FUNCTION (LAMBDA ()) {100E4ED9CB}>)
    1.41+ (CMPEQ . #<FUNCTION (LAMBDA ()) {100E4ED9FB}>)
    1.42+ (REM . #<FUNCTION (LAMBDA ()) {100E4EDA2B}>)
    1.43+ (DIV . #<FUNCTION (LAMBDA ()) {100E4EDA7B}>)
    1.44+ (MUL . #<FUNCTION (LAMBDA ()) {100E4EDABB}>)
    1.45+ (SUB . #<FUNCTION (LAMBDA ()) {100E4EDAEB}>)
    1.46+ (ADD . #<FUNCTION (LAMBDA ()) {100E4EDB1B}>))
    1.47 #+end_example
     2.1--- a/draft/a-lispy-database.org	Thu Jun 06 23:15:38 2024 -0400
     2.2+++ b/draft/a-lispy-database.org	Sat Jun 08 00:21:48 2024 -0400
     2.3@@ -1,26 +1,33 @@
     2.4 #+title: A Lispy Database
     2.5 #+options: toc:t h:1
     2.6-#+setupfile: ../../../clean.theme
     2.7-One of the key features missing in the =core= is a DBMS. The first,
     2.8-and often only choice for this need in companies of today is
     2.9-a SQL RDBMS.
    2.10+#+setupfile: ../../clean.theme
    2.11+
    2.12+One of the key features missing in the Compiler Company [[https://vc.compiler.company/comp/core][core]] is a
    2.13+reliable [[https://en.wikipedia.org/wiki/Category:Database_management_systems][DBMS]]. It's something that I've worked towards in Rust, and
    2.14+now in Common Lisp, but haven't gotten to a production-ready state.
    2.15+* SQL
    2.16+The first, and often /only/ choice for this need in companies of
    2.17+today is a SQL RDBMS.
    2.18+
    2.19+The SQL ecosystem has client-server systems like PostgreSQL, and
    2.20+embedded offerings like SQLite. Whatever lang you use you can
    2.21+basically always count on there being SQL support for your DB needs.
    2.22 
    2.23-There are client-server systems like PostgreSQL and MySQL, and
    2.24-embedded offerings like SQLite. Whatever lang you use you can count on
    2.25-there being SQL support[fn:1]. To support all the different SQL
    2.26-flavors though, a new abstraction has been summoned - the ORM.
    2.27+You might ask yourself, why choose anything else? We all know friendly
    2.28+neighborhood SQL and understand it. Many of us have never used
    2.29+anything else because we /don't need to/. You can represent fairly
    2.30+complex relationships in the RDBMS model and have an ecosystem that
    2.31+supports it wherever you go.
    2.32 
    2.33+My answer is simply - just because SQL is good enough, doesn't mean
    2.34+it's always the best choice. It is designed for Table-oriented data
    2.35+and that is where it should remain according to the CC.
    2.36+* Prolog
    2.37+* Key-Value Stores
    2.38+** RocksDB
    2.39+** Blobs
    2.40+* Objects
    2.41+- [[https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping][ORM]]
    2.42 The ORM maps the object system of your lang to SQL tables, columns and
    2.43 rows and provides an API for you to manipulate the database in a more
    2.44 idiomatic way.
    2.45-
    2.46-You might ask yourself, why choose anything else? For good reason. We
    2.47-all know friendly neighborhood SQL and understand it. Many of us have
    2.48-never used anything else because we don't /need/ to. You can represent
    2.49-fairly complex relationships in the RDBMS model and have an
    2.50-ecosystem that supports it wherever you go.
    2.51-
    2.52-My answer is that just because SQL is good enough, doesn't mean it's
    2.53-always the best choice.
    2.54-
    2.55-[fn:1] 
     3.1--- a/draft/dylib-skel.org	Thu Jun 06 23:15:38 2024 -0400
     3.2+++ b/draft/dylib-skel.org	Sat Jun 08 00:21:48 2024 -0400
     3.3@@ -1,5 +1,6 @@
     3.4 #+title: Shared Library Skeletons
     3.5-#+setupfile: ../../../clean.theme
     3.6+#+setupfile: ../../clean.theme
     3.7+#+header-args: :eval never
     3.8 * Overview
     3.9 :PROPERTIES:
    3.10 :ID:       748ba6e4-60db-4ff7-9d78-12c3f67644d8
     4.1--- a/draft/hello-world.org	Thu Jun 06 23:15:38 2024 -0400
     4.2+++ b/draft/hello-world.org	Sat Jun 08 00:21:48 2024 -0400
     4.3@@ -1,6 +1,6 @@
     4.4 #+title: (hello world)
     4.5 #+options: toc:t h:1
     4.6-#+setupfile: ../../../clean.theme
     4.7+#+setupfile: ../../clean.theme
     4.8 * COMMENT Introduction
     4.9 Hello World,
    4.10 
     5.1--- a/draft/on-lisp-ecosystems.org	Thu Jun 06 23:15:38 2024 -0400
     5.2+++ b/draft/on-lisp-ecosystems.org	Sat Jun 08 00:21:48 2024 -0400
     5.3@@ -1,1 +1,1 @@
     5.4-#+setupfile: ../../../clean.theme
     5.5+#+setupfile: ../../clean.theme
     6.1--- a/draft/outlines.org	Thu Jun 06 23:15:38 2024 -0400
     6.2+++ b/draft/outlines.org	Sat Jun 08 00:21:48 2024 -0400
     6.3@@ -1,5 +1,5 @@
     6.4 #+title: outlines
     6.5-#+setupfile: ../../../clean.theme
     6.6+#+setupfile: ../../clean.theme
     6.7 * Overview
     6.8 Source code files are hard to manage. They can get unwieldly quickly and making the
     6.9 wrong assumption about your whereabouts in the code tree can have unintended