Compare commits

..

No commits in common. "77df98c01be023d185323c5dccf482540fdbe9aa" and "f4d53e0fb6ad822d25314bd25afa6aae6c2d533c" have entirely different histories.

29 changed files with 309 additions and 375 deletions

View file

@ -1,14 +1,3 @@
24/12/2023
- published about sections
TODO:
- modify publish script to ensure rollback on failure
- create update script to publish updates to existing posts
21/12/2023
- broke "about" into smaller sections and linked from "/"
- removed "about" from header - now just [settled | unsettled | feed]
- added "now" and "this" sections and linked from "/"
10/12/2023 10/12/2023
- added resource/index builder to publish script - added resource/index builder to publish script

1
.gitignore vendored
View file

@ -4,4 +4,3 @@ sorrel/**
deploy-dir/** deploy-dir/**
tool/** tool/**
publish-test/** publish-test/**
compiled/**

View file

@ -1,20 +0,0 @@
24/12/2023
- posted:
- this
- now
- about
- contact
- very-earnest-disclaimer
21/12/2023
- beginning latl effectively finished and ready for post once ci is fixed
- projects to write about
- input-messenger
- there-is-something-inside-me-that-has-no-name
- cnc
- blogs to write
- conlanging tools
- latl primitives
- latl execution model
- thoughts on clj?
- some media crit?

View file

@ -1,52 +0,0 @@
(section
(h2 "a λ.functional λ.gay")
(p "i'm a gay lil nerd who's learning everyday about community, and ecology,
and computer; and trying hard to be good for the world with my gay lil
friends")
(p "i was named after "
(a ((href "https://plants.usda.gov/home/plantProfile?symbol=OXOR"))
"a plant called sorrel")
" and i live in the mountains of southern appalachia on "
(span ((lang "chr")) "ᏣᎳᎩ")
" (tsalagi/cherokee) land. i live with some cats and a whole mess of plants
(most of them food) and a cordswain and i have sweet neighbors")
(p
"i have never identified with the term 'hacker' but i have learned, in the
past few years, that i do like to orchestrate computer machines and i do
that with some cute friends at "
(a ((href "https://bunk.computer"))
"bunk computer club"))
(p "some random things i believe/ i like/ i am/etc (in no particular order")
;; about me bullets
(ul
;; language bullet
(li (p "i like linguistics a whole lot. "
(span
((class "hx-target"))
(a ((href "/tagged/conlang")
(hx-get "/hx/tagged/conlang")
(hx-target "closest span.hx-target")
; swap for a tag? just a lil list inside a list?
(hx-swap "innerHTML"))
"i make languages (the human kind) for fun."))
" there's a whole bunch of people who do this! "
(a ((href "https://conlang.org/"))
"the language creation society")
" i'm even working on a "
(span
((class "hx-target"))
(a ((href "/tagged/latl")
(hx-get "/hx/tagged/latl")
(hx-target "closest span.hx-target")
(hx-swap "innerHTML"))
"language (computer) to make languages (human)"))))
;; mmt bullet
(li (p "mmt, but make it anarchist "
(small "and get rid of all that \"sovereignty\" stuff, ew")))
;; neuroqueer bullet
(li (p "got a spicy brained, trans lady-fied experience.
i have feelings about these things that inevitably weave thru
my projects and art and all that"))
;; art bullet
(li (p "i used to make a lot more visual art than i do these days. some
sort of smth'll wind up here at some point"))))

View file

@ -1,12 +0,0 @@
(section
(h2 "contact")
(p "e-m-"
(span "a-i")
(span "-l [ at ")
(span "] s-o-")
(span "r-r-e-l [ d o")
(span "t ] d-e")
(span "-v is a good place to do the email"))
(p
"i have avoided 'online' for a long time, but i'm getting hip to it. i'm
on the big mastodon server @oxaliq"))

View file

@ -1,39 +0,0 @@
(section
(hgroup
(h2 "now")
(p "a snapshot of the (mostly) non-computer things of import"))
(section
(hgroup
(h3 "read")
(p "stuff i'm taking in"))
(ul (li "the paying guests, sarah waters")
(li "females, andrea long chu")
(li "palo alto, malcolm harris")
(li "high pitched and moist, tami t")
(li "desolation's flower, ragana")
(li "salesforce, lauren bousfield")
(li "el mal querer, rosalía")
(li "guacamelee, drinkbox")))
(section
(hgroup
(h3 "eval")
(p "stuff i'm crunching on"))
(ul (li "playing more go")
(li "winter garden chores")
(li "starting a community maker space")
(li "going on more hikes")
(li "body stuff")))
(section
(hgroup
(h3 "print")
(p "stuff i'm putting out"))
(ul (li "fun leatherwork")
(li "fun woodwork")
(li "relearning how to draw")))
(section
(hgroup
(h3 "loop")
(p "stuff what's on the horizon"))
(ul (li "being in the northeastern us")
(li "putting my labor on the market")
(li "maybe making some music again?"))))

View file

@ -1,42 +0,0 @@
(section
(hgroup
(h2 "how this site")
(p "some kind of colophon"))
(p
"all of the code for the website is hosted and deployed from tree, "
(a ((href "https://git.bunk.computer/oxaliq/sorrel.dev"))
"bunk computer club's git forge")
"i do almost everything in the main branch, cause it's just me and that way
i can add links below to the in-progress stuff real easy")
(p
"first, this website doesn't do anything to know who you are or anything.
this website is a ~20MB binary and some static resources. it is built
primarily with "
(a ((href "https://docs.racket-lang.org/web-server/"))
"racket web-server"))
(p
"this website serves ~46kB of javascript in the form of "
(a ((href "https://htmx.org/"))
"the htmx library (minified.)")
" i don't love serving minified code. forking the library and removing
features that are of no use to me is on the agenda for 2024")
(p
"everything here is hosted on turtle, "
(a ((href "https://wiki.bunk.computer/hypha/servers"))
"bunk computer club's shared application server"))
(p
"there's some racket scripts i use for tooling that were made with "
(a ((href "https://docs.racket-lang.org/cli/"))
"#lang cli"))
(p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/.dev-log"))
"you can read about development here"))
(p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/.idea-log"))
"you can read about my vague plans here"))
(p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/in-progress"))
"or read works in progress here"))
(p
"the image in the header is a crop of the work "
(em "'Oxalis acetosella', Otto Wilhelm Thomé (1885)")
" run through a generation tool on "
(a ((href "https://www.asciiart.eu/"))
"this ascii art archive")))

View file

@ -1,26 +0,0 @@
(section
(h2 "a very earnest disclaimer")
(p
"i like to talk about computation with ppl! but it is important for me that
you know: i am new to all this! i did not think computers or software were
^for me^ and then i had to get good at spreadsheets at my first email-factory
job and then i got curious about webdev and now i have reached terminal
velocity down a very λ.particular.rabbit[hole]")
(p
"i think computation is both fascinating on its own terms and as a substrate
for pro-social infrastructure. i am motivated to work on projects that
engage with this possiblity")
(p
"i'm not very good at many things. i don't even have a math education or a
degree in anything. have you ever met someone who *is* good at _all_ ^this^
~stuff~ ???")
(p
"i like thinking in public, but please be patient! with me and with
everyone else you talk about things you care about with")
(p "let's hold our strong opinions loosely!")
(p "and first assume good faith from each other!")
(br)
(br)
(p ((class "ascii but-normal-size"))
" ⃔‥̺⃝⃕")
(br))

View file

@ -1,8 +1,2 @@
title,link,summary,published,updated title,link,summary,published,updated
now,https://sorrel.dev/now,what the author of this site is up to,2023-12-24T19:45:57 Beginning LATL,https://sorrel.dev/unsettled/1,beginning the process of thinking through an environment for conlanging and other language shenanigans,2023-12-04T15:20:53
contact,https://sorrel.dev/contact,how to talk to sorrel,2023-12-24T19:45:11
disclaimer,https://sorrel.dev/very-earnest-disclaimer,a very earnest disclaimer,2023-12-24T19:43:23
this,https://sorrel.dev/this,the site this bitch made,2023-12-24T19:41:47
about,https://sorrel.dev/about,the bitch who made this site,2023-12-24T19:15:34
about,https://sorrel.dev/about,the bitch who made this site,2023-12-24T19:11:35
Beginning LATL,https://sorrel.dev/unsettled/1,beginning the process of thinking through an environment for conlanging and other language shenanigans,2023-12-04T15:20:53
1 title,link,summary,published,updated
2 now,https://sorrel.dev/now,what the author of this site is up to,2023-12-24T19:45:57 Beginning LATL,https://sorrel.dev/unsettled/1,beginning the process of thinking through an environment for conlanging and other language shenanigans,2023-12-04T15:20:53
contact,https://sorrel.dev/contact,how to talk to sorrel,2023-12-24T19:45:11
disclaimer,https://sorrel.dev/very-earnest-disclaimer,a very earnest disclaimer,2023-12-24T19:43:23
this,https://sorrel.dev/this,the site this bitch made,2023-12-24T19:41:47
about,https://sorrel.dev/about,the bitch who made this site,2023-12-24T19:15:34
about,https://sorrel.dev/about,the bitch who made this site,2023-12-24T19:11:35
Beginning LATL,https://sorrel.dev/unsettled/1,beginning the process of thinking through an environment for conlanging and other language shenanigans,2023-12-04T15:20:53

View file

@ -1,6 +1 @@
id,headline,description,history-> id,headline,description,history->
now,now,what the author of this site is up to,2023-12-24T19:45:57
contact,contact,how to talk to sorrel,2023-12-24T19:45:11
very-earnest-disclaimer,disclaimer,a very earnest disclaimer,2023-12-24T19:43:23
this,this,the site this bitch made,2023-12-24T19:41:47
about,about,the bitch who made this site,2023-12-24T19:15:34

1 id headline description history->
now now what the author of this site is up to 2023-12-24T19:45:57
contact contact how to talk to sorrel 2023-12-24T19:45:11
very-earnest-disclaimer disclaimer a very earnest disclaimer 2023-12-24T19:43:23
this this the site this bitch made 2023-12-24T19:41:47
about about the bitch who made this site 2023-12-24T19:15:34

View file

@ -1,2 +1,3 @@
tags,-> tags,->
about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about latl,unsettled/1
conlang,unsettled/1
1 tags,-> tags ->
2 about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about latl unsettled/1
3 conlang unsettled/1

View file

@ -3,29 +3,30 @@
(p (p
"a little introduction to a project i started thinking about in early 2020, "a little introduction to a project i started thinking about in early 2020,
as i was learning how to do web development and wanted to try my hand at as i was learning how to do web development and wanted to try my hand at
combining some hobbies") combining some hobbies.")
(p (a ((href "#the-point")) "skip the story and get to the point")) (section
(section ((id "the-story"))
(hgroup (hgroup
(h2 "what even is this?") (h2 "what even is this?")
(p (em "a story of linguistics and hubris")) (p (em "of linguistics and hubris."))
(hr)) (hr))
(p (p
"so, when i was a wee little child, i discovered language. like, most "so, when i was a wee little child, i discovered language. i was one of
wee little children discover language, but some wee little children those kids who picked up reading real quick (like before i could form
get given the lord of the rings when they're ten or something and get memories) and just have always been fascinated by what those words and
into the narrative and the characters, sure. but those appendices.... symbols do. like, most wee little children discover language, but some
there's .. a language here? called quenya? and it's written in this wee little children get given the lord of the rings when they're ten or
script? called tengwar? and there's a related language, sindarin? and something and get into the narrative and the characters, sure. but
this tolkien guy just made all this up? ") those appendices.... there's .. a language here? called quenya? and
this tolkien guy just made this up? "
(small "this is not in fact how i talked as a child, just go with me."))
(p (p
"so, i did the precocious kid thing and said to myself \"if this dead "so, i did the precocious kid thing and said to myself \"if this dead
british weirdo (who's like really into the concept of royalty) can british weirdo (who's like really into the concept of royalty) can
make a whole new language, then surely i can too\"") make a whole new language, then surely i can to.\"")
(p (p
"i did not, in fact, make a language. i made a relex of the language "i did not, in fact, make a language. i made a relex of the language i
i already spoke (my own peculiar idiolect of u.s. english,) but we all already spoke (my own peculiar idiolect of u.s. english,) but we all
gotta start somewhere" ) gotta start somewhere." )
(p (p
"for a long time the internet to me was mostly " "for a long time the internet to me was mostly "
(a ((href "https://listserv.brown.edu/archives/conlang.html")) (a ((href "https://listserv.brown.edu/archives/conlang.html"))
@ -37,55 +38,52 @@
never interacted with ppl much. i was a kid and the ppl in there never interacted with ppl much. i was a kid and the ppl in there
really knew their stuff, and i never much felt comfy with the idea really knew their stuff, and i never much felt comfy with the idea
of being just " of being just "
(em "in public") " on the internet like that") (em "in public") " on the internet like that.")
(p (p
"anyway i got better at making languages and learning about how "anyway i got better at making languages and learning about how
language works, and it's just been a (sometimes more consistent, at language works, and it's just been a (at times more consistent, at
times less) hobby of mine for most of my life") times less) hobby of mine for most of my life.")
(p (p
"flash forward to a few years ago, i'm working on a language that has "flash forward to a few years ago, i'm working on a language that has
turned into the passion project that i've spend the majority of my turned into the passion project that i've spend the majority of my
conlanging on and i'm getting frustrated with my tools. other conlanging on and i'm getting frustrated with my tools. i want to do
conlangers have made some really cool tools that i've used forever, more complex, phonological-feature-aware, sound change rules; i want
but i wanted to change my workflow. i wanted to do more complex, a tighter feedback loop; i want to see how a derivational pattern at
phonological-feature-aware, sound change rules; i wanted diachroinc one stage in a parent form of a language branches out or collapses
tooling for morhposyntactic bits of my languages; i wanted a tighter into different derivational patterns in a child language.")
feedback loop between defining some changes, or lexical items, or
whathave you, and seeing the results; i wanted to see how a
derivational pattern at one stage in a parent form of a language
branches out or collapses into different derivational patterns in a
child language")
(p (p
"all was not well in my conlanging") "all was not well in my conlanging.")
(p (p
"i would need to " (strong "do some programming")) "i would need to " (strong "do some programming."))
(p (p
"the thing is, i had just learned javascript. i had built a few "the thing is, i had just learned javascript. (it was a tech bootcamp.
little toy web apps, and i was not ready to execute on a vision someday i'll talk about my ~feelings~ about ~that~, but not here, not
for a multi-purpose conlanging tool that was beginning to take shape in my head") now.) i had built a few little toy web apps, and i was not ready to
(p "i tried anyway") execute on a vision for a multi-purpose conlanging tool that was
beginning to take shape in my head.")
(p "i tried anyway.")
(p "and i made " (p "and i made "
(a ((href "settled/1")) (a ((href "settled/1"))
"a bad first draft of a sound change tool")) "a bad first draft of a sound change tool."))
(p (p
"there's an e-bnf grammar in that project somewhere! the hubris i "there's an ebnf grammar in that project somewhere! the hubris i
had then, to think i could make a little javascript-backed had then, to think i could make a little javascript-backed
language tool with all of the bells and whistles i needed! with language tool with all of the bells and whistles i needed! with
the knowledge that i had then! (or more accurately, didn't have)") the knowledge that i had then! (or more accurately, didn't have)")
(br) (br)
(p "but now...")) (p "but now..."))
(section ((id "the-point")) (section
(hgroup (hgroup
(h2 "reviving this project") (h2 "reviving this project")
(p (em "whatcha gonna do sorrel?")) (p (em "whatcha gonna do sorrel?"))
(hr)) (hr))
(p "i'm still not ready") (p "i'm still not ready.")
(p (p
"but at least, today i'm forgoing bells and whistles for "but at least, today i'm forgoing bells and whistles for
execution models. core abstractions. experience using " execution models. core abstractions. experience using "
(a ((href "https://racket-lang.org")) (a ((href "https://racket-lang.org"))
"a (programming) language-oriented programming language") "a (programming) language-oriented programming language")
" maybe. there's a lot to think about") " maybe. there's a lot to think about.")
(p (p
"so, i'm going to try reviving this project. or, more accurately, "so, i'm going to try reviving this project. or, more accurately,
reimagining this project. from the little sound change tool that reimagining this project. from the little sound change tool that
@ -95,7 +93,7 @@
all of their language nerding problems in one runtime, with an all of their language nerding problems in one runtime, with an
extensible and reflective interface. and which is written in such extensible and reflective interface. and which is written in such
a way, with the appropriate abstractions, that lanuage nerdy a way, with the appropriate abstractions, that lanuage nerdy
hackers can hack their own tools on top of it") hackers can hack their own tools on top of it.")
(p (p
"and i'm going to be doing " "and i'm going to be doing "
(a ((href "https://www.recurse.com/")) (a ((href "https://www.recurse.com/"))
@ -103,7 +101,7 @@
" about it. i'll spend some full-time programming days making a " about it. i'll spend some full-time programming days making a
goofy little thing for goofy little language nerds surrounded by goofy little thing for goofy little language nerds surrounded by
goofy programming nerds doing whatever rad things they happen goofy programming nerds doing whatever rad things they happen
to be getting up to when i happen to be there") to be getting up to when i happen to be there.")
(p (p
"like many of the communities i am a part of, i am a quiet part of "like many of the communities i am a part of, i am a quiet part of
the conlanging community. so, we'll see how this goes. maybe it the conlanging community. so, we'll see how this goes. maybe it
@ -112,7 +110,7 @@
about designing and building a tool of the type that i'm designing about designing and building a tool of the type that i'm designing
and building. hoooopefully it is helpful in a way to other and building. hoooopefully it is helpful in a way to other
conlangers such that it evolves beyond what i could do on conlangers such that it evolves beyond what i could do on
my own (cause i ain't no whiz kid 10x programmer)") my own (cause i ain't no whiz kid 10x programmer.)")
(p (p
"but that's all me getting ahead of myself (as is often my wont.) "but that's all me getting ahead of myself (as is often my wont.)
first! to pack for the trip!")) first! to pack for the trip!"))
@ -128,9 +126,7 @@
here's the very start of the thinking-in-public. each of these here's the very start of the thinking-in-public. each of these
little thoughts is going to get at least it's own writeup (if not little thoughts is going to get at least it's own writeup (if not
several) and i'll update with additional sections and links to several) and i'll update with additional sections and links to
the writeups as i go. a note: it would be impossible for me (and the writeups as i go.")
probably most ppl) to create the full vision in the time i'll be
working on it fulltime")
(section (section
(h3 "notes on the goals") (h3 "notes on the goals")
(p (p
@ -150,7 +146,7 @@
by phonological transformations. users of the tool should be by phonological transformations. users of the tool should be
able to edit their work and see the consequences of their changes able to edit their work and see the consequences of their changes
quickly. hopefully, this can all happen on the web, i guess, quickly. hopefully, this can all happen on the web, i guess,
cause ppl like using their browser as the everything app")) cause ppl like using their browser as the everything app. ")
(section (section
(h3 "notes on existing tools") (h3 "notes on existing tools")
(p (p
@ -158,7 +154,7 @@
conlangers or made for professional linguists and used by conlangers or made for professional linguists and used by
conlangers or just yr regular old spreedsheets and such. i'm conlangers or just yr regular old spreedsheets and such. i'm
going to be doing some research about how conlangers do their going to be doing some research about how conlangers do their
conlanging, lest this truly be a just-for-me type project")) conlanging, lest this truly be a just-for-me type project."))
(section (section
(h3 "notes on primitives") (h3 "notes on primitives")
(p (p
@ -169,52 +165,23 @@
below the level of \"lexeme\" or \"phoneme\" to have something below the level of \"lexeme\" or \"phoneme\" to have something
abstract that can apply to both. i'm not going to get into abstract that can apply to both. i'm not going to get into
specifics even a little bit at this point-you'll have to stay specifics even a little bit at this point-you'll have to stay
tuned for more")) tuned for more.")))
(section (section
(h3 "notes on execution model") (h3 "notes on execution model")
(p (p
"this is going to be the crunchiest stuff to think about. i'm "this is going to be some crunchy computer language stuff. i'm
going to make some arguments for some things that (it is my going to make some arguments for some things that (it is my
belief) fall out of these goals. things like dynamic typing. belief) fall out of these goals. things like dynamic typing.
things like reflectivity (this is sooo important it gets its things like reflectivity (this is sooo important it gets its
own section.) things like lazy evaluation (because languages own section.) things like lazy evaluation (because languages
are big and sometimes you only want to look at a subset of a are big and sometimes you only want to look at a subset of a
language.) there's also some hypothetical notions that will language.) means of combination: propositions.")
require some experiments to determine applicability to the
project. i'm just going to list them as questions and not
expound upon or defend their existence as questions here:
propositions as a means of combination? propagation networks
as primitives?"))
(section (section
(h3 "notes on reflectivity and interaction") (h3 "notes on reflectivity and interaction"))
(p
"this is so important! i want conlangers to use this tool to
iterate and that requires ~something like a REPL~ in a
dynamic environment. my dream is to have a bidirectional
flow of information; whereby a user of the system can define
some rules about their language, evaluate those rules on some
data in an interpreter, inspect those data, modify those data
and run the interpreter such that it produces possible rules
that would yield the new result. wether or not that experience
results from the project, users should be able to rebind
anything their project needs *at runtime*"))
(section (section
(h3 "notes on portability") (h3 "notes on portability"))
(p
"as the project develops i will have to give some thought to
how to make it available to conlangers with different kinds
of computation experience. the ideal would be for a full
featured web implementation that interoperates with hosted
implementations, but we'll see"))
(section (section
(h3 "notes on the substrate") (h3 "notes on the substratum (racket?)")))
(p
"not a lot to say here. i will begin this project in racket
because i have some familiarity with it and it is
specifically built for developing languages. i will be using
other tools to explore other aspects of the project and may
ultimately move away from the racket ecosystem, but a girl
has gotta start somewhere")))
(section (section
(hgroup (hgroup
(h2 "about the name") (h2 "about the name")
@ -226,12 +193,7 @@
(code "my-conlang.latl") "anyone?") (code "my-conlang.latl") "anyone?")
(p (p
"i also just like syllabic laterals? they sound neat to me. the "i also just like syllabic laterals? they sound neat to me. the
official initialism is " (u "l") "inguistic " (u "a") "nalytic " official initialism is _l_inguistic _a_nalytic _t_ransformation
(u "t") "ransformation " (u "l") "anguage, but it also double _l_anguage, but it also double entendres to _l_ower _a_nterior
entendres to " (u "l") "ower " (u "a" ) "nterior " (u "t") _t_emporal _l_obe, so that's just kind of fun.")
"emporal " (u "l" ) "obe, so that's just kind of fun.") (p "maybe it'll have a different name some day, idk"))))
(p
"and the l means there can be lambda iconography-this is crucial
for a new computer project. [ˈλæ.ɾɫ̩] as a typographic image is
so perfectly specific to the kinds of things i dream about.")
(p "maybe it'll have a different name some day, idk")))

View file

@ -1,8 +0,0 @@
(section
(hgroup
(h2 "links")
(p "contributing to the hyper-fication of the hypermedia"))
(p "propjects that i think are cool"
(ul (li "")))
(p "communities that i think are neat"
(ul (li ""))))

0
in-progress/this.txt Normal file
View file

View file

@ -317,11 +317,9 @@
(close-output-port out)) (close-output-port out))
(error "couldn't obtain file lock on ~a" out)) (error "couldn't obtain file lock on ~a" out))
;; update 'resource/index
(write-new-resource/index r new-res-table #:test (if x #t #f))
;; update 'resource/index (unless root)
(if (equal? r "root")
(displayln "skipping write-new-resource/index")
(write-new-resource/index r new-res-table #:test (if x #t #f)))
;; update feed table ;; update feed table
(define atom-table (csv->list (define atom-table (csv->list
@ -349,7 +347,8 @@
(define feed-out (define feed-out
(open-output-file (if x "publish-test/source/feed.atom" (open-output-file (if x "publish-test/source/feed.atom"
"source/feed.atom") "source/feed.atom")
#:exists 'replace)) ;; need to remove this and just replace once testing is done
#:exists (if x 'replace 'error)))
(if (port-try-file-lock? feed-out 'exclusive) (if (port-try-file-lock? feed-out 'exclusive)
(begin (begin
(display (display

View file

@ -1 +1,101 @@
(body (section (h2 "a λ.functional λ.gay") (p "i'm a gay lil nerd who's learning everyday about community, and ecology,\n and computer; and trying hard to be good for the world with my gay lil\n friends") (p "i was named after " (a ((href "https://plants.usda.gov/home/plantProfile?symbol=OXOR")) "a plant called sorrel") " and i live in the mountains of southern appalachia on " (span ((lang "chr")) "ᏣᎳᎩ") " (tsalagi/cherokee) land. i live with some cats and a whole mess of plants\n (most of them food) and a cordswain and i have sweet neighbors") (p "i have never identified with the term 'hacker' but i have learned, in the\n past few years, that i do like to orchestrate computer machines and i do\n that with some cute friends at " (a ((href "https://bunk.computer")) "bunk computer club")) (p "some random things i believe/ i like/ i am/etc (in no particular order") (ul (li (p "i like linguistics a whole lot. " (span ((class "hx-target")) (a ((href "/tagged/conlang") (hx-get "/hx/tagged/conlang") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "i make languages (the human kind) for fun.")) " there's a whole bunch of people who do this! " (a ((href "https://conlang.org/")) "the language creation society") " i'm even working on a " (span ((class "hx-target")) (a ((href "/tagged/latl") (hx-get "/hx/tagged/latl") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "language (computer) to make languages (human)")))) (li (p "mmt, but make it anarchist " (small "and get rid of all that \"sovereignty\" stuff, ew"))) (li (p "got a spicy brained, trans lady-fied experience. \n i have feelings about these things that inevitably weave thru\n my projects and art and all that")) (li (p "i used to make a lot more visual art than i do these days. some\n sort of smth'll wind up here at some point")))) (footer (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/about") (hx-get "/hx/tagged/about") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "about"))))) (hr) (p ((class "doc-history")) (small "published: 2023-12-24T19:15:34")) (p ((class "license-info")) (small (a ((href "/license")) "license"))))) (main
(p "what do you want to know?")
(section
(h1 "about sorrel")
(p "i'm a gay lil nerd who's learning everyday about community, and ecology,
and computer; and trying hard to be good for the world with my gay lil
friends.")
(p "i was named after "
(a ((href "https://plants.usda.gov/home/plantProfile?symbol=OXOR"))
"a plant called sorrel")
" and i live in the mountains of southern appalachia on "
(span ((lang "chr")) "ᏣᎳᎩ")
" (tsalagi/cherokee) land. i live with some cats and a whole mess of plants
(most of them food) and a cordswain and i have sweet neighbors.")
(p
"i have never identified with the term 'hacker' but i have learned, in the
past few years, that i do like to orchestrate computer machines and i do
that with some cute friends at "
(a ((href "https://bunk.computer"))
"bunk computer club"))
(p "some random things i believe/ i like/ i am/etc (in no particular order")
;; about me bullets
(ul
;; language bullet
(li (p "i like linguistics a whole lot. "
(span
((class "hx-target"))
(a ((href "/tagged/conlang")
(hx-get "/hx/tagged/conlang")
(hx-target "closest span.hx-target")
; swap for a tag? just a lil list inside a list?
(hx-swap "innerHTML"))
"i make languages (the human kind) for fun."))
" there's a whole bunch of people who do this! "
(a ((href "https://conlang.org/"))
"the language creation society")
" i'm even working on a "
(span
((class "hx-target"))
(a ((href "/tagged/latl")
(hx-get "/hx/tagged/latl")
(hx-target "closest span.hx-target")
(hx-swap "innerHTML"))
"language (computer) to make languages (human)."))))
;; mmt bullet
(li (p "mmt, but make it anarchist "
(small "and get rid of all that \"sovereignty\" stuff, ew")))
;; nd bullet
(li (p "the autistic-contiguous position: object-relations theory or gay
sex act? "
(span
((class "hx-target"))
(small "a " (em "niche") " joke about having "
(a ((href "/tagged/brain")
(hx-get "/hx/tagged/brain")
(hx-target "closest span.hx-target")
(hx-swap "innerHTML"))
"a ~type~ of experience")))))
;; queer bullet
(li (p "she's a gay trans lady, harold"))
;; art bullet
(li (p "i used to make a lot more visual art than i do these days. some
sort of smth'll wind up here at some point."))))
;; contact section
(section
(h2 "contact")
(p "- e - m- "
(span " a - i ")
(span " -l [ at ")
(span "] s - o- ")
(span "r - r- e - l [ d o")
(span "t ] d -e")
(span "-v is a good place to do the email"))
(p
"i have avoided 'online' for a long time, but i'm getting hip to it. i'll
add some more socials here for to socially network in the future,
promise."))
;; getting earnest section
(section
(h2 "a very earnest disclaimer")
(p
"i like to talk about computation with ppl! but it is important for me that
you know: i am new to all this! i did not think computers or software were
^for me^ and then i had to get good at spreadsheets at my first email-factory
job and then i got curious about webdev and now i have reached terminal
velocity down a very λ.particular.rabbit[hole]")
(p
"i'm not very good at many things. i don't even have a math education or a
degree in anything. have you ever met someone who *is* good at _all_ ^this^
~stuff~ ???")
(p
"i like thinking in public, but please be patient! with me and with
everyone else you talk about things you care about with.")
(p "let's hold our strong opinions loosely!")
(p "and first assume good faith from each other!")
(br)
(br)
(p ((class "ascii but-normal-size"))
" ⃔‥̺⃝⃕")
(br)))

View file

@ -1 +0,0 @@
(body (section (h2 "contact") (p "e-m-" (span "a-i") (span "-l [ at ") (span "] s-o-") (span "r-r-e-l [ d o") (span "t ] d-e") (span "-v is a good place to do the email")) (p "i have avoided 'online' for a long time, but i'm getting hip to it. i'm\n on the big mastodon server @oxaliq")) (footer (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/about") (hx-get "/hx/tagged/about") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "about"))))) (hr) (p ((class "doc-history")) (small "published: 2023-12-24T19:45:11")) (p ((class "license-info")) (small (a ((href "/license")) "license")))))

View file

@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>λ.sorrel.dev</title><link rel="self" href="https://sorrel.dev/feed.atom"/><updated>2023-12-24T19:45:57</updated><author><name>sorrel</name></author><id>https://sorrel.dev</id><entry><title>now</title><link href="https://sorrel.dev/now"/><id>https://sorrel.dev/now</id><content src="https://sorrel.dev/now" type="text/html"></content><summary>what the author of this site is up to</summary><published>2023-12-24T19:45:57</published><updated></updated></entry><entry><title>contact</title><link href="https://sorrel.dev/contact"/><id>https://sorrel.dev/contact</id><content src="https://sorrel.dev/contact" type="text/html"></content><summary>how to talk to sorrel</summary><published>2023-12-24T19:45:11</published><updated></updated></entry><entry><title>disclaimer</title><link href="https://sorrel.dev/very-earnest-disclaimer"/><id>https://sorrel.dev/very-earnest-disclaimer</id><content src="https://sorrel.dev/very-earnest-disclaimer" type="text/html"></content><summary>a very earnest disclaimer</summary><published>2023-12-24T19:43:23</published><updated></updated></entry><entry><title>this</title><link href="https://sorrel.dev/this"/><id>https://sorrel.dev/this</id><content src="https://sorrel.dev/this" type="text/html"></content><summary>the site this bitch made</summary><published>2023-12-24T19:41:47</published><updated></updated></entry><entry><title>about</title><link href="https://sorrel.dev/about"/><id>https://sorrel.dev/about</id><content src="https://sorrel.dev/about" type="text/html"></content><summary>the bitch who made this site</summary><published>2023-12-24T19:15:34</published><updated></updated></entry><entry><title>about</title><link href="https://sorrel.dev/about"/><id>https://sorrel.dev/about</id><content src="https://sorrel.dev/about" type="text/html"></content><summary>the bitch who made this site</summary><published>2023-12-24T19:11:35</published><updated></updated></entry><entry><title>Beginning LATL</title><link href="https://sorrel.dev/unsettled/1"/><id>https://sorrel.dev/unsettled/1</id><content src="https://sorrel.dev/unsettled/1" type="text/html"></content><summary>beginning the process of thinking through an environment for conlanging and other language shenanigans</summary><published>2023-12-04T15:20:53</published><updated></updated></entry></feed> <?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>λ.sorrel.dev</title><link rel="self" href="https://sorrel.dev/feed.atom"/><updated>2023-11-08T22:49:41</updated><author><name>sorrel</name></author><id>https://sorrel.dev</id>

View file

@ -11,7 +11,7 @@
(content "it's a crop of the work 'Oxalis acetosella', Otto Wilhelm Thomé (content "it's a crop of the work 'Oxalis acetosella', Otto Wilhelm Thomé
(1885) run through the ascii-art generation tool on https://www.asciiart.eu/"))) (1885) run through the ascii-art generation tool on https://www.asciiart.eu/")))
(link ((rel "stylesheet") (link ((rel "stylesheet")
(href "/static/style/styles.css"))) (href "/static/styles.css")))
(style " (style "
p.ascii { p.ascii {
font-family: 'Courier New', Courier, monospace; font-family: 'Courier New', Courier, monospace;

View file

@ -47,6 +47,12 @@
░▒▓ ▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▒░▓ ░▒░▒ ░░ ░▒▓ ▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▓▒▒▒ ▒░▓ ░▒░▒ ░░
▒▓ ░▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒▒▒▒▓▒▓▓▓▒▒ ▓░ ░▒ ░▓ ")) ▒▓ ░▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒▒▒▒▓▒▓▓▓▒▒ ▓░ ░▒ ░▓ "))
(nav (nav
(a
((href "/about")
(hx-get "/hx/about")
(hx-target "main")
(hx-swap "innerHTML"))
"about sorrel (the bitch who made this)")
(a (a
((href "/unsettled") ((href "/unsettled")
(hx-get "/hx/unsettled") (hx-get "/hx/unsettled")

View file

@ -1,4 +1,4 @@
(main (article
(noscript (noscript
(span (span
((class "noscript")) ((class "noscript"))
@ -21,48 +21,14 @@
(p "hey! i'm sorrel.") (p "hey! i'm sorrel.")
(p "(called like the plant up there)") (p "(called like the plant up there)")
(p "this is my new-fangled website computer page on the world wide web. i had (p "this is my new-fangled website computer page on the world wide web. i had
a nice time building this little thing ") a nice time building this little thing "
(p " i hope you have a nice time looking at things here") (span ((class "hx-target"))
(hr)
(p (span ((class "hx-target"))
(a ((href "/this") (a ((href "/this")
(hx-get "/hx/this") (hx-get "/hx/this")
(hx-target "closest span") (hx-target "closest span")
(hx-swap "innerHTML")) (hx-swap "innerHTML"))
"(how i build this little page)"))) "(how i build this little page.)")))
(p (span ((class "hx-target")) (p " i hope you have a nice time looking at things here.")
(a ((href "/now")
(hx-get "/hx/now")
(hx-target "closest span")
(hx-swap "innerHTML"))
"(what i'm doing)")))
(p (span ((class "hx-target"))
(a ((href "/about")
(hx-get "/hx/about")
(hx-target "closest span")
(hx-swap "innerHTML"))
"(who i am)")))
(p (span ((class "hx-target"))
(a ((href "/contact")
(hx-get "/hx/contact")
(hx-target "closest span")
(hx-swap "innerHTML"))
"(how to say hi to me)")))
(p (span ((class "hx-target"))
(a ((href "/very-earnest-disclaimer")
(hx-get "/hx/very-earnest-disclaimer")
(hx-target "closest span")
(hx-swap "innerHTML"))
"(a very earnest disclaimer)")))
; (p (span ((class "hx-target"))
; (a ((href "/links")
; (hx-get "/hx/links")
; (hx-target "closest span")
; (hx-swap "innerHTML"))
; "(some things i think are neat)")))
(p (a ((href "/tagged"))
"-> all of the kinds of things on here so far"))
(p ((class "ascii but-normal-size")) (p ((class "ascii but-normal-size"))
"︿︿ "︿︿
〰")) 〰"))

View file

@ -14,8 +14,8 @@
(p (em "a categorical mess for your perusal")))] (p (em "a categorical mess for your perusal")))]
[(string-prefix? res "tagged/") [(string-prefix? res "tagged/")
(let ([tag (string-replace res "tagged/" "#")]) (let ([tag (string-replace res "tagged/" "#")])
`(hgroup (h1 ,(~a "stuff what's tagged like " tag)) `(hgroup (h1 ,(~a "stuff what's tagged like \"~a\"" tag))
(p (em (~a "everything (or maybe just some things) i've ever said about \"" tag "\"")))))] (p (em (~a "everything (or maybe just some things) i've ever said about \"~a\"" tag)))))]
[else [else
'(hgroup (h1 "i'm lost") '(hgroup (h1 "i'm lost")
(p (em "you weren't meant to be here")))]) (p (em "you weren't meant to be here")))])
@ -43,7 +43,7 @@
(h4 ,(second post)) (h4 ,(second post))
(p ,(third post)) (p ,(third post))
;; tagged posts will insert href instead of id ;; tagged posts will insert href instead of id
(a ((href ,(~a "/" (first post)))) (a ((href ,(first post)))
,(~a "go! to " (second post) " page"))))) ,(~a "go! to " (second post) " page")))))

View file

@ -1 +0,0 @@
(body (section (hgroup (h2 "now") (p "a snapshot of the (mostly) non-computer things of import")) (section (hgroup (h3 "read") (p "stuff i'm taking in")) (ul (li "the paying guests, sarah waters") (li "females, andrea long chu") (li "palo alto, malcolm harris") (li "high pitched and moist, tami t") (li "desolation's flower, ragana") (li "salesforce, lauren bousfield") (li "el mal querer, rosalía") (li "guacamelee, drinkbox"))) (section (hgroup (h3 "eval") (p "stuff i'm crunching on")) (ul (li "playing more go") (li "winter garden chores") (li "starting a community maker space") (li "going on more hikes") (li "body stuff"))) (section (hgroup (h3 "print") (p "stuff i'm putting out")) (ul (li "fun leatherwork") (li "fun woodwork") (li "relearning how to draw"))) (section (hgroup (h3 "loop") (p "stuff what's on the horizon")) (ul (li "being in the northeastern us") (li "putting my labor on the market") (li "maybe making some music again?")))) (footer (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/about") (hx-get "/hx/tagged/about") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "about"))))) (hr) (p ((class "doc-history")) (small "published: 2023-12-24T19:45:57")) (p ((class "license-info")) (small (a ((href "/license")) "license")))))

View file

@ -1 +0,0 @@
'(article (hgroup (h1 "stuff what's tagged like #about") (p (em "everything (or maybe just some things) i've ever said about \"about\""))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "now") (p "what the author of this site is up to") (a ((href "/now")) "go! to now page")) (div ((class "post-preview")) (h4 "contact") (p "how to talk to sorrel") (a ((href "/contact")) "go! to contact page")) (div ((class "post-preview")) (h4 "disclaimer") (p "a very earnest disclaimer") (a ((href "/very-earnest-disclaimer")) "go! to disclaimer page")) (div ((class "post-preview")) (h4 "this") (p "the site this bitch made") (a ((href "/this")) "go! to this page")) (div ((class "post-preview")) (h4 "about") (p "the bitch who made this site") (a ((href "/about")) "go! to about page")))

View file

@ -1 +1 @@
'(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "about") (p "posts about about") (a ((href "/tagged/about")) "go! to about page"))) '(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (p "there's nothing here yet"))'(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (p "there's nothing here yet"))'(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (p "there's nothing here yet"))

View file

@ -1 +0,0 @@
(body (section (hgroup (h2 "how this site") (p "some kind of colophon")) (p "all of the code for the website is hosted and deployed from tree, " (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev")) "bunk computer club's git forge") "i do almost everything in the main branch, cause it's just me and that way\n i can add links below to the in-progress stuff real easy") (p "first, this website doesn't do anything to know who you are or anything.\n this website is a ~20MB binary and some static resources. it is built\n primarily with " (a ((href "https://docs.racket-lang.org/web-server/")) "racket web-server")) (p "this website serves ~46kB of javascript in the form of " (a ((href "https://htmx.org/")) "the htmx library (minified.)") " i don't love serving minified code. forking the library and removing\n features that are of no use to me is on the agenda for 2024") (p "everything here is hosted on turtle, " (a ((href "https://wiki.bunk.computer/hypha/servers")) "bunk computer club's shared application server")) (p "there's some racket scripts i use for tooling that were made with " (a ((href "https://docs.racket-lang.org/cli/")) "#lang cli")) (p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/.dev-log")) "you can read about development here")) (p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/.idea-log")) "you can read about my vague plans here")) (p (a ((href "https://git.bunk.computer/oxaliq/sorrel.dev/src/branch/main/in-progress")) "or read works in progress here")) (p "the image in the header is a crop of the work " (em "'Oxalis acetosella', Otto Wilhelm Thomé (1885)") " run through a generation tool on " (a ((href "https://www.asciiart.eu/")) "this ascii art archive"))) (footer (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/about") (hx-get "/hx/tagged/about") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "about"))))) (hr) (p ((class "doc-history")) (small "published: 2023-12-24T19:41:47")) (p ((class "license-info")) (small (a ((href "/license")) "license")))))

View file

@ -1 +0,0 @@
(body (section (h2 "a very earnest disclaimer") (p "i like to talk about computation with ppl! but it is important for me that\n you know: i am new to all this! i did not think computers or software were\n ^for me^ and then i had to get good at spreadsheets at my first email-factory\n job and then i got curious about webdev and now i have reached terminal\n velocity down a very λ.particular.rabbit[hole]") (p "i think computation is both fascinating on its own terms and as a substrate\n for pro-social infrastructure. i am motivated to work on projects that\n engage with this possiblity") (p "i'm not very good at many things. i don't even have a math education or a\n degree in anything. have you ever met someone who *is* good at _all_ ^this^\n ~stuff~ ???") (p "i like thinking in public, but please be patient! with me and with\n everyone else you talk about things you care about with") (p "let's hold our strong opinions loosely!") (p "and first assume good faith from each other!") (br) (br) (p ((class "ascii but-normal-size")) " ⃔‥̺⃝⃕") (br)) (footer (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/about") (hx-get "/hx/tagged/about") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "about"))))) (hr) (p ((class "doc-history")) (small "published: 2023-12-24T19:43:23")) (p ((class "license-info")) (small (a ((href "/license")) "license")))))

View file

@ -51,10 +51,6 @@ span.hx-target section {
margin: 3; margin: 3;
} }
span.hx-target footer {
display: none;
}
a { a {
font-family: 'Courier New', Courier, monospace; font-family: 'Courier New', Courier, monospace;
font-size: small; font-size: small;

131
static/styles.css Normal file
View file

@ -0,0 +1,131 @@
:root {
color-scheme: light dark;
}
@media screen and not (prefers-color-scheme: light) {
html {
--foreground-color: lab(90 50 -80);
--background-color: lab(0 50 -30);
--link-color: lab(80 40 100);
--visited-link-color: lab(70 10 15);
--banner-ascii-color: lab(90 -40 20 / 0.8);
}
}
@media screen and (prefers-color-scheme: light) {
html {
--foreground-color: lab(10 50 -80);
--background-color: lab(90 50 -30);
--link-color: lab(20 40 100);
--visited-link-color: lab(20 10 15);
--banner-ascii-color: lab(10 -40 20 / 0.8);
}
}
html {
padding: 20px;
color: var(--foreground-color);
background-color: var(--background-color);
}
h1, h2, h3, h4, h5 {
font-family: 'Courier New', Courier, monospace;
color: var(--background-color);
background-color: var(--visited-link-color);
padding: 2 10;
}
h5 {
margin: 2 0;
}
span.noscript p {
font-family: 'Courier New', Courier, monospace;
font-size: small;
}
span.hx-target section {
border: solid 1px var(--link-color);
border-radius: 4px;
padding: 0 10;
margin: 3;
}
a {
font-family: 'Courier New', Courier, monospace;
font-size: small;
color: var(--link-color);
}
a:visited {
color: var(--visited-link-color);
text-decoration-color: var(--link-color);
}
body {
max-width: 600;
margin: auto;
font-size: medium;
font-family: sans-serif;
}
header{
display: flex;
flex-direction: column;
}
@media screen and (max-width: 600px) {
div.banner p.ascii {
font-size: 5px;
}
body {
max-width: 375px;
}
}
@media screen and (min-width: 1000px) {
div.banner {
padding: 0 auto;
}
body {
max-width: 800px;
}
}
div.banner {
background-color: lab(0 5 1 / 0.8);
width: max-content;
margin: auto;
}
div.banner p.ascii {
color: var(--banner-ascii-color);
}
nav {
display: flex;
flex-direction: row;
padding: 5px;
}
nav a {
padding: 5px;
}
p {
margin: 12 0;
}
ul.tag-list {
display: flex;
flex-direction: row;
margin: 6 0;
padding: 0;
}
li.tag-item {
list-style-type: none;
flex-basis: fit-content;
margin: 0 6;
}