Yarn

Recent twts in reply to #envp4vq

@lyse@lyse.isobeef.org Hey, it’s nice to hear that :D

I guess there are already many tools to do that (my brother uses one when he’s riding a bike, with fancy animations and a 3D map), but when you make your own tool, it tastes differently.

Share with us if you revive it!

⤋ Read More

@lyse@lyse.isobeef.org I also argue you can use a KV store here, but abstracting out the interface is a good idea anyway. The types of data you’re wanting to store (exercises) are more like time-series (which most use KV stores anyway).

Recommend Bitcask of course 😅 Or Badger or Bolt

⤋ Read More

@lyse@lyse.isobeef.org

Maybe long-term: OAuth/etc. But that goes against the rule of simplicity and
puts a big hole in the privacy part.

I’d recommend implementing IndieAuth. You can even test against any yarnd instance out there as they’re all valid IndieAuth providers (or one locally even)

⤋ Read More

@lyse@lyse.isobeef.org If you’re going to seriously look at Bitcask (which I use in all my projects, including yarnd) you should know some things up front:

  • Be aware of a design flaw / bug #238 whereby your program will deadlock if you attempt to do .Get()(s) inside of a .Scan() or .Fold(). This is a known problem, so avoid doing this. The work-around is to copy the keys you want to work with, then perform your operations on them separately.

With that out of the way:

Hopefully most of the information on the README will be enough to get you started and understand performance characteristics and the overall API.

Couple of additional things to note:

  • There export/dump commands to help you debug your database. As well as import/restore the other way around.

For example, I use this frequently:

$ bitcask -p ./dinofs.db dump | jq '. | map_values(@base64d)'

…continued…

⤋ Read More

  • There is also FUSE filesystem called bitcaskfs you can use to mount your database and treat it like a filesystem for debugging purposes or whatever.

  • And finally if you need High Availability or a Server<->Client model there is the builtin bitcaskd which provides a Redis-compatible API for a server/client model or the bitraft which provides Raft-based HA with a Redis-compatible API.

⤋ Read More

@lyse@lyse.isobeef.org Wow, that’s a good definition for the problem to solve. Was a pleasant surprise.
(Random story ahead) The name is pretty relatable for me since I heard that word in a Popular Mechanics magazine a few years ago about the band.

Do you have some screenshots or a quick video to watch how is it going? I know programmers are more text-based but an appealing image is always useful to share the visual idea behind it.

Something that has happened to me with FitBot is that if I leave the project in a theoretical way, only writing about it, and thinking about how to create it, I get sick of the idea. So I need some users (starting with me) to feel the product/software/service is alive.

⤋ Read More

Participate

Login to join in on this yarn.