:: ~migrev-dolseg :: dayjobs at Chorus One on the Red Horizon team. :: enjoys running and creating software and yoga and urbit and dancing and plaintext and life :: :: :: projects eyas :: browser-based text editor. winner of 2023 assembly hackathon. :: |install ~dister-migrev-dolseg %eyas :: changelog :: improve hawk-node :: handle keymap haxbuc links :: serve static assets without authentication :: so that other apps can use hawk-soil and hawk-node :: :: hawk :: a programmable interface. the successor to eyas. :: still in early development. probably vaporware. :: rrss :: Read Really Simple Syndication (and atom also, i guess) :: kinda in half-project status. i use it personally but only because i can put up with the bugs because i wrote them. :: :: blog ~2023.11.15 3-moon dev flow :: for hoon projects i use 3 moons: local dev: ~lochul-migrev-dolseg (local) testing: ~taster-migrev-dolseg (hosted) publishing: ~dister-migrev-dolseg (hosted) :: initial linking: lochul> |public %some-desk taster> |merge %some-desk ~lochul-migrev-dolseg %some-desk, =gem %init taster> |public %some-desk dister> |merge %some-desk ~taster-migrev-dolseg %some-desk, =gem %init dister> :treaty|publish %some-desk :: dev -> testing :: with ~lochul running locally taster> |merge %some-desk ~lochul-migrev-dolseg %some-desk, =gem %only-that :: testing -> prod dister> |merge %some-desk ~taster-migrev-dolseg %some-desk, =gem %only-that :: ~2023.11.14 always create a new desk :: i learned the hard way. don't put new agents into base. it makes the ship hard to upgrade. :: solution: |rein %base [| %agent] |nuke %agent :: better solution: don't put agents in base. make a new desk with |new-desk %something :: ~2023.11.13 |new-app :: |new-desk %rrss |cp /=landscape=/mar/docket-0/hoon /=rrss=/mar/docket-0/hoon |cp /=landscape=/lib/docket/hoon /=rrss=/lib/docket/hoon |cp /=landscape=/sur/docket/hoon /=rrss=/sur/docket/hoon |cp /=landscape=/mar/bill/hoon /=rrss=/mar/bill/hoon |cp /=landscape=/mar/mime/hoon /=rrss=/mar/mime/hoon |cp /=landscape=/mar/ship/hoon /=rrss=/mar/ship/hoon |cp /=landscape=/lib/dbug/hoon /=rrss=/lib/dbug/hoon :: :: do i really need default-agent? :: i'm surviving without it. :: ~2023.11.12 simplest blog generator :: :: a blog doesn't need to be complicated. :: :: a man with the willpower to avoid css :: could simply run a dojo command :: |pass [%e [%serve `/index %not-base /gen/index/hoon ~]] :: :: after putting this generator at that path :: |= [[now=@da eny=@uvJ bec=beak] ~ ~] |= [authenticated=? =request:http] :- [200 ['Content-Type' 'text/html']~] :- ~ %- as-octs:mimes:html %- crip %+ welp "<!DOCTYPE html>" %- en-xml:html ;html ;head ;title: my manifesto blog == ;body ;h1: my manifesto blog ;article ;h2: manifesto pt. 2 ;p: no seriously. ;p: i love you. == == ;article ;h2: manifesto pt. 1 ;p: i love you == == == == :: :: :: hoon glossary :: cores :: :: A core is a cell pairing operations to data. [code data] :: aka [battery payload] :: :: [ q=(map term hoon) :: a battery of arms p=type :: type of payload ] :: arms are computed against the core itself :: legs are evaluated with nock 0 arms are evaluated with nock 9 :: cores get pretty printed like: <battery payload> :: gates :: a core like [$ [sample context]] :: pretty printed it looks like < 1.mgz :: hash of $ arm [ a=@ :: sample [our=@p now=@da eny=@uvJ] <17.bny 33.ehb 14.dyd 53.vlb 77.lrt 232.oiq 51.qbt 123.zao46.hgz 1.pnw %140> ] > :: a core has... a battery which has only one arm named $ a payload of [sample context] :: sample is the argument :: ::