**beep ** bop.

  • 17 Posts
  • 184 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle










  • the issues related to that macro still exist, but the author seemed to call it out and link to an article about it (which doesn’t seem disingenuous at all to me).

    That’s fair, I stand corrected and I overreacted a bit.

    I stumbled on the unintended cancellation a few times, but I’m used to select! paradigm from the other languages (and not used to how differently it behaves). I suppose I just expect the examples of its usage to be explicit and actually show what it takes to make select! behave in a way that doesn’t abruptly drop your async function after only going though half of it.


  • What I find slightly dishonest is bits like

    This way of using select in a loop could potentially cause issues regarding cancellation of futures (although in this case it’s fine)

    The select example is pretty straightforward and comparable to such in other languages, even to Go’s switching on channels. But rust hides an extra bit of complexity with the cancellation concerns that people don’t want to talk about unless absolutely necessary, and it is necessary in so many cases!



  • Seq is expecting structured logs which yours aren’t. So you want to either convert your app’s logs into a structured format (which is generally hard for a random third-party application) or use a log collector that’s fine with non-structured logs (e.g. Loki+grafana don’t care about the shape is your logs and you can format the output while querying).




  • It’s reasonably doable, I migrated a while ago after logseq decided to destroy my data once again.

    I’d say obsidian is not really any more a walled garden than logseq is―the storage is a rather common markdown. If anything, obsidian abuses commonmark less. It’s way better as a product, though and it’s experience is rock solid.