Using Emacs Org-Mode With Databases: A getting-started guide

4 days ago (gitlab.com)

Slight off-topic, but getting organized was a lifelong struggle for me (I was the person who had a five-foot high stack of unorganized papers and crap in their locker in middle and high school), and org-mode is the only system that broke me out of that cycle. It has genuinely changed my life. It's not for everyone, but if you've been unsatisfied with everything else and keep jumping from system to system, it's worth a try. (Especially now that you can get Claude to just explain the basics of Emacs configuration to you, which wasn't the case when I started.)

  • Orgmode has been on the back of my mind forever. Ive been working on implementing a system recently. My hesitation with orgmode is that I'd like to share calendar/todo list with my non technically minded spouse and I like Vim. Any suggestions?

    • >I like Vim

      doom emacs

      >share calendar/todo

      There is org-caldav that you can point to an org file and it syncs with a caldav server. This way you can have two-way sync from e.g. a phone's calendar to your org file.

    • I have not implemented a solution to this, but it's been on my radar for a while. The two best options of which I'm aware are:

      1. Export a .ics file based on your agenda (support for this is built-in) to a shared folder to which your spouse has access (syncthing/dropbox/whatever). Your spouse would then use their calendar app to subscribe to the ics file. When you push changes to the ics file, they would automatically propagate on the calendar.

      2. Use built-in org html export features to generate a simple page showing your schedule and either host it on your local network or put it in a shared directory as described above.

      edit: sibling comment has a better suggestion (org-caldav)

    • I basically just wrote my answers in a neighboring comment, but I would try Spacemacs (default is Evil mode aka vim mode) backed with an Obsidian vault. I share a subfolder of the vault with my wife via iCloud, who can open it up on her phone and see the content and make edits in a non-techie way.

    • if you want to fall back to a less hardcore intro try spacemacs or doom emacs, very vim friendly

  • I have been interested in trying emacs for a long time (I recently found an old emacs config file of mine from 2003) but I haven't actually used it until the last few months when I gave Spacemacs another shot. Coming from vim, and having some pretty great defaults out of the box, I wouldn't suggest anyone try anything else at this point.

    That said, I'm still trying to wrap my head around how org-mode can work with my existing Obsidian vault. So far it's working pretty well, but I still feel like I'm missing some things to make it really all click together.

  • >Especially now that you can get Claude to just explain the basics of Emacs configuration to you, which wasn't the case when I started

    although also worth pointing out that Emacs often leads with the adjective self-documenting for a reason. Emacs has fantastic facilities built in to get information on virtually anything. Tutorials with C-h t, manuals with C-h r, apropos and describe- to search for any object etc. And pretty much any major extension like org has great documentation. Which btw I think is well worth reading or at least skimming to get an idea on how much you can do with it.

You can also combine this with TRAMP to work on databases you can't directly access from your local machine. E.g.:

  #+header: :dir /ssh:user@remote-host:/
  #+begin_src sql
  ..
  #+end_src

My “Poor Man’s SQL Workbench” trick is to…

    Use org-babel to execute the queries, from my “sql-queries.org” file.
    Overwrite results into a /tmp file, also an org-mode file, with latest query results (call it anything — “query-result.org”).
    Make psql spit out org-formatted tables for extra oomph.
    Keep that results file open in another buffer (or frame on a big screen, if the table is wide).
    Let Emacs auto-refresh the buffer, when it detects the file has changed.

Et voila! L’établi SQL du pauvre.

Screenshot + sample code in the gist below (a `.org` file, as befits this topic :)

https://gist.github.com/adityaathalye/a6004acd34c683bcc806b2...

I used Org Mode for all mandatory assignments [0] when I was a student, it worked super well and I could create well formatted LaTeX documents/PDFs from it as well. The supervisors were very impressed that I did my assignment in LaTeX, and I could never be bothered to correct them :-)

[0]: https://gist.github.com/sondr3/ae4eda2816cfeda7b8597ce1c48d0..., best viewed as the raw file for all the details

  • Very much this. In fact, I had made a note about earning "professor points", in my (giant) blog post [0] describing my org-mode use...

       6. Professor Points: I also get intermediate tex output for free,
          which I don't need, but may please you if you are a professor
          (or said professor's hopelessly sleep derived grad students).
    

    ---

    [0] Discussed here recently:

      Why and How I use “Org Mode” for my writing and more (2022) (evalapply.org)
      217 points by sebg | 6 months ago | 64 comments
    

    https://news.ycombinator.com/item?id=43157672

  • Kudos to you, my biggest regret nowadays was not learning how to use orgmode (and org-roam) in college. As long as you set up a proper environment and have an org-publish config you barely need to bother with verbose LaTeX documents.

    https://www.orgroam.com/

Emacs with databases without org would be interessing. I now there is sql-mode which supposedly works to connect with an inferior process but a tuorial about that would be nice