Live data from Hacker News

Show HN: Grit – a multitree-based personal task manager

github.com

1–10 of 47 posts

Re: Show HN: Grit – a multitree-based personal task manager

#4

This looks pretty interesting! How is the data stored? Would it be difficult to sync among different machines?

Seems like it uses sqlite. Presumably it's trivial to sync using whatever file sync tool you want (Dropbox, or whatever) as long as you're fine without concurrent editing. For that you'd need application support or a more amenable data structure.

https://github.com/climech/grit/blob/master/db/db.go

Re: Show HN: Grit – a multitree-based personal task manager

#5

This looks pretty interesting! How is the data stored? Would it be difficult to sync among different machines?

Just SQLite - two tables, one for the nodes, one for edges + some fancy constraints and queries. I was tempted to make a custom binary format, but that's a big task, and it seems to work fine as it is.

As for the syncing, that would be really nice, but I haven't come up with an elegant way to do it yet. Suggestions welcome, if anyone has ideas!

Re: Show HN: Grit – a multitree-based personal task manager

#6

What's the difference between a dag and a multitree? The wikipedia article was confusing - it seems that it prevents diamond shapes? Like where 1 leads to both 2 and 3, and where 2 and 3 both lead to 4?

>prevents diamond shapes

Pretty much this, unless I'm missing something. An earlier version of the program actually used DAGs, but I found it a little underconstrained. I got pretty excited when I discovered multitrees, as it seemed to be exactly what I needed the whole time.

Re: Show HN: Grit – a multitree-based personal task manager

#7

What's the difference between a dag and a multitree? The wikipedia article was confusing - it seems that it prevents diamond shapes? Like where 1 leads to both 2 and 3, and where 2 and 3 both lead to 4?

Precisely; a multi-tree has a unique path between two nodes.

On the same note, I wonder what is the relation between dags/multitrees and semilattices. They seem to be very similar concepts afaict.

Re: Show HN: Grit – a multitree-based personal task manager

#8
post #6

What's the difference between a dag and a multitree? The wikipedia article was confusing - it seems that it prevents diamond shapes? Like where 1 leads to both 2 and 3, and where 2 and 3 both lead to 4?

>prevents diamond shapes Pretty much this, unless I'm missing something. An earlier version of the program actually used DAGs, but I found it a little underconstrained. I got pretty excited when I discovered multitrees, as it seemed to be exactly what I needed the whole time.

Why is the no diamond constraint useful here?

Re: Show HN: Grit – a multitree-based personal task manager

#10
post #8
post #6

Earlier quoted context omitted.

>prevents diamond shapes Pretty much this, unless I'm missing something. An earlier version of the program actually used DAGs, but I found it a little underconstrained. I got pretty excited when I discovered multitrees, as it seemed to be exactly what I needed the whole time.

Why is the no diamond constraint useful here?

Without it, the structure allowed the user to create a graph like this:

    [x] Task
     ├──[x] Sub-task (1)
     │   ├──[x] Sub-sub-task (2)
     │   └──[x] Sub-sub-task
     ├──[x] Sub-task (3)
     │   ├──[x] Sub-sub-task (2)
     │   └──[x] Sub-sub-task
     └──[x] Sub-task
by creating a link from (3) to (2). The tree command would actually omit the second occurrence of (2), since the algorithm visited each node just once.
Post reply on HN