logging m1.
This commit is contained in:
parent
88d0fc3642
commit
d528613fef
|
@ -0,0 +1,5 @@
|
||||||
|
Title: Milestones
|
||||||
|
|
||||||
|
The milestone pages track the work done on each milestone.
|
||||||
|
|
||||||
|
* [Milestone 1](/milestones/m1.html)
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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).
|
|
@ -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
2
today
|
@ -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}
|
||||||
|
|
Loading…
Reference in New Issue