Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Obsidian is great. I'm a paying supporter (catalyst and sync).

Weirdly I started playing with Emacs + org-mode recently (never been an Emacs user before!) and I'm seriously considering making it my exclusive "second brain".

Something about org-mode, org-babel, org-jupyter, org-agenda and org-roam that just clicks with me.



Paying user here too, big fan. I've had several adventures with Emacs (mostly vanilla, some Doom), but always find myself returning to (Neo)vim due to performance and the perceived Windows-hostility of the project.

I mention this because I, too, fell in love with org-mode and magit, and for a while I kept using Emacs only for those tools. Org quickly became a cornerstone of my workflow and made it easy to separate notes and tasks for different clients. I think Obsidian leaves maybe a bit much up to our imagination, but that's part of the beauty of it, imo

Currently sticking Obsidian (because it's discoverable, fast and extensible) and Neovim (only because Emacs is too antiquated)


Emacs is so customisable that as soon as I want to customise anything, I get lost searching for solutions online and inevitably give up on using Emacs altogether.


I think the biggest problem with Emacs is that you cannot really make sense of a lot of stuff until you start programming elisp in anger. I tried for many years to copy and paste snippets etc, but now I realised you just need to bite the bullet and learn it like any other programming language and be prepared to do "real development" in Emacs. Its very difficult to be a "tourist" in Emacs, IMHO, a lot of things just don't make sense until you became more of a elisp programmer.


> Its very difficult to be a "tourist" in Emacs

Exactly. Ironically, Emacs is also the place where transition from tourist to resident is the smoothest. You can stray writing and evaluating Elisp practically anywhere. (Almost) Everything is programmable via Elisp, everything is documented in excruciating detail, learning about any system attribute is two keychords away, there are debugging and profiling tools built in, and source code for very built in thing is available. If the target is to make average Joe into a programmer with least effort, things don't get much better than this.


Couldn’t agree more. I used to get annoyed that I had to copy and paste code snippets that I found over the Web just to configure basic stuff. It got out of control pretty quickly. Now I understood that Emacs is supposed to be used by programming it. Turns out it was meant to be a feature, not a bug.


I'd go further and say that computers are supposed to be used by programming them.


Emacs is fantastic for Yak Shaving. You can spend hours or days tweaking and modifying its configuration files if you're not careful.

My advice for those seeking to get into Emacs: start from scratch. Learn how to split your custom.el from your init.el, and make sure you're using git to manage those files. Then start slowly and install org-mode from source and go from there:

   8   │ ;; Save customizations in a different file.  Prevents this file being
   9   │ ;; modified by Emacs.
  10   │ ;;; Code:
  11   │ (setq custom-file (expand-file-name "custom.el" user-emacs-directory))
  12   │ (when (file-exists-p custom-file)
  13   │   (load custom-file))
  14   │ 
  15   │ ;; Before anything else, orgmode:
  16   │ (add-to-list 'load-path "~/.orgsrc/org-9.4/lisp")
  17   │ (require 'org-loaddefs)
  18   │ 
  19   │ ;; First off, we need MELPA and the org-mode repo:
  20   │ (require 'package)
  21   │ (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
  22   │ (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
  23   │ (package-initialize)


And some more snippets since I'm copying and pasting already. (I'm using "bat" to view files. Get it from https://github.com/sharkdp/bat )

  40   │ ;; Taken from https://karl-voit.at/2017/02/11/my-system-is-foobar/
  53   │ ;; Check if system is GNU/Linux
  54   │ (defun my-system-type-is-gnu ()
  55   │   "Return non-nil if system is GNU/Linux-based."
  56   │   (string-equal system-type "gnu/linux")
  57   │   )
  59   │ ;; make Linux a bit more mac-like
  60   │ (when (my-system-type-is-gnu)
  61   │   (global-set-key (kbd "s-/") 'comment-or-uncomment-region-or-line)
  62   │   (global-set-key (kbd "s-<backspace>") '(lambda () (interactive) (kill-line 0)))
  64   │   )


 362   │ (defun newer-than-7-days(file)
 363   │   "Return list of files newer than 7 days old in directory FILE."
 364   │   (> 7
 365   │     (/(float-time(time-subtract
 366   │                    (current-time)
 367   │                    (nth 5 (file-attributes file))))
 368   │       86400)))
 407   │   (setq org-agenda-files
 408   │     (seq-filter #'newer-than-7-days
 409   │       (directory-files-recursively "~/Org/Journal" "\\.org$")))
Yes, Emacs is an operating system that also edits text :)


That is true.

I use emacs-mac with spacemacs which works pretty well out of the box. What I try to do, to not go into the "hacking Emacs" rabbit hole, is to really avoid tweaking it unless something is really interfering with my workflow.


If you enjoy working in org-mode, you should definitely check out logseq: https://logseq.com/


What's org-jupyter? Search engines didn't help me there. I'm interested in any jupyter related tools.


Typo, sorry. I meant org-babel + emacs-jupyter.


emacs-jupyter




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: