::
~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
::
::