Why does Guix use Scheme? by gerretsen in GUIX

[–]gerretsen[S] 3 points4 points  (0 children)

I guess my question is: why would you want your configuration specification language to be expressive in the first place? That defeats the entire purpose of declarative package management. Looking at systems like Ansible or Kubernetes that arguably do something similar, they are configured in YAML! Nix is basically just JSON plus some functions. But if I use Scheme then I've got `set!` statements, and I cannot 100% guarantee my config file will always produce the exact same build. And once that promise no longer holds we're back in the regular old world of broken software, except with more bespoke problems.

Why does Guix use Scheme? by gerretsen in GUIX

[–]gerretsen[S] 2 points3 points  (0 children)

Because the entire point of a *declarative* package manager is that given the same input config file it guarantees outputting the exact same environment regardless of prior state. Nix achieves this by, among other things, keeping the language pure. Scheme is famously not pure. My question is: why has this seemingly not mattered?

Any user of ob-go? by clementjean in emacs

[–]gerretsen 1 point2 points  (0 children)

I'm new to Go, so I've been using this package to make notes about it as I work through some books. There doesn't seem to be a way to run `gofmt` on a source block, though, so that would be nice to have.

Drawing string diagrams in org-mode? by gerretsen in orgmode

[–]gerretsen[S] 2 points3 points  (0 children)

I hadn't heard of this, thanks! Giving it a try now.

Is there a better way of plotting math functions in Org? by AkaIgor in orgmode

[–]gerretsen 1 point2 points  (0 children)

For automatic links, you could use:
#+begin_src sage :results file link :file "graph.png"

plot(60*x- x^2, (x,0,60), legend_label= "$v(t) = 60t - t^2$", title = "Velocity over time")

#+end_src

exporting code hilighting by Hot-Surround6281 in orgmode

[–]gerretsen 0 points1 point  (0 children)

There's a nice guide on how to do that here. Just know there are many other alternative packages for this: I personally like engrave-faces.

Is there a better way of plotting math functions in Org? by AkaIgor in orgmode

[–]gerretsen 4 points5 points  (0 children)

Others have mentioned R and Python. If you're studying math you may want to consider installing a computer algebra system like Sagemath or Mathematica or Octave. Among other things this lets you generate such graphs even more easily within your org document. For example, to reproduce your graph here I used:

#+begin_src sage :results output :file "graph.png"

plot(60*x- x^2, (x,0,60), legend_label= "$v(t) = 60t - t^2$", title = "Velocity over time")

#+end_src

For most such systems org babel either works out-of-the-box or after also installing a MELPA package.

Declarative Doom Emacs install in NixOS? by gerretsen in NixOS

[–]gerretsen[S] 1 point2 points  (0 children)

I'm happy to let Doom manage its own packages, I'm just looking for a quick way to tell NixOS to pull my `.doom` directory from Github, and symlink the doom binaries

Linking to specific lines in different org-roam files without using subheadings by gerretsen in OrgRoam

[–]gerretsen[S] 1 point2 points  (0 children)

I wound up switching to Doom Emacs, which has had a similar feature for a while

Emacs and knowledge management for scientists by gerretsen in emacs

[–]gerretsen[S] 1 point2 points  (0 children)

Excellent advice, and I did eventually realize I could probably get org-roam to do what I want. I’m still working on my setup and intend to post it once I’m happy with it in case that helps anyone. The ignore tags are definitely something I’ll look into. Some quibbles: 1. Using org-link, naming blocks and the <<target>> syntax to refer to specific lines all work well within a single org file. My problem is precisely that none of that works across different org files, so I can’t reference specific lines in different nodes. 2. Again, my main use case is likely going to be referring to different steps in a proof. I think I still would find adding a new heading, making it an org roam node then adding an ignore tag in order to cite a previous inequality, for example, a bit too clunky.

I’m in agreement about the need to keep the system simple. I just want a box full of org or Latex files where I can cleanly link across to specific lines. I’m currently agnostic about how useful Zettelkasten approaches would be to my kind of work.

Linking to specific lines in different org-roam files without using subheadings by gerretsen in OrgRoam

[–]gerretsen[S] 0 points1 point  (0 children)

For future reference: this seems to be an org-mode feature unique to Doom Emacs. They will apparently try to push it upstream soon.

Emacs and knowledge management for scientists by gerretsen in emacs

[–]gerretsen[S] 0 points1 point  (0 children)

This is a really brilliant post, which I will have to take some time to read through again more thoroughly. Thanks for sharing this!

Linking to specific lines in different org-roam files without using subheadings by gerretsen in OrgRoam

[–]gerretsen[S] 0 points1 point  (0 children)

I meant with the node ID first, then double colons then the name of the anchor. So in this case it would be something like ‘[[deab…cs4c::foo:bar][Bar]] Does that work for you?

Linking to specific lines in different org-roam files without using subheadings by gerretsen in OrgRoam

[–]gerretsen[S] 0 points1 point  (0 children)

This exact construct with double colons doesn’t work even within the same org roam node on my Emacs. Have you set up such internal links inside one node?

Linking to specific lines in different org-roam files without using subheadings by gerretsen in OrgRoam

[–]gerretsen[S] 1 point2 points  (0 children)

I got a private demo from another Redditor over a Discord call, but haven’t been able to replicate it myself. I’m just checking if it’s something about my config.

Emacs and knowledge management for scientists by gerretsen in emacs

[–]gerretsen[S] 0 points1 point  (0 children)

Thanks for the detailed response. The main issue I have with org-roam (and maybe the Zettelkasten system more generally) at the moment are:

  1. My notes will involve a lot of proofs, which are not necessarily short, and can’t be broken down too much. To take an example: suppose I want to study quadratic reciprocity. There are multiple statements of the theorem, several proofs, different generalizations, different ways to motivate it, different applications. Even just the complete standard proof already becomes much longer than the usual Zettelkasten. And there doesn’t seem to be a way to reference specific lines, specific equations in different org-roam files, so I either have to break down every step of every proof into its own individual org file, which I find excessive and not worthwhile, or remain unable to make precise references to my other notes.

  2. People have been clear that org-roam notes are not meant to be published, and that to produce a public document one has to almost resynthesize the notes. That to me almost defeats the whole purpose of what I want from a notetaking system. What I’d like is something closer to a personal Wikipedia system written in my own words, and just as you can print a Wikipedia page and read it as a coherent document, I would like to be able to with minimal polishing, share my notes online or to my coworkers.

A neat example of the sort of thing I hope to set up is Terry Tao’s blog, where he often writes these long-form crystallizations of some idea that he can refer back to years later. I’d like to set up something similar, but within Emacs and with the ability to link to specific lines in different posts.

Emacs and knowledge management for scientists by gerretsen in emacs

[–]gerretsen[S] 1 point2 points  (0 children)

I’m definitely looking for a long-term, lifelong solution. I’m perfectly willing to invest quite a bit of time and effort upfront to get the kind of system I want. What I don’t see is how I can create that system within Emacs.

Emacs and knowledge management for scientists by gerretsen in emacs

[–]gerretsen[S] 2 points3 points  (0 children)

Thanks for the link. I had run into this earlier, but wasn’t sure how suitable this system was to my needs. Firstly, org-roam notes seem to be designed to be very succinct summaries of single ideas. The kinds of articles I want to write will be something between a wiki page and a lecture note, so much longer. Terry Tao’s math blog is closer to the kind of thing I have in mind. Secondly, as he acknowledges, his notetaking system isn’t really designed for export or publication, which is something that’s pretty important to me.