logging m1.

This commit is contained in:
Kyle Isom 2022-02-23 23:35:27 -08:00
parent 88d0fc3642
commit d528613fef
6 changed files with 109 additions and 2 deletions

View File

@ -0,0 +1,5 @@
Title: Milestones
The milestone pages track the work done on each milestone.
* [Milestone 1](/milestones/m1.html)

View File

@ -0,0 +1,25 @@
Title: M1: Basic artifact storage
### Blobs
- [X] Proto definition for archive blobs
- [X] Database schema for archive blobs
- [X] SQL migration (using [sql-migrate](https://github.com/rubenv/sql-migrate))
- [X] Go package for archive blobs
- [ ] blob store
- [ ] syncq
- [ ] CLI tool for inserting blobs
### Artifacts
- [ ] What does an artifact look like? Develop the data model.
- [ ] Proto definitions for an archive entry
- [ ] Database schema for archive entries
- [ ] SQL migration
### Web service
- [ ] gRPC service
- [ ] HTTP backend that talks to the gRPC service
- [ ] HTML frontend with authentication
- [ ] (Bonus) CLI tool to interact with the webserver

View File

@ -1,12 +1,14 @@
Title: 20220223 Title: 20220223
Slug: 20220223 Slug: 20220223
Date: 2022-02-23 22:22 PST Date: 2022-02-23 22:22 PST
Modified: 2022-02-23 22:25 PST Modified: 2022-02-23 23:24 PST
Category: Category:
Tags: journal Tags: journal
Authors: kyle Authors: kyle
Summary: Design work on blobs. Summary: Design work on blobs.
## Blob structures
I finished writing out the basic blob database and structure types. The I finished writing out the basic blob database and structure types. The
blob was a structure like blob was a structure like
@ -30,3 +32,36 @@ type Blob struct {
r io.Reader r io.Reader
} }
``` ```
## Syncing questions
I have a problem that I'm having difficult reconciling and I'll need
to revisit. Let me try to talk my way through it: I plan on running
`exod` on my laptop, or rather, I plan on having the ability to run it
offline. However, if I want to stash something while my laptop is asleep,
that breaks. If I store the repo remotely but make local changes offline,
how do I sync it?
I think the answer to this is to set up a buffer server, something like
another sync queue. If a connection fails, I'll add a task on phobos
to keep retrying occasionally (with a daily report), this should work.
The use case I'm thinking of is adding to my exocortex from my phone
while traveling, for example. The two modes that I think will work well
with this are adding artifacts and adding quick notes.
A quick note would be a node named something like
```
quick =>
2022 =>
02 =>
23
```
The quick note function will add a new cell to the existing quick note
for the day. The idea is that I'll revisit that the next day, or at the
end of the day, and integrate those notes into the rest of the exocortex.
I'm satisfied with this approach for now.

View File

@ -0,0 +1,29 @@
Title: Milestone 1
Slug: milestone-1
Date: 2022-02-23
Modified: 2022-02-23
Category:
Tags: milestones
Authors: kyle
Summary: Describe a path to the first "deliverable."
I'm going to identify milestones for this project. A milestone should
provide an incremental, concrete step in the right direction. The end
result will be an additional way to interact with the exocortex. For
example, the first milestone is an HTTP interface for remotely adding
URLs to the exocortex.
## Goal
Build a web server that lets me stash URLs (links and PDFs, primarily) to an
artifact store.
## How do I get there?
I'll split this into three stages: first, developing the blob
data structure and management. Then I'll add in support for
artifacts. Finally, I can build out the APIs. Following the
[functional spec](/specs/functional.html), this will start with a gRPC
interface. I can build a web interface on top of this.
The work is tracked under [M1](/milestones/m1.html).

13
milestone Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh
set -eux
MILESTONE_POST="content/pages/milestones/m${1}.md"
if [ ! -e "${MILESTONE_POST}" ]
then
echo "Milestone not found."
exit 1
fi
EDITOR="${EDITOR:-gvim}"
$EDITOR "${MILESTONE_POST}"

2
today
View File

@ -4,7 +4,6 @@ set -eux
TODAY="$(date +'%Y%m%d')" TODAY="$(date +'%Y%m%d')"
DATETIME="$(date +'%F %H:%M')" DATETIME="$(date +'%F %H:%M')"
POSTPATH="content/posts/${TODAY}.md"
PUBDATE="$(date +'%F %H:%M %Z')" PUBDATE="$(date +'%F %H:%M %Z')"
TITLE="$@" TITLE="$@"
if [ -z "$TITLE" ] if [ -z "$TITLE" ]
@ -16,6 +15,7 @@ else
SLUG="$(echo ${TITLE}|tr [A-Z] [a-z]|tr ' ' '-')" SLUG="$(echo ${TITLE}|tr [A-Z] [a-z]|tr ' ' '-')"
fi fi
POSTPATH="content/posts/${SLUG}.md"
if [ ! -e "${POSTPATH}" ] if [ ! -e "${POSTPATH}" ]
then then
cat <<EOF > ${POSTPATH} cat <<EOF > ${POSTPATH}