# HG changeset patch # User Richard Westhaver # Date 1723402019 14400 # Node ID 4839b0675118c7f2d8a2ef60c691d8f2ab6e0918 # Parent 6ac37a61456a27fbb4474ace491e9a8eedbbf122 ids diff -r 6ac37a61456a -r 4839b0675118 20230730.org --- a/20230730.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20230730.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * VC infrastructure +:PROPERTIES: +:ID: 2d40eec1-62f4-4f3d-9be7-110400808e06 +:END: In heptapod we have a root group named =comp=, containg a variety of subgroups. Some of these groups should be public, while others are internal to comp members exclusively. Within each subgroup, we should @@ -17,6 +20,9 @@ infrequent. They are more frequent in projects with a regular release life-cycle. * Approaching Webapps +:PROPERTIES: +:ID: 0a52be58-990a-47da-ba5a-a7da7192361c +:END: I started poking around in the webapp space again so that I can launch a landing page for NAS-T quickly. The Rust situation has improved somewhat on the frontend side, and the axum backend stack is nice. diff -r 6ac37a61456a -r 4839b0675118 20231024.org --- a/20231024.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231024.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,27 +1,81 @@ * virt +:PROPERTIES: +:ID: a51b54d9-5663-411e-b0ba-d1405622eb88 +:END: ** QEMU +:PROPERTIES: +:ID: 34dc9d12-d651-4204-9abb-a6a9a6aeb07e +:END: ** KVM +:PROPERTIES: +:ID: 909e1127-14f5-4783-97af-65aa25439226 +:END: ** Hyper-V +:PROPERTIES: +:ID: d89dc59d-25d9-4304-bcb8-379dd43cc3f7 +:END: ** Firecracker +:PROPERTIES: +:ID: 7c4f08b7-2bc0-4a85-a6ca-2decdce8dc91 +:END: ** Docker +:PROPERTIES: +:ID: 42ff77c2-69c9-4f89-a297-88efd592502e +:END: ** Vagrant +:PROPERTIES: +:ID: c53c4d87-b0fd-40de-8db7-b92c22dc946c +:END: ** LXC +:PROPERTIES: +:ID: 85c5f471-cf87-49b7-a6ce-5c1526df4080 +:END: ** LXD +:PROPERTIES: +:ID: f92d34dd-7b24-498c-a5c8-29fd3b528092 +:END: ** containerd +:PROPERTIES: +:ID: a967645f-5df3-4bed-9e7b-a1adaed3796c +:END: ** systemd-nspawn +:PROPERTIES: +:ID: 6329c6f9-c54c-4eb0-99e7-4772399161e7 +:END: ** VirtualBox +:PROPERTIES: +:ID: 638aa81a-8926-480a-854f-0434e8119426 +:END: * Concatenative +:PROPERTIES: +:ID: 964c6bac-486a-4459-825f-6e7e9351c9ab +:END: ** Factor :factor: +:PROPERTIES: +:ID: 52994125-5689-402a-ac61-680aa690bf24 +:END: - [2023-07-04 Tue] Factor is a cool concatenative lang but unfortunately the C interface (vm/master.h) no longer exists on the master branch. ** Joy :joy: +:PROPERTIES: +:ID: 60ca3000-2ff5-4372-93fb-d5c311fb6409 +:END: *** https://hypercubed.github.io/joy/html/j02maf.html +:PROPERTIES: +:ID: 56e64d52-4950-4fec-b933-73d1cd8048d1 +:END: *** [[https://builds.openlogicproject.org/content/incompleteness/arithmetization-syntax/arithmetization-syntax.pdf][arithmetization of syntax]] +:PROPERTIES: +:ID: 59979091-395d-4067-9c3d-e557fc5287ee +:END: * Lisp :lisp: +:PROPERTIES: +:ID: 4b842734-135e-4c86-9337-3841c1241d3b +:END: These notes pertain to Lisp. More specifically, ANSI Common Lisp in most places. @@ -29,7 +83,13 @@ cool though - what we really need is wasm compiler.. TBD * Rust +:PROPERTIES: +:ID: f92ce2ba-1b66-42f4-b5e2-f1586b14760b +:END: ** Serde +:PROPERTIES: +:ID: 31512714-9c30-4144-9673-327808a18767 +:END: - [2023-07-05 Wed] \\ important part of the Rust ecosystem, another dtolnay contribution. If you want to program a /data/ format in the Rust @@ -52,8 +112,17 @@ Read or Write trait. Then you can provide a more robust public API (from_bytes, from_writer, etc). * C +:PROPERTIES: +:ID: 060042a0-d581-411a-9091-d16d11860d89 +:END: * CPP +:PROPERTIES: +:ID: f09d7294-a997-4715-bceb-ffe6af7f3978 +:END: * Nu +:PROPERTIES: +:ID: 765ad403-54e1-49cf-b4e6-918de9f910c2 +:END: [[https://www.nushell.sh/][~]] [[https://www.nushell.sh/cookbook/][cookbook]] [[https://github.com/nushell/nu_scripts][nu_scripts]] diff -r 6ac37a61456a -r 4839b0675118 20231101.org --- a/20231101.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231101.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * AWS usage +:PROPERTIES: +:ID: b2f8d58f-a486-4fe9-895b-504987c0f63d +:END: We're leveraging AWS for some of our public web servers for now. It's really not realistic to expect that my home desktop and spotty Comcast internet can serve any production workflow. What it /is/ capable of is diff -r 6ac37a61456a -r 4839b0675118 20231102.org --- a/20231102.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231102.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * IDEAS +:PROPERTIES: +:ID: 836b5ca7-6c6b-4d57-8b44-3bb4a8f38a38 +:END: ** TODO shed :PROPERTIES: :ID: fc9a94e1-91c5-4915-90b8-73218fa3b8bc @@ -21,39 +24,81 @@ :END: shc,shx,etc ** WIP packy +:PROPERTIES: +:ID: 6bd29c37-4b23-4a05-b3a4-72b6ee712f27 +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:33] :END: *** WIP rust +:PROPERTIES: +:ID: 3bfa733e-d777-4e82-b108-93ba74c4dc08 +:END: *** WIP common-lisp +:PROPERTIES: +:ID: 0f3b6182-1dd1-4e65-8b1c-4630a46fff4c +:END: *** WIP emacs-lisp +:PROPERTIES: +:ID: e9fc19d5-daea-40a5-a0f2-882b925e58f2 +:END: *** python +:PROPERTIES: +:ID: c2e62af0-0397-4560-a283-b33d12fbd966 +:END: *** julia +:PROPERTIES: +:ID: d2466880-1721-4386-b385-ded06d5b15cf +:END: *** C +:PROPERTIES: +:ID: fb722462-9e11-40c1-a5d7-30698dba7e20 +:END: *** C++ +:PROPERTIES: +:ID: 663cd894-0a5f-4352-acf1-4528b9efeeaf +:END: ** TODO tenex +:PROPERTIES: +:ID: b4264fa2-6e96-4679-bd17-2428ba3489ee +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:52] :END: ** TODO mpk +:PROPERTIES: +:ID: d9661e4a-0328-4864-878d-096f76ddaf55 +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:52] :END: ** TODO cfg +:PROPERTIES: +:ID: 501593d4-702a-40cb-8a8f-19edfe2f9f29 +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:34] :END: ** TODO obj +:PROPERTIES: +:ID: 24700a26-b238-48dd-a24f-5539984b4fa6 +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:51] :END: split out from rlib to separate package - a purely OOP class library ** TODO lab +:PROPERTIES: +:ID: fa1c9563-338b-4a56-bfc3-6f4983f2a732 +:END: :LOGBOOK: - State "TODO" from [2023-04-07 Fri 23:34] :END: ** TODO source categories +:PROPERTIES: +:ID: c43fdb5d-4f52-478e-9384-ec0e6e89cf09 +:END: - need a way of extracting metadata from a repo - need ability to search and query libs/packages - separate modules based on where they belong in our stack? @@ -63,11 +108,17 @@ - dist - software distros ** TODO generic query language +:PROPERTIES: +:ID: 8647801a-d5ad-446d-8ae1-fd896bce129a +:END: from obj protocol? sql compatibility? /check out kdb/ ** TODO bbdb +:PROPERTIES: +:ID: ff7c2876-e471-480b-b532-9921dbd3bc89 +:END: :LOGBOOK: - Note taken on [2023-10-24 Tue 22:16] \\ graph database, build on rocksdb @@ -77,6 +128,9 @@ - sql ** TODO NAS-TV :nas:t: +:PROPERTIES: +:ID: 00e5fe6c-80b4-4172-a9cb-ce8adc40d3dc +:END: - media streaming - gstreamer backend - audio/video diff -r 6ac37a61456a -r 4839b0675118 20231105.org --- a/20231105.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231105.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,6 +1,12 @@ * DRAFT dylib-skel-1 +:PROPERTIES: +:ID: b4d1bc91-f344-45fd-becc-cb20f00a3a61 +:END: - State "DRAFT" from [2023-11-05 Sun 22:23] ** Overview +:PROPERTIES: +:ID: 2e490c4b-344e-4790-9184-1c05ba675f15 +:END: Our core languages are [[https://www.rust-lang.org/][Rust]] and [[https://lisp-lang.org/][Lisp]] - this is the killer combo which will allow NAS-T to rapidly develop high-quality software. As such, it's crucial that these two very different languages (i.e. compilers) are able to interoperate seamlessly. @@ -14,12 +20,18 @@ code-base, but it's definitely something worth adding to the toolbox in case we need it. ** FFI +:PROPERTIES: +:ID: 985019fc-612a-44ab-b726-b9067432ad87 +:END: The level of interop we're after in this case is [[https://en.wikipedia.org/wiki/Foreign_function_interface][FFI]]. Basically, calling Rust code from Lisp and vice-versa. There's an article about calling Rust from Common Lisp [[https://dev.to/veer66/calling-rust-from-common-lisp-45c5][here]] which shows the basics and serves as a great starting point for those interested. *** Rust != C +:PROPERTIES: +:ID: 2f71a3c1-0b14-46a6-9d8d-f6ec697729cc +:END: The complication(s) with Rust I mentioned early is really just that /it is not C/. =C= is old, i.e. well-supported with a stable ABI, making the process of creating bindings for a C library a breeze in many languages. @@ -31,17 +43,29 @@ like the C ABI can. *** Overhead +:PROPERTIES: +:ID: 4ea79f68-55ec-4da3-a184-8343d49532b6 +:END: Using FFI involves some overhead. Check [[https://github.com/dyu/ffi-overhead][here]] for an example benchmark across a few languages. While building the NAS-T core, I'm very much aware of this, and will need a few sanity benchmarks to make sure the cost doesn't outweigh the benefit. In particular, I'm concerned about crossing multiple language barriers (Rust<->C<->Lisp). ** Rust -> C -> Lisp +:PROPERTIES: +:ID: a498276c-8525-4a43-aa40-4b05f76a29a9 +:END: *** Setup +:PROPERTIES: +:ID: 19f96ef7-af92-496e-9d42-70c4d4c85051 +:END: For starters, I'm going to assume we all have Rust (via =rustup=) and Lisp (=sbcl= only) installed on our GNU/Linux system (some tweaks needed for Darwin/Windows, not covered in this post). **** Cargo +:PROPERTIES: +:ID: c929e0b6-b6f2-4383-9412-1610329ab28c +:END: Create a new library crate. For this example we're focusing on a 'skeleton' for /dynamic/ libraries only, so our experiment will be called =dylib-skel= or *dysk* for short. @@ -64,7 +88,13 @@ This tells Rust to generate a shared C-compatible object with a =.so= extension which we can open using [[https://man.archlinux.org/man/dlopen.3.en][dlopen]]. **** cbindgen +:PROPERTIES: +:ID: 256ac288-c5a0-473a-ab65-2d6503bd423c +:END: ***** install +:PROPERTIES: +:ID: fc476f64-6b68-417a-8540-ca23ce27fa25 +:END: Next, we want the =cbindgen= program which we'll use to generate header files for C/C++. This step isn't necessary at all, we just want it for further experimentation. @@ -76,6 +106,9 @@ cbindgen = "0.24" #+end_src ***** cbindgen.toml +:PROPERTIES: +:ID: 111e27f7-0b9c-4eef-9117-f7c8ba3f511c +:END: #+begin_src conf-toml :tangle cbindgen.toml language = "C" autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */" @@ -92,6 +125,9 @@ header = '"dysk.h"' #+end_src ***** build.rs +:PROPERTIES: +:ID: 9fc271b2-9acb-4f4b-aa61-82d60d2ddb9e +:END: #+begin_src rust :tangle build.rs fn main() -> Result<(), cbindgen::Error> { if let Ok(b) = cbindgen::generate(std::env::var("CARGO_MANIFEST_DIR").unwrap()) { @@ -99,6 +135,9 @@ else { panic!("failed to generate dysk.h from cbindgen.toml") } } #+end_src *** lib.rs +:PROPERTIES: +:ID: 6b524921-2ae0-43f0-bb85-d9955b0e689c +:END: #+begin_src rust :tangle lib.rs //! lib.rs --- dysk library use std::ffi::{c_char, c_int, CString}; @@ -111,15 +150,24 @@ pub extern "C" fn dysk_plus1(n:c_int) -> c_int {n+1} #+end_src *** test.rs +:PROPERTIES: +:ID: cc7c6538-33a6-40c6-94ef-2a9c259c975a +:END: #+begin_src rust :tangle test.rs //! test.rs --- dysk test fn main() { let mut i = 0u32; while i < 500000000 {i+=1; dysk::dysk_plus1(2 as core::ffi::c_int);}} #+end_src *** compile +:PROPERTIES: +:ID: 337a24d1-f305-4e1a-9052-47a53591cb2f +:END: #+begin_src sh cargo build --release #+end_src *** load from SBCL +:PROPERTIES: +:ID: a4813269-92fb-4f52-aef0-3a36dce3cf69 +:END: #+begin_src lisp :tangle dysk.lisp (load-shared-object #P"target/release/libdysk.so") (define-alien-routine dysk-hello c-string) @@ -128,6 +176,9 @@ (dysk-hello) ;; => "hello from rust" #+end_src *** benchmark +:PROPERTIES: +:ID: 1a8ca441-f290-46c7-b979-1e7e0d1d063b +:END: #+begin_src shell time target/release/dysk-test #+end_src diff -r 6ac37a61456a -r 4839b0675118 20231124.org --- a/20231124.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231124.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * cl-dot examples +:PROPERTIES: +:ID: c5f4f25c-071b-4a2d-85bc-08676eacce5d +:END: #+begin_src lisp (defmethod cl-dot:graph-object-node ((graph (eql 'example)) (object cons)) (make-instance 'cl-dot:node diff -r 6ac37a61456a -r 4839b0675118 20231205.org --- a/20231205.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231205.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * global refs +:PROPERTIES: +:ID: 7fb40057-05aa-445b-bc75-0b1b6ca2c994 +:END: need a way of indexing, referring to, and annotating objects such as URLs, docs, articles, source files, etc. diff -r 6ac37a61456a -r 4839b0675118 20231209.org --- a/20231209.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231209.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * doc best practices +:PROPERTIES: +:ID: ba4a3074-f29d-4f81-b4ba-d6a523b3f291 +:END: https://rust-lang.github.io/api-guidelines/documentation.html also: https://lisp-lang.org/style-guide/ diff -r 6ac37a61456a -r 4839b0675118 20231212.org --- a/20231212.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231212.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * On Computers +:PROPERTIES: +:ID: 7845b0fb-b5d3-4488-bdba-4876d9c8816e +:END: If you've met me in the past decade, you probably know that I am extremely passionate about computers. Let me first explain why. @@ -19,6 +22,9 @@ problems. ** The Programmer +:PROPERTIES: +:ID: b17c853e-1728-4bd3-94c5-82e5b33d7398 +:END: Now, let us consider the /programmer/. They have power. /real/ power. They understand the language of computers, can whisper to them in various dialects. It can be intimidating to witness until you @@ -50,6 +56,9 @@ machines you work with. I like to call this /Machine Empathy/. ** Programs +:PROPERTIES: +:ID: a297e5f9-a875-4512-b126-9a2b3e75c1d8 +:END: I already mentioned bugs - I write plenty of those, but usually I try to write /programs/. Programs to me are like poetry. I like to think they are for the computer too. @@ -67,6 +76,9 @@ * On Infra +:PROPERTIES: +:ID: 80d800de-d305-4b95-a28c-a6f19d6f7a11 +:END: Something that is missing from many organizations big or large, is an effective way to store and access information, even about their own org. diff -r 6ac37a61456a -r 4839b0675118 20231223.org --- a/20231223.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231223.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,3 +1,6 @@ * https://cal-coop.gitlab.io/utena/utena-specification/main.pdf +:PROPERTIES: +:ID: 5c3aac3a-67e1-4867-9ac4-b58a3247f9e0 +:END: from the author of cl-decentralise2. draft specification of a /Maximalist/ Computing System. diff -r 6ac37a61456a -r 4839b0675118 20231224.org --- a/20231224.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231224.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * public datasets +:PROPERTIES: +:ID: 28738250-c34e-45e2-8793-f8245472d3a3 +:END: https://github.com/awesomedata/awesome-public-datasets https://docs.openml.org/Datasets/ https://wiki.pathmind.com/open-datasets diff -r 6ac37a61456a -r 4839b0675118 20231228.org --- a/20231228.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20231228.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * useful internals +:PROPERTIES: +:ID: 28581a8e-ae05-45de-9744-24f447668418 +:END: #+begin_src lisp sb-sys:*runtime-dlhandle* sb-fasl:+fasl-file-version+ diff -r 6ac37a61456a -r 4839b0675118 20240103.org --- a/20240103.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240103.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * [[https://github.com/sigmf/SigMF][SigMF]] +:PROPERTIES: +:ID: f21a6477-6a3f-48f7-8a9e-43f5cf65286c +:END: #+begin_quote Sharing sets of recorded signal data is an important part of science and engineering. It enables multiple parties to collaborate, is often @@ -20,8 +23,17 @@ the-spec: https://github.com/sigmf/SigMF/blob/sigmf-v1.x/sigmf-spec.md * [[https://www.libvolk.org/][LibVOLK]] +:PROPERTIES: +:ID: ae34135c-488e-4aff-b795-a4d0d558f22b +:END: Vector-Optimized Library of Kernels (simd) * [[https://docs.kernel.org/fb/framebuffer.html][/dev/fb*]] +:PROPERTIES: +:ID: 7819a970-1f37-40a6-985f-905b25a08a4a +:END: framebuffers, used by fbgrab/fbcat program * [[https://docs.kernel.org/block/ublk.html][ublk]] +:PROPERTIES: +:ID: 5ccaed39-7055-4a51-ab62-769a73425270 +:END: https://github.com/ming1/ubdsrv diff -r 6ac37a61456a -r 4839b0675118 20240120.org --- a/20240120.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240120.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,15 +1,24 @@ * TODO taobench demo +:PROPERTIES: +:ID: 81ac81c3-f183-4345-aaf3-ef7ef0434947 +:END: :LOGBOOK: - State "TODO" from [2024-01-21 Sun 00:32] :END: https://github.com/audreyccheng/taobench - shouldn't have missed this :) obviously we need to implement this using core -- in demo/bench/tao? * TODO clap completion for nushell +:PROPERTIES: +:ID: a4b35281-83f7-4244-93e9-20e57ba31eb3 +:END: :LOGBOOK: - State "TODO" from [2024-01-20 Sat 23:23] :END: https://github.com/clap-rs/clap/tree/master/clap_complete_nushell * Dataframe scripting +:PROPERTIES: +:ID: 8dc7339e-71c6-4a60-b285-c0d56d1cbc24 +:END: https://studioterabyte.nl/en/blog/polars-vs-pandas nushell supports DFs, polars underneath? https://www.nushell.sh/book/cheat_sheet.html @@ -18,16 +27,31 @@ #+end_src * Cloud Squatting +:PROPERTIES: +:ID: d5131c54-9082-4424-91dd-70f17561bbf7 +:END: ** Google +:PROPERTIES: +:ID: 2b0f67de-1217-48a6-b5b7-a85d3ca15926 +:END: - [[https://cloud.google.com/free/docs/free-cloud-features][Free Cloud Features]] + 90-day $300 credits + e2-micro - free hours worth 1 instance/month + ** Amazon +:PROPERTIES: +:ID: 0fd0dedd-59b0-4b1a-9241-f65699e20c46 +:END: - AWS Free Tier ** Akamai +:PROPERTIES: +:ID: 8315a33f-dd22-4374-979a-9cccd5b5b6a9 +:END: - Linode Free Trial ** Oracle +:PROPERTIES: +:ID: 3f1e1116-c123-4fdf-a336-0d9b50c3dcc7 +:END: - [[https://www.oracle.com/cloud/free/?intcmp=ohp052322ocift][OCI Free Tier]] + always free: 2 x oracle autonomous DB + 2 x AMD Compute VMs diff -r 6ac37a61456a -r 4839b0675118 20240129.org --- a/20240129.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240129.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * NOTE trash as block device +:PROPERTIES: +:ID: 4452b84f-f3a5-44f1-b60a-4efa6413cbb9 +:END: :LOGBOOK: - State "NOTE" from [2024-01-29 Mon 20:53] - State "NOTE" from [2024-01-29 Mon 20:53] @@ -12,6 +15,9 @@ may be an opportunity for ublk driver to shine - instead of /dev/null piping we need a driver for streaming a file to /dev/trash * NOTE compute power +:PROPERTIES: +:ID: aa10a1d7-f1e7-4b92-b91a-56c234d52204 +:END: :LOGBOOK: - State "NOTE" from [2024-01-29 Mon 16:28] :END: diff -r 6ac37a61456a -r 4839b0675118 20240210.org --- a/20240210.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240210.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * BigBenches +:PROPERTIES: +:ID: 87d0f5d4-c6fe-4e21-911e-2639a24e89f9 +:END: #+name: 1trc-nu #+begin_src nushell let ms = '1trc/measurements-0.parquet' diff -r 6ac37a61456a -r 4839b0675118 20240218.org --- a/20240218.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240218.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * NOTE WL vs X +:PROPERTIES: +:ID: b4b29989-28f2-48db-ad84-cd8d08eeefdf +:END: :LOGBOOK: - State "NOTE" from [2024-02-18 Sun 11:55] :END: diff -r 6ac37a61456a -r 4839b0675118 20240301.org --- a/20240301.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240301.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * TODO collect more data +:PROPERTIES: +:ID: 69ce5703-d3fe-4df7-abf4-dc93a08ebc12 +:END: :LOGBOOK: - State "TODO" from [2024-03-01 Fri 15:27] :END: diff -r 6ac37a61456a -r 4839b0675118 20240302.org --- a/20240302.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240302.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * NOTE On blocks and devices +:PROPERTIES: +:ID: c8304ae3-415d-4ccf-8f4c-1f3f6a555e5b +:END: :LOGBOOK: - State "NOTE" from [2024-03-02 Sat 21:30] :END: @@ -100,6 +103,9 @@ https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support * NOTE save-lisp-and-respawn +:PROPERTIES: +:ID: e58a96e7-7b88-4e4a-b958-3000603d8baa +:END: :LOGBOOK: - State "NOTE" from [2024-03-02 Sat 22:57] :END: @@ -108,6 +114,9 @@ #+end_src * NOTE syslog for log +:PROPERTIES: +:ID: 2efa5e4a-f063-49bb-9e61-6917eb115c1a +:END: :LOGBOOK: - State "NOTE" from [2024-03-03 Sun 16:35] :END: diff -r 6ac37a61456a -r 4839b0675118 20240313.org --- a/20240313.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240313.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,6 +1,15 @@ * RESEARCH [[https://github.com/guicho271828/sbcl-wiki/wiki/][sbcl-wiki]] +:PROPERTIES: +:ID: 33bc81c1-c5fa-4518-9456-58fd67f301ff +:END: :LOGBOOK: - State "RESEARCH" from [2024-03-13 Wed 21:49] :END: ** IR1 +:PROPERTIES: +:ID: 2c012572-ea16-408c-b741-d1f6cd0c7961 +:END: ** IR2 +:PROPERTIES: +:ID: 8d015e5e-7ad3-44c3-88cd-81e293a887e0 +:END: diff -r 6ac37a61456a -r 4839b0675118 20240317.org --- a/20240317.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240317.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * NOTE DB Benchmarking +:PROPERTIES: +:ID: d30aec42-a9a1-425b-87ca-1e40db0e69de +:END: :LOGBOOK: - State "NOTE" from [2024-02-04 Sun 20:40] :END: @@ -14,36 +17,114 @@ - API root: https://packy.compiler.company - source packs: https://vc.compiler.company/packy ** Lib +:PROPERTIES: +:ID: 2d6aa6fb-a34c-4ccd-99d3-4f98d33bb2f9 +:END: *** Types +:PROPERTIES: +:ID: 8017b6c7-3a04-4e52-b3d6-afc68cbce139 +:END: **** Pack +:PROPERTIES: +:ID: 2722b7dc-9546-4d94-82b0-abfc02647b4d +:END: Primary data type of the library - typically represents a compressed archive, metadata, and ops. **** Bundle +:PROPERTIES: +:ID: 9ec5d682-da8e-4d02-b2fc-a56a8f209c22 +:END: Collection data type, usually contains a set of packs with metadata. **** PackyEndpoint +:PROPERTIES: +:ID: 8cf2658a-92d5-41ab-8630-4f4e6ddb140d +:END: Represents a Packy instance bound to a UDP socket **** PackyEndpointConfig +:PROPERTIES: +:ID: 421b8aaa-66e1-4883-937d-fc6705146998 +:END: Global endpoint configuration object **** PackyClientConfig +:PROPERTIES: +:ID: c1899710-034e-4ed6-959a-1eb2df72e5f9 +:END: Configuration for outgoing packy connections on an endpoint **** PackyServerConfig +:PROPERTIES: +:ID: 955e8ce9-ff7e-4f42-9d25-3aeb9846528b +:END: Configuration for incoming packy connection son an endpoint **** PackyConnection +:PROPERTIES: +:ID: 7075e0c8-65b3-4fbf-9a6b-f27017276a72 +:END: Packy connection object *** Traits +:PROPERTIES: +:ID: ea92ad07-d12c-4ee8-a3d4-0955f0af3921 +:END: **** PackyClient +:PROPERTIES: +:ID: 6c0fdd7e-bc0a-4217-b315-72fe7766e4df +:END: ***** query +:PROPERTIES: +:ID: 1358e1c5-b215-48eb-9e1b-4116cc32b2ae +:END: ***** install +:PROPERTIES: +:ID: b8298207-4d92-4628-8687-9f4e20c8cfec +:END: ***** update +:PROPERTIES: +:ID: a6fb4fb6-b188-4033-8291-107cf1f00e6d +:END: ***** login +:PROPERTIES: +:ID: 1fd91c8b-ab90-4db0-b74e-1c2b9ae2e440 +:END: ***** logout +:PROPERTIES: +:ID: 75c0db2e-37cf-4f33-95bd-3f5c95b45c49 +:END: ***** pull +:PROPERTIES: +:ID: 60de92f4-b4a6-4cae-95bc-174e2036e57b +:END: ***** push +:PROPERTIES: +:ID: e379b71e-8a84-4547-a694-90cad3b7952e +:END: **** PackyServer +:PROPERTIES: +:ID: 73ea9478-5251-40c3-8331-cf042d0b9bf1 +:END: ***** start_packy_server +:PROPERTIES: +:ID: c8a9bac3-971a-45a7-988f-92db19ef6601 +:END: ***** stop_packy_server +:PROPERTIES: +:ID: e3122bf1-f770-46a7-a36b-2df9c48bc233 +:END: ***** start_packy_registry +:PROPERTIES: +:ID: b6d214f2-d6de-4d46-b2c2-c51ff0f3b3e6 +:END: **** PackyRegistry +:PROPERTIES: +:ID: 0e846cbb-5cb4-496f-8100-beae6e66972e +:END: ***** register_pack +:PROPERTIES: +:ID: 764642ad-a33b-415b-9c32-8a729a7cd62d +:END: ***** register_user +:PROPERTIES: +:ID: 2b92f584-d769-4266-940e-cfbd466d4e62 +:END: ***** register_bundle +:PROPERTIES: +:ID: 390cb42b-5170-4175-9ccc-b990842356a0 +:END: diff -r 6ac37a61456a -r 4839b0675118 20240325.org --- a/20240325.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240325.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,8 +1,7 @@ * TBD investigate alieneval for phash opps +:PROPERTIES: +:ID: 21ab0a6e-cb66-4c5e-9b10-4ac2340ce75d +:END: :LOGBOOK: - State "TBD" from [2024-03-25 Mon 18:56] :END: -* TBD -:LOGBOOK: -- State "TBD" from [2024-03-25 Mon 18:57] -:END: diff -r 6ac37a61456a -r 4839b0675118 20240419.org --- a/20240419.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240419.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * How it works +:PROPERTIES: +:ID: 439a4945-de2f-4985-ba6c-fe6421aa9ad9 +:END: The backend services are written in Rust and controlled by a simple messaging protocol. Services provide common runtime capabilities known as the /service protocol/ but are specialized on a unique /service @@ -14,7 +17,13 @@ which also compiles to WASM (slint-rs). * Guide +:PROPERTIES: +:ID: 65140d2c-5d59-48cd-946c-01c380a37f08 +:END: ** Build +:PROPERTIES: +:ID: ad0652ca-4abf-4d27-8897-a61a13a6e61d +:END: - *install dependencies* #+begin_src bash ./tools/deps.sh @@ -26,27 +35,51 @@ - LISP :: Lisp (sbcl, cmucl, ccl) - CFG :: Config (default.cfg) ** Run +:PROPERTIES: +:ID: b2295442-ccb7-4a5c-8a9e-ea8502aad636 +:END: #+begin_src shell ./demo -i #+end_src ** Config +:PROPERTIES: +:ID: 600be170-d032-4280-a7b5-c46e3c157206 +:END: Configs can be specified in JSON, TOML, RON, or of course SEXP. See =default.cfg= for an example. ** Play +:PROPERTIES: +:ID: 56a69ed7-2eb3-4490-95a1-072cee985df5 +:END: The high-level user interface is presented as a multi-modal GUI application which adapts to the specific application /instances/ below. *** Weather +:PROPERTIES: +:ID: 804a174b-534c-4a04-966a-b44c0a86fbd4 +:END: This backend retrieves weather data using the NWS API. *** Stocks +:PROPERTIES: +:ID: 4e7339bb-aaf3-4fab-90e4-05e13f24f881 +:END: The 'Stocks' backend features a stock ticker with real-time analysis capabilities. *** Bench +:PROPERTIES: +:ID: e3cf0add-6ded-4c05-a05d-7ef463b85b08 +:END: This is a benchmark backend for testing the capabilities of our demo. It spins up some mock services and allows fine-grained control of input/throughput. * tasks +:PROPERTIES: +:ID: a16a3807-0e06-4c8d-baf6-5dfa8f8f5585 +:END: ** TODO DSLs +:PROPERTIES: +:ID: 3ae4754e-0c0f-4923-9e53-ae962b8638a1 +:END: - consider tree-sitter parsing layout, use as a guide for developing a single syntax which expands to Rust or C. - with-rs @@ -55,31 +88,55 @@ - with-cargo - compile-rs/c *** TODO rs-macroexpand +:PROPERTIES: +:ID: f612975f-6bcc-4aab-b0d8-65b8ff0a0d0f +:END: - rs-gen-file - rs-defmacro - rs-macros - rs-macroexpand - rs-macroexpand-1 *** TODO c-macroexpand +:PROPERTIES: +:ID: 49f5c224-026d-4cdc-a326-1742e64c4279 +:END: - c-gen-file h/c - c-defmacro - c-macros - c-macroexpand - c-macroexpand-1 *** TODO slint-macroexpand +:PROPERTIES: +:ID: 486beb12-179b-4acc-8507-cdc498edb628 +:END: - slint-gen-file - slint-defmacro - slint-macros - slint-macroexpand - slint-macroexpand-1 *** TODO html (using who) +:PROPERTIES: +:ID: 2e81a19c-874c-4fd7-be0f-f6cd62c660db +:END: ** TODO web templates +:PROPERTIES: +:ID: 95f7d6ac-c010-4d1d-a47d-1693bb7d6eab +:END: create a basic static page in CL which will be used to host Slint UIs and other WASM doo-dads in a browser. ** TODO CLI +:PROPERTIES: +:ID: fc1d5364-279c-4d5f-baea-ed2c110b63f0 +:END: using clingon, decide on generic options and write it up ** TODO docs +:PROPERTIES: +:ID: 467e84e3-e72f-4764-8858-cc15fdc17e8a +:END: work on doc generation -- Rust and CL should be accounted for. ** TODO tests +:PROPERTIES: +:ID: 70aea01c-d01e-4ddf-aaf5-c86183a7e250 +:END: We have none! need to make it more comfy - set up testing in all Rust crates and for the lisp systems. diff -r 6ac37a61456a -r 4839b0675118 20240425.org --- a/20240425.org Sat Jul 27 02:45:34 2024 -0400 +++ b/20240425.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,1 +1,4 @@ * https://docs.gitlab.com/ee/administration/backup_restore/migrate_to_new_server.html +:PROPERTIES: +:ID: 264b81f4-f953-4698-9c82-d8e20b6c31f9 +:END: diff -r 6ac37a61456a -r 4839b0675118 20240731.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/20240731.org Sun Aug 11 14:46:59 2024 -0400 @@ -0,0 +1,11 @@ +* alpine builders +:PROPERTIES: +:ID: 635925f6-e1d8-47bc-a32f-28bca0f19d2d +:END: +- make sure to apk add: + - git, hg + - clang + - make + - linux-headers + - zstd-dev + - libc-dev? diff -r 6ac37a61456a -r 4839b0675118 20240804.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/20240804.org Sun Aug 11 14:46:59 2024 -0400 @@ -0,0 +1,8 @@ +* bookmarks +:PROPERTIES: +:ID: 6e9c6bce-0513-4628-b6f9-5c234cccdaa3 +:END: +- How should such objects be represented within CORE? +- skel/homer mostly + - already have alias +- not sure about obj/otherwise, prob not diff -r 6ac37a61456a -r 4839b0675118 20240808.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/20240808.org Sun Aug 11 14:46:59 2024 -0400 @@ -0,0 +1,12 @@ +* Intelligent Design in Software +:PROPERTIES: +:ID: 1397d8bb-4848-4d9a-9dcc-ee65bed81c9e +:END: +- starting from a space where there are no external influences - a biome +- answer questions regarding the nature of the software and its capabilities +- incrementally adjust inter-dependencies +- optimize +- protect the biome at all costs +- focus on composition +- build applications +- re-integrate lessons learned diff -r 6ac37a61456a -r 4839b0675118 demo-notes.org --- a/demo-notes.org Sat Jul 27 02:45:34 2024 -0400 +++ b/demo-notes.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,11 +1,23 @@ * ideas +:PROPERTIES: +:ID: 9b5624bb-f007-435d-86bb-bef449cdd088 +:END: ** use branches for separate levels of expansion +:PROPERTIES: +:ID: f806f14c-bd32-4e40-8577-4a85b459d9fd +:END: - or perhaps some other VC feature.. although I don't want any parallel to time, as if expansions occur in sequence. Thus things like tags don't feel quite right. * research +:PROPERTIES: +:ID: ea7be421-5cf6-410c-a9db-780e6a4404ac +:END: for libraries, always prefer [[https://common-lisp-libraries.readthedocs.io/][defacto libs]] ** [[https://github.com/screenshotbot/screenshotbot-oss][screenshotbot-oss]] +:PROPERTIES: +:ID: 72fedd7c-45a0-4739-873a-9cf666eecd85 +:END: - monolithic repo, includes third-party dependencies - full quicklisp source - asdf, etc @@ -13,29 +25,71 @@ - the repo is too heavy for my liking though - I do like the idea of having many systems though ** DB +:PROPERTIES: +:ID: a1aacfb1-6a12-4520-951f-b287f1117923 +:END: *** CLIENT +:PROPERTIES: +:ID: 64210280-8c8d-4cf3-867f-616083a76e18 +:END: **** [[https://github.com/fukamachi/mito][mito]] +:PROPERTIES: +:ID: fb0b87e2-ff06-4eb7-b7c4-f43dc6d6a538 +:END: ORM, sqlite, postgres, mysql support **** [[https://github.com/fukamachi/cl-dbi][cl-dbi]] +:PROPERTIES: +:ID: e387a864-12d7-4691-a4d2-b0e4a6db027f +:END: database independent interface **** [[https://github.com/fukamachi/sxql][sxql]] +:PROPERTIES: +:ID: 276f0663-15d2-4331-9432-dec95ee57a4c +:END: SQL generator *** SERVICE +:PROPERTIES: +:ID: 66e6bcb1-fba3-418b-bc17-8f888a3f4f4a +:END: **** [[https://github.com/launchbadge/sqlx][sqlx]] +:PROPERTIES: +:ID: 839a78e1-873b-4fe7-991e-0c1780d0840e +:END: - supports rustls, tokio - we should write the service queries using a common-lisp DSL! #+begin_src toml sqlx = { version = "0.7", features = [ "runtime-tokio", "tls-rustls", "any", "chrono" ] } #+end_src ** LOGGING +:PROPERTIES: +:ID: e87feb9d-67d8-409f-afc1-35e39edae80f +:END: *** CLIENT +:PROPERTIES: +:ID: 762cb089-4f9f-4b5c-9e98-f2d57042da9b +:END: **** [[https://github.com/sharplispers/log4cl/][log4cl]] +:PROPERTIES: +:ID: 97e2c6ce-155c-492b-8f8f-590147f85250 +:END: supports slime well *** SERVICE +:PROPERTIES: +:ID: 57c4e64a-b661-4a53-b779-c5f1624eed1a +:END: **** [[https://crates.io/crates/tracing][tracing]] +:PROPERTIES: +:ID: f9fd8886-8285-4264-916b-8a7e03a24e5e +:END: **** [[https://crates.io/crates/tokio-console][tokio-console]] - monitoring tool +:PROPERTIES: +:ID: 45a5a757-cd3e-4fe2-ad66-bb0a3e5fdd05 +:END: works with tracing using the [[https://crates.io/crates/console-subscriber][console-subscriber]] crate ** UI +:PROPERTIES: +:ID: 9789c081-93d1-4eab-b7b6-9089cf6de3ca +:END: [[https://mcclim.common-lisp.dev/][mcclim]] [[https://slint-ui.com/][slint-ui]] [[https://github.com/rabbibotton/clog][clog]] diff -r 6ac37a61456a -r 4839b0675118 inbox-notes.org --- a/inbox-notes.org Sat Jul 27 02:45:34 2024 -0400 +++ b/inbox-notes.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * roadmap +:PROPERTIES: +:ID: 01634e21-2d66-4e47-a060-c774b354b17d +:END: I think roadmap should be product/management oriented. Agile terminology applies and things are grouped into sprints/trains/PIs/etc. There's really no need for that currently at @@ -14,31 +17,61 @@ #+end_src * Inbox Architecture +:PROPERTIES: +:ID: 5da80539-43a4-4977-a4a2-f51b142d74e3 +:END: * Inbox Metadata +:PROPERTIES: +:ID: 70c8688f-9941-4c3c-a486-60cf0333a263 +:END: ** Tags +:PROPERTIES: +:ID: febf20bf-7626-4730-9ecb-5b2086e05ba4 +:END: Pandora's box. I guess we should make use of decorators/capitalization for significant tags, and the rest are user-defined. ** IDs +:PROPERTIES: +:ID: 16265000-164a-41cb-8aa0-dcc61bf16b9c +:END: Not entirely commited to uuid, but maybe it makes the most sense to use the timestamp one. ** Status +:PROPERTIES: +:ID: 0e24d4ec-294d-4cca-b640-119c7fd1175e +:END: A Status should be applied to tasks only. We need a significant number of 'in progress' types, but each completed task will start as TODO and end up at DONE. ** Dates +:PROPERTIES: +:ID: f134a4b4-64b5-4492-a5e0-18673f7b0c52 +:END: Deadline,Scheduled,DATE property,LOGBOOK ** Log +:PROPERTIES: +:ID: f3a4440c-a186-40e1-80be-b311100ffe63 +:END: The logbook should be used to record progress throughout the lifetime of an item. ** Description +:PROPERTIES: +:ID: 82b15096-474a-4913-93ab-eeb28ff998d9 +:END: Descriptions can be blank, but tasks in need of review require a description. ** Properties +:PROPERTIES: +:ID: c2f6ac27-4f7b-4839-b6be-c3f96adf0b6a +:END: - Effort - Category ** Links +:PROPERTIES: +:ID: 1c39c531-d4ba-407e-a54a-5ee4ad22ea42 +:END: I don't think we need org-roam for this? TBD. The thing is that I want link data to end up in a set of rocksdb instances instead of sqlite. @@ -51,6 +84,9 @@ Note there's no forward references. * Notifications +:PROPERTIES: +:ID: 8c101baa-e3ee-4982-986b-b6b9854eb25e +:END: discord bot? prob use rust, parse json or something diff -r 6ac37a61456a -r 4839b0675118 nas-t.org --- a/nas-t.org Sat Jul 27 02:45:34 2024 -0400 +++ b/nas-t.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,6 +1,12 @@ #+BIBLIOGRAPHY: refs.bib * File Systems +:PROPERTIES: +:ID: 29f7085e-53a3-4d70-90a7-e3437ee99775 +:END: ** BTRFS +:PROPERTIES: +:ID: 3e7bb82e-7dae-476a-8ed0-18c361c9bd1b +:END: #+begin_quote BTRFS is a Linux filesystem based on copy-on-write, allowing for efficient snapshots and clones. @@ -28,6 +34,9 @@ #+end_quote -- [cite/t/f:@btrfs] *** [2023-08-08 Tue] btrfs performance speculation :: +:PROPERTIES: +:ID: 2b662144-97b2-4736-a8fc-bc8f861b9829 +:END: - [[https://www.percona.com/blog/taking-a-look-at-btrfs-for-mysql/]] - zfs outperforms immensely, but potential misconfiguration on btrfs side (virt+cow still enabled?) @@ -69,9 +78,15 @@ - btrfs continues to show improvements in the linux kernel, ironing out the kinks - makes it hard to compare benchmarks tho :/ *** MacOS support +:PROPERTIES: +:ID: 9ddb1caf-014a-4d0f-972e-82028e8be286 +:END: - see this WIP k-ext for macos: [[https://github.com/relalis/macos-btrfs][macos-btrfs]] - maybe we can help out with the VFS/mount support *** on-disk format +:PROPERTIES: +:ID: 7535f844-330b-4f9c-b2a1-4578d64acbf7 +:END: - [[https://btrfs.readthedocs.io/en/latest/dev/On-disk-format.html][on-disk-format]] - 'btrfs consists entirely of several trees. the trees use copy-on-write.' - trees are stored in nodes which belong to a level in the b-tree structure. @@ -113,6 +128,9 @@ - free ids: BTRFS_FIRST_FREE_OBJECTID=256ULL:BTRFS_LAST_FREE_OBJECTID=-256ULL - otherwise used for internal use *** send-stream format +:PROPERTIES: +:ID: 1d1a6211-c91f-48ae-8113-0ddada286cee +:END: - [[https://btrfs.readthedocs.io/en/latest/dev/dev-send-stream.html][send stream format]] - Send stream format represents a linear sequence of commands describing actions to be performed on the target filesystem (receive side), created on the source filesystem @@ -132,35 +150,68 @@ - the v2 protocol supports the encoded commands - the commands are kinda clunky - need to MKFIL/MKDIR then RENAM to create *** [2023-08-09 Wed] ioctls +:PROPERTIES: +:ID: be04dc90-86a6-46c5-9dcf-25519ebed34d +:END: - magic#: 0x94 - https://docs.kernel.org/userspace-api/ioctl/ioctl-number.html - Btrfs filesystem some lifted to vfs/generic - fs/btrfs/ioctl.h and linux/fs.h ** ZFS +:PROPERTIES: +:ID: 219cb1b5-7dff-4800-8ad0-2a19309a9e9f +:END: -- [cite/t/f:@zfs] - core component of TrueNAS software ** TMPFS +:PROPERTIES: +:ID: f2167ca1-f751-4ee3-a398-4cf7fff6b57c +:END: -- [cite/t/f:@tmpfs] - in-mem FS ** EXT4 +:PROPERTIES: +:ID: 698fb02f-dc73-40be-8bac-0af3a03c39c6 +:END: -- [cite/t/f:@ext4] ** XFS +:PROPERTIES: +:ID: 8c6cf1e4-1555-4270-a101-40b6fbb0a1f9 +:END: -- [cite/t/f:@xfs] -- [cite/t/f:@xfs-scalability] * Storage Mediums +:PROPERTIES: +:ID: e3701458-b333-44e3-b6f2-12861d6287ed +:END: ** HDD +:PROPERTIES: +:ID: dfe51b59-5f9d-4e7d-86f1-27e51453ae1f +:END: -- [cite/t/f:@hd-failure-ml] ** SSD +:PROPERTIES: +:ID: 9c9a5470-d0c2-49f1-9dc9-d0d62c841a19 +:END: -- [cite/t/f:@smart-ssd-qp] -- [cite/t/f:@ssd-perf-opt] ** Flash +:PROPERTIES: +:ID: 1414bda3-7fae-4fe0-ae65-8a5ed05ad822 +:END: -- [cite/t/f:@flash-openssd-systems] ** NVMe +:PROPERTIES: +:ID: 95e44402-9235-4b4b-a772-b91d78e38a6b +:END: -- [cite/t/f:@nvme-ssd-ux] -- [[https://nvmexpress.org/specifications/][specifications]] *** ZNS +:PROPERTIES: +:ID: 5639429c-1c9d-4cf0-b69c-cc45528cac50 +:END: -- [cite/t/f:@zns-usenix] #+begin_quote Zoned Storage is an open source, standards-based initiative to enable data centers to @@ -171,64 +222,163 @@ -- [[https://zonedstorage.io/][zonedstorage.io]] -- $465 8tb 2.5"? [[https://www.serversupply.com/SSD/PCI-E/7.68TB/WESTERN%20DIGITAL/WUS4BB076D7P3E3_332270.htm][retail]] ** eMMC +:PROPERTIES: +:ID: b8539369-0e0f-4f23-be8f-cd38be031bac +:END: -- [cite/t/f:@emmc-mobile-io] * Linux +:PROPERTIES: +:ID: b244015e-f3e2-4837-8186-a2f5edef1f14 +:END: ** syscalls +:PROPERTIES: +:ID: 935f67e0-eef6-4913-9dcc-8530129be37c +:END: *** ioctl +:PROPERTIES: +:ID: 134d256a-f7b3-4603-846c-b6c9bad2d708 +:END: - [[https://elixir.bootlin.com/linux/latest/source/Documentation/userspace-api/ioctl/ioctl-number.rst][ioctl-numbers]] * Rust +:PROPERTIES: +:ID: a3b9e17a-75a6-4aca-bf96-b713bc2ded43 +:END: ** crates +:PROPERTIES: +:ID: 4e7e4fb5-55f7-4036-b568-b84cefa45de8 +:END: *** nix +:PROPERTIES: +:ID: 861e5180-14b4-47c9-a779-fe25c0428d7e +:END: - [[https://crates.io/crates/nix][crates.io]] *** memmap2 +:PROPERTIES: +:ID: 320428ab-2d0f-4390-978f-c89907f8d0f4 +:END: - [[https://crates.io/crates/memmap2][crates.io]] *** zstd +:PROPERTIES: +:ID: 1cf1597d-2f42-4b92-b8fc-a88c649f7cbf +:END: - [[https://crates.io/crates/zstd][crates.io]] *** rocksdb +:PROPERTIES: +:ID: 1f8fae07-2fbb-4a35-8269-ea436f846193 +:END: - [[https://crates.io/crates/rocksdb][crates.io]] *** tokio :tokio: +:PROPERTIES: +:ID: ec55c0e1-7862-4f05-a6ee-b59ffc68a8ff +:END: - [[https://crates.io/crates/tokio][crates.io]] *** tracing :tokio: +:PROPERTIES: +:ID: bcf1904b-184e-4cae-86e7-5fcf57762944 +:END: - [[https://crates.io/crates/tracing][crates.io]] **** tracing-subscriber +:PROPERTIES: +:ID: 85f6ed51-f3f3-489c-911a-e90c4974048e +:END: - [[https://crates.io/crates/tracing-subscriber][crates.io]] *** axum :tokio: +:PROPERTIES: +:ID: 29e0fb8d-e35a-4e47-9b11-45cc4019e2db +:END: - [[https://crates.io/crates/axum][crates.io]] *** tower :tokio: +:PROPERTIES: +:ID: 8e5a71ed-85d6-4562-be3a-9261ab376a0e +:END: - [[https://crates.io/crates/tower][crates.io]] *** uuid +:PROPERTIES: +:ID: f6f24187-53b1-408e-b3ac-a101c9ba3040 +:END: - [[https://crates.io/crates/uuid][crates.io]] ** unstable +:PROPERTIES: +:ID: c09c812a-e884-4a28-ac4b-4f997ad2e932 +:END: *** lazy_cell +:PROPERTIES: +:ID: 990d862d-80b1-4620-aa6a-d5e1a2c23517 +:END: - [[https://github.com/rust-lang/rust/issues/109736][tracking-issue]] *** {BTreeMap,BTreeSet}::extract_if +:PROPERTIES: +:ID: 15bcf475-336a-4ed0-9b1d-921414c4ff9a +:END: - [[https://github.com/rust-lang/rust/issues/70530][tracking-issue]] * Lisp +:PROPERTIES: +:ID: 5aac7727-f53a-4414-9d6b-2cb50fb45c87 +:END: ** ASDF +:PROPERTIES: +:ID: 043ab5da-6f3f-47ee-b9cf-ba8f0c7bb87c +:END: - [[https://gitlab.common-lisp.net/asdf/asdf][gitlab.common-lisp.net]] - [[https://asdf.common-lisp.dev/][common-lisp.dev]] - [[https://github.com/fare/asdf/blob/master/doc/best_practices.md][best-practices]] - includes UIOP ** Reference Projects +:PROPERTIES: +:ID: f25d3c51-7338-484c-9068-31c1a4c7a565 +:END: *** StumpWM +:PROPERTIES: +:ID: 23dcbfef-b703-4dc5-a60a-9f2be66e32f2 +:END: - [[https://github.com/stumpwm/stumpwm][github]] *** Nyxt +:PROPERTIES: +:ID: bfbb355d-2b09-4450-b39a-368a5f685d77 +:END: - [[https://github.com/atlas-engineer/nyxt][github]] *** Kons-9 +:PROPERTIES: +:ID: 19929b73-2a4c-43f1-b04c-ec88dfa209bd +:END: - [[https://github.com/kaveh808/kons-9][github]] *** cl-torrents +:PROPERTIES: +:ID: 935dbb0f-2f04-46c1-b250-48dea359398d +:END: - [[https://github.com/vindarel/cl-torrents][github]] *** Mezzano +:PROPERTIES: +:ID: 2da96a46-f71c-436a-ab60-8f2a30469b15 +:END: - [[https://github.com/froggey/Mezzano][github]] *** yalo +:PROPERTIES: +:ID: 38459f44-90e3-4fcc-a829-27c60e28b2cd +:END: - [[https://github.com/whily/yalo][github]] *** cl-ledger +:PROPERTIES: +:ID: d2835614-461c-4bdd-8f25-a055b51797f4 +:END: - [[https://github.com/ledger/cl-ledger][github]] *** Lem +:PROPERTIES: +:ID: 8aa32222-31a9-4dc5-999c-7f10a9649d9f +:END: - [[https://github.com/lem-project/lem][github]] *** kindista +:PROPERTIES: +:ID: 977ccbf4-ca2f-466b-9420-105df90cfcdc +:END: - [[https://github.com/kindista/kindista][github]] *** lisp-chat +:PROPERTIES: +:ID: c745e1c8-a675-4cfe-bb7f-30916b9198dd +:END: - [[https://github.com/ryukinix/lisp-chat][github]] * Refs +:PROPERTIES: +:ID: 9a03c3b2-e9b6-4ab8-a1c5-3517374afbf0 +:END: #+print_bibliography: diff -r 6ac37a61456a -r 4839b0675118 parquet-parsing.org --- a/parquet-parsing.org Sat Jul 27 02:45:34 2024 -0400 +++ b/parquet-parsing.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,9 +1,15 @@ * DAT/PARQUET +:PROPERTIES: +:ID: 657a645b-0fad-4f95-a022-cd837ce188d6 +:END: https://github.com/apache/parquet-format https://github.com/apache/parquet-format/blob/master/src/main/thrift/parquet.thrift https://github.com/apache/parquet-testing https://github.com/apache/parquet-java ** glossary +:PROPERTIES: +:ID: e71f388c-9ed1-4862-8890-7f74271e8df0 +:END: - block :: same as HDFS block - file :: file metadata is required, data is not - row-group :: a logical horizontal partitioning of the data into @@ -17,6 +23,9 @@ column chunk per column. Column chunks contain one or more pages. ** format summary +:PROPERTIES: +:ID: ae54516c-c8a8-49f8-aac6-a95c18f5de8e +:END: #+begin_example 4-byte magic number "PAR1" diff -r 6ac37a61456a -r 4839b0675118 q-notes.org --- a/q-notes.org Sat Jul 27 02:45:34 2024 -0400 +++ b/q-notes.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * Queries +:PROPERTIES: +:ID: dc72ef46-a048-4e55-a9bd-3da2c93f84a8 +:END: Q --- Query languages EQL = Event Query Language diff -r 6ac37a61456a -r 4839b0675118 query-lang.org --- a/query-lang.org Sat Jul 27 02:45:34 2024 -0400 +++ b/query-lang.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,4 +1,7 @@ * query langs +:PROPERTIES: +:ID: 44a015b3-9f25-4909-a61f-daa21a6baa6c +:END: Queries are extremely important in software development and having a robust query engine is a must for CC. diff -r 6ac37a61456a -r 4839b0675118 skel-readme.org --- a/skel-readme.org Sat Jul 27 02:45:34 2024 -0400 +++ b/skel-readme.org Sun Aug 11 14:46:59 2024 -0400 @@ -1,5 +1,11 @@ * Mock Skel Readme +:PROPERTIES: +:ID: a072a011-0808-490b-b4ee-c665f68e4033 +:END: ** Overview +:PROPERTIES: +:ID: 2ab70bb9-4f1e-4ba2-ad72-b2a32dacbd5b +:END: + status :: WIP + forge :: [[https://lab.rwest.io/ellis/skel][Heptapod]] + mirror :: [[https://github.com/richardwesthaver/skel][Github]] @@ -9,15 +15,24 @@ system/. It is specifically for my software stack. *** Goals +:PROPERTIES: +:ID: 7881a92f-7406-4862-bf89-39970731f37d +:END: - vaporize boilerplate code and docs - integrate reasonably well with my tools (Emacs/etc) - object-oriented project management *** Resources +:PROPERTIES: +:ID: d0dd3e94-8c9e-4eac-847e-33a039beadbe +:END: - [[https://www.gnu.org/software/emacs/manual/html_node/autotype/Skeleton-Language.html][skeleton-lanaguage (emacs)]] - [[https://github.com/emacs-mirror/emacs/tree/master/lisp/cedet/ede][cedet/ede (emacs)]] - [[https://www.gnu.org/software/make/manual/make.html][GNU make]] - [[https://docs.factorcode.org/content/article-vocabularies.html][Factor (forth) definitions]] ** Quickstart +:PROPERTIES: +:ID: 183bbf4c-bb3c-44f6-a4c1-49c548e0eab2 +:END: Make sure you have sbcl installed: #+begin_src shell :results pp :eval never sbcl --version @@ -123,6 +138,9 @@ omit them in a skelfile. *** describe +:PROPERTIES: +:ID: 9ae1fe7b-c373-4101-88d3-439793eb38f3 +:END: The =describe= command can be used to check the currently active skelfile, printing any errors and the parsed object. @@ -158,6 +176,9 @@ #+end_example *** TODO compile +:PROPERTIES: +:ID: e43b7a81-c2f9-4dc9-8a09-66259602f91b +:END: Skelfiles can be compiled to produce a new project skeleton or update an existing one. @@ -190,7 +211,13 @@ #+end_src ** Examples +:PROPERTIES: +:ID: 61959899-98ec-4ee2-a862-7544674ffc7a +:END: *** Default +:PROPERTIES: +:ID: b9e5324c-059d-4416-a19a-3e5ffbac554e +:END: When you run =skel init= this is the basic skelfile that will be generated in the current directory, depending on the following contexts: @@ -204,8 +231,17 @@ :name "examples" #+end_src *** Imports +:PROPERTIES: +:ID: c7e2d0d9-8b0e-428d-aeb5-1b1447e2a1ed +:END: *** Multi +:PROPERTIES: +:ID: d6b6bbff-7713-4f2c-9dc8-b8331497b5b4 +:END: ** Tests +:PROPERTIES: +:ID: 37821915-2584-4303-a929-3cf25727fa1b +:END: The unit tests may also be a useful reference: #+begin_src lisp :results output replace :wrap src lisp :eval never :package :skel.tests @@ -241,6 +277,9 @@ #+end_src ** API +:PROPERTIES: +:ID: ae46b723-6d1e-4855-9ec1-ad0eb7093960 +:END: - TODO :: CLOS-based core classes - TODO :: EIEIO-based wrapper classes