changelog shortlog graph tags branches files raw help

Mercurial > org > docs / changeset: blog update

changeset 5: bb51c61e4d4b
parent 4: 1c57e053f043
child 6: 713c22bdab6a
author: ellis <ellis@rwest.io>
date: Fri, 24 Nov 2023 22:39:07 -0500
files: business.org nas-t/api.org nas-t/install.org nas-t/notes.org nas-t/quickstart.org nas-t/readme.org nas-t/roadmap.org nas-t/tutorial.org style.org tech.org ulang.org
description: blog update
     1.1--- a/business.org	Mon Nov 20 19:02:47 2023 -0500
     1.2+++ b/business.org	Fri Nov 24 22:39:07 2023 -0500
     1.3@@ -1,7 +1,8 @@
     1.4-#+TITLE: business
     1.5-#+AUTHOR: ellis
     1.6+{{{header(business,
     1.7+Richard Westhaver,
     1.8+ellis@rwest.io,
     1.9+The Compiler Company Business Model)}}}
    1.10 
    1.11-* Abstract
    1.12 In short, this document describes the business aspects of The Compiler
    1.13 Company LLC. We are designed to be small, fast, and agile. We
    1.14 infiltrate a market, apply our methodology, and develop solutions that
    1.15@@ -12,3 +13,5 @@
    1.16 we build software -- with a bottom up approach. This is our secret
    1.17 weapon, and what gives us the ability to adapt to any environment
    1.18 where our interests lie.
    1.19+
    1.20+#+TOC: headlines 3
     2.1--- a/nas-t/api.org	Mon Nov 20 19:02:47 2023 -0500
     2.2+++ b/nas-t/api.org	Fri Nov 24 22:39:07 2023 -0500
     2.3@@ -1,4 +1,7 @@
     2.4-#+TITLE: api
     2.5+{{{header(NAS-T API,
     2.6+Richard Westhaver,
     2.7+ellis@rwest.io,
     2.8+NAS-T API Documentation)}}}
     2.9 * Overview
    2.10 * Protocols
    2.11 * Filesystems
     3.1--- a/nas-t/install.org	Mon Nov 20 19:02:47 2023 -0500
     3.2+++ b/nas-t/install.org	Fri Nov 24 22:39:07 2023 -0500
     3.3@@ -1,4 +1,7 @@
     3.4-#+TITLE: install
     3.5+{{{header(install,
     3.6+Richard Westhaver,
     3.7+ellis@rwest.io,
     3.8+NAS-T Installation)}}}
     3.9 * Overview
    3.10 #+begin_src sh
    3.11   make build
     4.1--- a/nas-t/notes.org	Mon Nov 20 19:02:47 2023 -0500
     4.2+++ b/nas-t/notes.org	Fri Nov 24 22:39:07 2023 -0500
     4.3@@ -1,4 +1,7 @@
     4.4-#+TITLE: notes
     4.5+{{{header(notes,
     4.6+Richard Westhaver,
     4.7+ellis@rwest.io,
     4.8+NAS-T Notes)}}}
     4.9 #+BIBLIOGRAPHY: refs.bib
    4.10 * File Systems
    4.11 ** BTRFS
     5.1--- a/nas-t/quickstart.org	Mon Nov 20 19:02:47 2023 -0500
     5.2+++ b/nas-t/quickstart.org	Fri Nov 24 22:39:07 2023 -0500
     5.3@@ -1,4 +1,7 @@
     5.4-#+TITLE: quickstart
     5.5+{{{header(quickstart,
     5.6+Richard Westhaver,
     5.7+ellis@rwest.io,
     5.8+NAS-T Quickstart)}}}
     5.9 * Install
    5.10 * Configure the daemon
    5.11 * Connect a client
     6.1--- a/nas-t/readme.org	Mon Nov 20 19:02:47 2023 -0500
     6.2+++ b/nas-t/readme.org	Fri Nov 24 22:39:07 2023 -0500
     6.3@@ -1,10 +1,7 @@
     6.4-#+TITLE: NAS-T Docs
     6.5-#+DESCRIPTION: NAS-T Documentation
     6.6-#+AUTHOR: Richard Westhaver <ellis@rwest.io>
     6.7-#+OPTIONS: ^:nil toc:nil num:nil html-postamble:nil
     6.8-#+HTML_HEAD: <link rel="stylesheet" href="https://fonts.xz.style/serve/inter.css"/>
     6.9-#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://packy.rwest.io/style/css/new.min.css"/>
    6.10-#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://packy.rwest.io/style/css/terminal.css"/>
    6.11+{{{header(docs/NAS-T,
    6.12+Richard Westhaver,
    6.13+ellis@rwest.io,
    6.14+NAS-T Documentation)}}}
    6.15 #+EXPORT_FILE_NAME: index
    6.16 
    6.17 Welcome to the documentation home of NAS-T. Choose one of the topics below to get
    6.18@@ -19,3 +16,5 @@
    6.19 - [[file:roadmap.org][Roadmap]] :: The NAS-T development roadmap.
    6.20   
    6.21 - [[file:api.org][API]] :: API Documentation for NAS-T hackers.
    6.22+
    6.23+- [[file:notes.org][Notes]] :: Internal Notes.
     7.1--- a/nas-t/roadmap.org	Mon Nov 20 19:02:47 2023 -0500
     7.2+++ b/nas-t/roadmap.org	Fri Nov 24 22:39:07 2023 -0500
     7.3@@ -1,4 +1,8 @@
     7.4-#+TITLE: roadmap
     7.5+{{{header(roadmap,
     7.6+Richard Westhaver,
     7.7+ellis@rwest.io,
     7.8+NAS-T Roadmap)}}}
     7.9+
    7.10 * 0.1.0 [0/3]                                                       :current:
    7.11 ** TODO MVP [1/6]
    7.12 :LOGBOOK:
     8.1--- a/nas-t/tutorial.org	Mon Nov 20 19:02:47 2023 -0500
     8.2+++ b/nas-t/tutorial.org	Fri Nov 24 22:39:07 2023 -0500
     8.3@@ -1,4 +1,7 @@
     8.4-#+TITLE: tutorial
     8.5+{{{header(tutorial,
     8.6+Richard Westhaver,
     8.7+ellis@rwest.io,
     8.8+NAS-T Tutorial)}}}
     8.9 * Overview
    8.10 ** Introduction
    8.11 ** The Cloud
     9.1--- a/style.org	Mon Nov 20 19:02:47 2023 -0500
     9.2+++ b/style.org	Fri Nov 24 22:39:07 2023 -0500
     9.3@@ -1,4 +1,7 @@
     9.4-#+TITLE: style
     9.5+{{{header(style,
     9.6+Richard Westhaver,
     9.7+ellis@rwest.io,
     9.8+The Compiler Company Styleguide)}}}
     9.9 
    9.10 As an organization we maintain a styleguide[fn:1] which lists all of
    9.11 the style guidelines we use for our code. If you are contributing to
    10.1--- a/tech.org	Mon Nov 20 19:02:47 2023 -0500
    10.2+++ b/tech.org	Fri Nov 24 22:39:07 2023 -0500
    10.3@@ -1,5 +1,7 @@
    10.4-#+TITLE: tech
    10.5-#+AUTHOR: ellis
    10.6+{{{header(tech,
    10.7+Richard Westhaver,
    10.8+ellis@rwest.io,
    10.9+The Compiler Company Core Technologies)}}}
   10.10 
   10.11 Editors:
   10.12 - Emacs
    11.1--- a/ulang.org	Mon Nov 20 19:02:47 2023 -0500
    11.2+++ b/ulang.org	Fri Nov 24 22:39:07 2023 -0500
    11.3@@ -1,5 +1,8 @@
    11.4-#+TITLE: ulang
    11.5-#+OPTIONS: toc:nil
    11.6+{{{header(ulang,
    11.7+Richard Westhaver,
    11.8+ellis@rwest.io,
    11.9+The Universal Language)}}}
   11.10+
   11.11 This document describes a *U-Language* as described by the late great
   11.12 Haskell Curry:
   11.13 
   11.14@@ -14,57 +17,15 @@
   11.15 to our job than of most others.
   11.16 #+end_quote
   11.17 
   11.18-There is a natural reader/writer relationship that exists in countless
   11.19-places, but is rarely examined because it is rarely necessary. However
   11.20-there is a wide array of significantly complex code and prose projects
   11.21-out there which would benefit greatly from such an investigation.
   11.22-
   11.23-I would also like to humbly clarify on our interpretation of a *job*
   11.24-as Curry puts it. 
   11.25-
   11.26-We all have the same job really - to be curious, and to solve
   11.27-problems. It is the *problems* I would like to shine a light on, if
   11.28-just for a moment, because it's important. 
   11.29-
   11.30-Just as Curry thinks of languages, we can think of problems. There
   11.31-exists the *problem of problems* which is the subject of our
   11.32-investigations. This *U-Problem* is what we are solving for at all
   11.33-times. In this light, we can view the *U-Language* as a means of
   11.34-bringing both the /reader/ and /writer/ as close as possible to the
   11.35-*U-Problem*.
   11.36-
   11.37-For convenience, our *U-Problem* is undecidable, but we model and
   11.38-solve for it using ~computers~, or more abstractly ~machines~. Thus,
   11.39-our *U-Language* helps bring the /reader/ and /writer/ closer to our
   11.40-~machines~ as well as expedite communications between reader and
   11.41-writer.
   11.42-
   11.43-:summary:
   11.44-- /Why do we need a U-Language?/ :: To bring both the /reader/ and
   11.45-  /writer/ closer to our *U-Problem*.
   11.46-
   11.47-- /What is our U-Problem?/ :: Undecidable, but we use /computers/ as a
   11.48-  model of the *U-Problem*. When we are dealing with the *U-Problem*
   11.49-  we are speaking in terms of /computation/ and the ability of a given
   11.50-  machine to /compute/.
   11.51-
   11.52-- /How do we solve our U-Problem?/ :: With /computers/, by developing
   11.53-  accurate models and finding optimal solutions.
   11.54-:end:
   11.55-
   11.56 * ulang
   11.57 :PROPERTIES:
   11.58 :CUSTOM_ID: 8447a560-7f77-45c7-bd14-2a2af6ad2abc
   11.59 :END:
   11.60-As the title suggest we refer to our *Universal Language* as
   11.61+As the title suggest we refer to our *U-Language* as
   11.62 ulang. When I say something along the lines of "Please refer to
   11.63 [[Links][ulang:links]]", I am referencing the section named /Links/ of this
   11.64 document.
   11.65 
   11.66-This is a "living" document. In other words, it is incomplete. I may
   11.67-include additional elements in the ulang, or modify the specification
   11.68-of existing ones.
   11.69-
   11.70 Each section of this document describes an element of the ulang. It is
   11.71 recommended to skim through the top-level sections ([[Org-mode][Org-mode]] and
   11.72 [[Elements][Elements]]) and review the element sub-headings as needed.
   11.73@@ -81,22 +42,18 @@
   11.74 If you are already familiar with Emacs and org-mode, I recommend
   11.75 opening the source file of this document in Emacs and following along.
   11.76 
   11.77-If not, I recommend browsing through the [[https://orgmode.org/worg/][Worg resources]], but we're not
   11.78-getting too deep into tribal hacker knowledge of Emacs. The choice of
   11.79-Org is arbitrary and the concepts here would apply to other formats
   11.80+If not, I recommend browsing through the [[https://orgmode.org/worg/][Worg resources]], but we won't
   11.81+be getting too deep into tribal hacker knowledge of Emacs. The choice
   11.82+of Org is arbitrary and the concepts here would apply to other formats
   11.83 (LaTeX, Markdown, etc).
   11.84 
   11.85 Let us first consider /Org the syntax/.
   11.86 
   11.87 Org syntax is much less popular than Markdown and lacks parsing
   11.88-utilities in popular programming languages[fn:1]. Perhaps Org is not
   11.89-suited as a /universal/ text format because it's arguably harder to
   11.90-parse, making it less interoperable and intimidating to adopt.
   11.91-
   11.92-Regardless, we are committed to it as a foundation because it is the
   11.93-most hackable documentation engine available. With enough experience
   11.94-you can morph Org into whatever system you want, and that is /exactly/
   11.95-our intention.
   11.96+utilities in popular programming languages[fn:1]. Regardless, we are
   11.97+committed to it as a foundation because it is the most hackable
   11.98+documentation engine available. With enough experience you can morph
   11.99+Org into whatever documentation system that is needed.
  11.100 
  11.101 [fn:1] The ecosystem is changing though, thanks to the dedication of
  11.102 some excellent hackers: [[https://github.com/karlicoss/orgparse][python]], [[https://github.com/tecosaur/Org.jl][julia]]
  11.103@@ -106,28 +63,26 @@
  11.104 :CUSTOM_ID: 22474039-5c18-4179-82aa-a6731e6313a2
  11.105 :END:
  11.106 - State "TODO"       from              [2023-11-05 Sun 19:21]
  11.107-Org is the designated text representation of our ulang. Org-mode
  11.108-depends on Emacs (it's written in Emacs Lisp) but that doesn't mean we
  11.109-have to. To solve the issue of interoperability between different
  11.110-systems, we are developing a modular tool called [[https://lab.rwest.io/comp/core/-/tree/branch/default/lisp/lib/organ][organ]]. The purpose of
  11.111-=organ= is to provide an external API for Org documents that doesn't
  11.112-depend on GNU Emacs.
  11.113+
  11.114+=Org-mode= the application depends on Emacs (it's written in Emacs
  11.115+Lisp) but that doesn't mean we need to. To solve the issue of
  11.116+interoperability between different systems, we are developing a tool
  11.117+called [[https://lab.rwest.io/comp/core/-/tree/branch/default/lisp/lib/organ][organ]]. The purpose of =organ= is to provide an external API for
  11.118+Org documents that doesn't depend on GNU Emacs.
  11.119 
  11.120 If we were designing a /personal/ note-taking system, I would argue
  11.121-that we don't need this tool. The problem is it's not personal - we
  11.122-have a much wider intended audience - it's business. This means
  11.123-thinking about hundreds to thousands of documents instead of tens,
  11.124-about processing those documents into a full-text search database, and
  11.125-reducing cost along the way.
  11.126+that we don't need this tool. The problem is it's /not/ personal - we
  11.127+have a much wider intended audience and need to present information in
  11.128+many different ways. This means thinking about hundreds to thousands
  11.129+of documents instead of tens, about processing those documents into a
  11.130+full-text search database, and reducing cost along the way.
  11.131 
  11.132-Emacs can do all of these things, but do you really want it to? I
  11.133-don't. Emacs should remain close to the developer and we can outsource
  11.134-the tricky bits to =organ=.
  11.135-
  11.136+Emacs can do all of these things, but do you really want it to?
  11.137 ** Elements
  11.138 :PROPERTIES:
  11.139 :CUSTOM_ID: 4aa3ec2a-b360-43ae-b2d8-f9735f211290
  11.140 :END:
  11.141+
  11.142 *** Keywords
  11.143 :PROPERTIES:
  11.144 :CUSTOM_ID: 2cadda9a-22a3-4b42-ad4e-d7a774f74cba
  11.145@@ -197,33 +152,50 @@
  11.146 
  11.147 10. DRAFT   Designates a draft item.
  11.148 
  11.149-11. NOPE   Item that will not be completed.
  11.150+11. DEAD   Item that will not be completed.
  11.151 
  11.152 12. DONE   Completed task.
  11.153 
  11.154+13. COMMENT A 'commented' item.
  11.155+
  11.156+*** Macros
  11.157+:PROPERTIES:
  11.158+:CUSTOM_ID: cdb4976b-1d0d-49df-bfb1-3dbd5d99590e
  11.159+:END:
  11.160+Several *global* [[https://orgmode.org/manual/Macro-Replacement.html][Org Macros]] are used throughout our documents. They are listed
  11.161+here for convenience.
  11.162+
  11.163+#+name: ulang-macros
  11.164+#+begin_src emacs-lisp :exports both :results pp
  11.165+  org-export-global-macros
  11.166+#+end_src
  11.167+
  11.168+#+RESULTS: ulang-macros
  11.169+: (("opts" . "#+OPTIONS: $1\n")
  11.170+:  ("header" .
  11.171+:   "#+TITLE: $1\n#+AUTHOR: $2\n#+EMAIL: $3\n#+DESCRIPTION: $4\n#+SUBTITLE: $4\n#+OPTIONS: ^:nil toc:nil num:nil html-postamble:nil\n#+HTML_HEAD: <link rel=\"stylesheet\" href=\"https://fonts.xz.style/serve/inter.css\"/>\n#+HTML_HEAD: <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.compiler.company/css/new.min.css\"/>\n#+HTML_HEAD: <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.compiler.company/css/night.css\"/>\n"))
  11.172+
  11.173+Macros /are not expanded/ in source files - you will see them in the
  11.174+form ={{{NAME(ARGS)}}}=. You will need the relevant macro definition
  11.175+(in =ulang.el=) in order to export ulang docs with the macros
  11.176+expanded.
  11.177+
  11.178 *** Abbrevs
  11.179 :PROPERTIES:
  11.180 :CUSTOM_ID: b4c326ba-f74c-4409-9314-8d32df61fc5e
  11.181 :END:
  11.182-Abbrevs include domain-specific acronyms and slang such as /DB/ for
  11.183-database or /M$/ for Microsoft. They're abbreviations, but even lazier
  11.184-(we can't even be bothered to spell out the name). By defining them in
  11.185-one place we can use Emacs to lookup abbrevs on the fly, and we can
  11.186-automatically generate help text and references to abbrev definitions
  11.187-for our readers.
  11.188-*** Operators
  11.189-:PROPERTIES:
  11.190-:CUSTOM_ID: f91ca826-2c72-4d00-810c-2d61aa073658
  11.191-:END:
  11.192+There are several 'abbrev' types made available via =ulang.el=. They
  11.193+are intended for flexible templating and ease-of-use for the author.
  11.194+
  11.195+We try to align our abbrevs following categories:
  11.196+- uri
  11.197+- term
  11.198+- phrase
  11.199+- block
  11.200+
  11.201+Abbrevs may take arguments explicitly or inherit from their
  11.202+environment, but usually /are expanded/ in source files.
  11.203+
  11.204 *** Links
  11.205-:PROPERTIES:
  11.206-:CUSTOM_ID: 7bd8eeaa-9f21-4ab4-ba6e-be118e68d36a
  11.207-:END:
  11.208+
  11.209 *** Timestamps
  11.210-:PROPERTIES:
  11.211-:CUSTOM_ID: 4faf913e-7c15-4937-9547-b50a6c8ba896
  11.212-:END:
  11.213-*** Macros
  11.214-:PROPERTIES:
  11.215-:CUSTOM_ID: cdb4976b-1d0d-49df-bfb1-3dbd5d99590e
  11.216-:END: