changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > meta / annotate tech.org

changeset 12: f6df7eaa3684
parent: f747ffac7f40
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 22 Sep 2024 21:29:45 -0400
permissions: -rw-r--r--
description: id updates
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 #+title: tech
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #+author: Richard Westhaver
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 #+email: ellis@rwest.io
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 #+description: The Compiler Company Core Technologies
2
a4e233714062 meta and task updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
5
 #+setupfile: ../clean.theme
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 * Core
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
7
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
8
 :ID:       f6d8cc58-e6ec-4482-b6b8-3977e771a578
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
9
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 ** [[https://lisp-lang.org/][Lisp]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
11
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
12
 :ID:       765d7aea-1f04-47ac-b59a-b5e83ce05194
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
13
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 ** [[https://www.rust-lang.org/][Rust]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
15
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
16
 :ID:       e4fce1b9-dc0f-4bd9-b26e-3b41e583e901
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
17
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
 ** [[https://www.gnu.org/software/emacs/][Emacs]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
19
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
20
 :ID:       da8b7be1-28c9-44cb-b013-9e6edf2f0581
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
21
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 * Libs
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
23
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
24
 :ID:       e0db5df8-5e99-4199-a042-5bfab74f3711
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
25
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 ** [[https://rocksdb.org/][rocksdb]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
27
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
28
 :ID:       e363bbaa-57ad-4e73-af2b-7fe487f67c7c
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
29
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
 ** [[https://archlinux.org/pacman/][pacman]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
31
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
32
 :ID:       e2ce47d2-2a6d-4f7b-acd7-3835463072a8
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
33
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 ** [[https://docs.kernel.org/filesystems/btrfs.html][btrfs]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
35
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
36
 :ID:       4e99345f-9e2b-4edb-9f97-5daf6fb66c14
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
37
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
 ** [[https://tree-sitter.github.io/tree-sitter/][tree-sitter]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
39
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
40
 :ID:       b13a05bd-cc78-4d9b-84db-873f2714f32c
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
41
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 ** [[https://kernel.dk/io_uring.pdf][uring]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
43
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
44
 :ID:       016e1ebc-56b0-47f6-a610-1f8761bf69dd
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
45
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
 ** [[https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf][blake3]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
47
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
48
 :ID:       a0898683-d3ce-4d44-aaf7-b989cc5418d8
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
49
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
50
 * Extras
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
51
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
52
 :ID:       e1bf8a4c-a9d6-478a-879d-49d6b5a2a72b
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
53
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
54
 ** [[https://ngn.codeberg.page/k][k]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
55
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
56
 :ID:       0f4175ad-656b-4348-9328-5e409379b3fd
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
57
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 ** [[https://mlochbaum.github.io/BQN/][BQN]]
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
59
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
60
 :ID:       3cc89f3d-20a5-420f-bc7e-0731254e5040
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
61
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62
 
6
f747ffac7f40 meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 4
diff changeset
63
 * Software
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
64
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
65
 :ID:       06de34a3-60b4-4f48-bcab-eabeb3fe41c3
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
66
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
67
 The software provided by /The Compiler Company/ is a powerful but
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
68
 opinionated programming environment. It consists of a GNU/Linux
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
 kernel, some vendored programs and libraries, and a suite of custom
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
 software.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
72
 The software is modular by design. You can pick and choose which
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
73
 components to embed in your own projects and you are encouraged to
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
 modify any part of the system to meet your goals. 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
76
 In general, our software is designed for:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
77
 - early adoption :: integrate research, protocols, libraries, and
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
78
   hardware features from leading research orgs faster than anyone else
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
 - rapid development :: interaction, code introspection, tooling, and
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
80
   automation built for prototyping at massive scale
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
81
 - power :: using our environment should feel like cheating - macros,
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
   DSLs, and unmatched hackability
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
84
 ** Langs
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
85
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
86
 :ID:       f5411514-19d6-4fb0-bdbe-48c4b5581e5c
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
87
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
88
 /The Compiler Company/ is above all, a =Lisp Company=. The most
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
89
 powerful software requires the most powerful code.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
90
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
91
 Lisp isn't enough though. =Rust= is our imperative language of choice
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
92
 at the time of writing and generally suited for system-level software
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
93
 components.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
94
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
95
 We make use of the Steel Bank Common Lisp compiler (SBCL) and the
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
96
 nightly Rust compiler toolchain.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
97
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
98
 ** OS
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
99
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
100
 :ID:       1ae69e1e-1e01-4e48-b205-e28fb0fd0b1e
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
101
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
102
 /The Compiler Company/ is a =Linux Company=. There may be minimal
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
103
 support for Darwin-based systems, but Microsoft Windows systems will
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
104
 never be officially supported.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
105
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
106
 One of the /anti-goals/ of our software is ~portability~. For all of
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
107
 the features we optimize for, portability becomes a burden, especially
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
108
 with closed-source OS kernels. We are also explicitly driven to reduce
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
109
 consumer dependence on these closed-source systems, especially in a
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
110
 distributed network. They are simply unfit for use with the software
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
111
 we produce and the systems we build.