reddit / emacs

I've started writing a series of articles called "Emacs for Professionals," and would be grateful for criticism.

ramin-honary-xc · 2022-05-02 05:23
ramin-honary-xc · 2022-05-02 05:31
I've already written 3 articles, I plan to post each one here on Reddit separately. The article linked in this post is the introduction. If anyone has a topic that they would like me to write about, please let me know. I have a few ideas of my own, but could always use some more ideas.
[deleted] · 2022-05-02 06:41
[deleted]
arguskay · 2022-05-02 07:08
I like it and would like to read more. especially the batch file renaming- guide was interesting. Comparing current workflow with what could be with the advantages the newer workflow brings was helpful). If i got any ideas i will let you know.
ramin-honary-xc · 2022-05-02 07:17
Thanks for taking the time to read it, and for the encouraging feedback!
perfected-oblivion · 2022-05-02 07:58
Site so clean and lean. And blog posts are right to the point. I want to read more. How did you write your site btw?
ramin-honary-xc · 2022-05-02 08:14
Thanks for the compliment! I actually write the HTML and CSS by hand for right now. I was thinking about using Org-Mode and the Org-Export function, but I didn't have quite as much control over the layout as I would have liked. I have considered using tools like [tagedit](https://melpa.org/#/tagedit ) but haven't had time to play around with them yet.
redguardtoo · 2022-05-02 08:20
cli program grep and emacs package `wgrep` is also useful.
bhrgunatha · 2022-05-02 08:26
I say this because I like the content you have so far. In my opinion, there's nothing wrong with posting here, or doing things manually, but please consider adding an rss or atom feed too. Without a static site generator or org plugin or other tool, it means extra work but I will forget to visit your site to check for new articles. It's not just me, but other people who might be interested. RSS may seem outdated to many but I am still a heavy user.
ramin-honary-xc · 2022-05-02 08:29
Many other people have asked me to implement an RSS feed as well. I haven't posted often enough to bother with RSS, but it looks like now is the time to finally implement it. I plan on using [webfeeder](https://gitlab.com/Ambrevar/emacs-webfeeder ) to do it.
bhrgunatha · 2022-05-02 08:33
That's good news. I have feeds where people only post every few months so don't let volume or frequency hold you back.
perfected-oblivion · 2022-05-02 09:15
Do you see yourself making the switch to org-export? Also, do you have the site's source code or CSS that I can copy? Besides, dark mode for that site would be awesome too.
sunnyata · 2022-05-02 09:15
Just on the style of the writing, you have many very long sentences. A sentence should ideally make *one* point. That makes the text easier to read and understand. Reading a sentence with 30 words or more, it's hard to keep track of where it began by the time you get to the end. Your opening sentence has seventy-odd words and makes something like four different points. The points it makes are related but this should really be four sentences.
karthink · 2022-05-02 09:44
Straightforward and useful, thanks. Some other common tasks that you can contrast using the shell vs Emacs for: - Find and replace across a project/bunch of files/directory - Remote editing, remote shells - programming with code + repl side-by-side (with `C-c C-z` to go back and forth) - code + documentation/man page side-by-side (especially with `scroll-other-window`) - Capturing shell output into buffers (with `shell`, `eshell` or `vterm`) for further processing - Compiling + jumping through errors - grep + jumping through matches - hex editing binary files (hexl-mode vs xxd etc)
jacmoe · 2022-05-02 09:54
I am dissatisfied by the HTML export offered by Org-mode, so I use Ox-Hugo. Highly recommended! Gives you total control over content, layout, and design. And, you can perform everything, from writing to publishing, without leaving Emacs. Highly useful site you have. Thank you! :thumbs_up:
brucegoose · 2022-05-02 10:21
I hope you don't mind if I have my say on my high horse before I climb off! For years I was confused by the comparison between Vi and Emacs. They were supposedly both text editors right? Then I discovered EXWM, where you use Emacs exclusively as the desktop environment. Vim could never do this, but as a pure editor it is perfect. On the other hand Emacs was born for this. It is beauty in motion. EXWM, a tough experience at first, while you get the configuration right, but thoroughly worth it as a user experience in productivity. You kind of understand why computers were made when you use Emacs as the window manager. And you are forced to learn the Emacs shortcuts...another way to stride forward in productivity. As a long time user, there are no distractions, except when I use a browser (other than EWW) which becomes terrible as the incongruence between modes of work is too great. Your article was good but short on technical detail. Even if you painted a few scenarios of how Emacs could be used for, say authors, actuaries, scientists, artists, etc. I was not captivated by the start. I started reading at the bottom and worked my way up. (But I'm not dyslexic!)
jplindstrom · 2022-05-02 11:33
I like the approach of "here it is in the CLI" and "here it is in Emacs". It's an approachable way, and it's also by definition pragmatic. A nice extra touch would be to add sprinkles of cool/useful commands/key bindings that are adjacent to the topic being explained.
youraveragecanuck · 2022-05-02 11:52
Nice stuff! Do you have an RSS feed so we can subscribe?
wadawalnut · 2022-05-02 12:22
Very cool! I never knew about wdired, I am looking forward to trying that for my next batch file rename.
ramin-honary-xc · 2022-05-02 12:22
> Do you see yourself making the switch to org-export? I may try doing a deep-dive into org-export customization (maybe read the Emacs Lisp source code) and see if I can get it to more precisely do what I want it to. It would make a good blog topic anyways, but for now it is not a priority.
ramin-honary-xc · 2022-05-02 12:23
Thanks for reading, and for the suggestion!
ramin-honary-xc · 2022-05-02 12:23
These are all excellent suggestions, thank you so much! Incidentally, I am a fan of your blog as well!
ramin-honary-xc · 2022-05-02 12:35
> For years I was confused by the comparison between Vi and Emacs. They were supposedly both text editors right? Yes, many of my colleagues are like this as well, and that was partially my motivation in writing this series. > Then I discovered EXWM, where you use Emacs exclusively as the desktop environment. My only problem with EXWM is that it runs in the Emacs server, and occasionally when experimenting with Emacs Lisp code, my Emacs server will hang due to a bug in my code (maybe due to an infinite loop, or a long running synchronous system call). When the Emacs server hangs, my window manager is frozen as well. I should try using it again, running in a separate Emacs process in "batch mode," that would be a good blog topic. > Your article was good but short on technical detail. Even if you painted a few scenarios of how Emacs could be used for, say authors, actuaries, scientists, artists, etc. I was not captivated by the start. I started reading at the bottom and worked my way up. (But I'm not dyslexic!) Thanks for you kind and constructive criticism! I try to go into detail, but I have set a strict limit of 1000 (±20%) words per article to make sure people can read it in 5 minutes or less. If I need to go into more technical detail, I'll write it in a separate article. That is interesting that you found the later part of the article more interesting, I was worried that it was maybe too boring and verbose. Thanks!
ramin-honary-xc · 2022-05-02 12:36
Thanks, I will add this to my list!
ramin-honary-xc · 2022-05-02 12:37
Good point, I do have trouble with run-on sentences. I will definitely keep this in mind. Thanks for the constructive criticism!
ramin-honary-xc · 2022-05-02 12:38
> A nice extra touch would be to add sprinkles of cool/useful commands/key bindings that are adjacent to the topic being explained. Thanks for the feedback! I will keep this in mind.
ramin-honary-xc · 2022-05-02 12:39
I was going to create an RSS feed using [webfeeder](https://gitlab.com/Ambrevar/emacs-webfeeder ), but I haven't got around to it yet. I have received many requests for an RSS feed, so I will probably do this before posting my next article.
Salty_Influence_5113 · 2022-05-02 13:10
Very nice. But your working flow is a little strange for me. Usualy I'm use dired only for file operations - rename, copy, delete, archive, encrypt etc. For browsing project files project.el or projectile is more quickly, comfortable and powerful than visit directories in shell or dired. Magit is the best git tool and only it can be reason to switch to emacs. It can manage all git use cases. Project now in emacs by default, and you need to add magit and lsp only to have powerful ide. And one more useful package is which-key - it shows candidates when you pressing emacs chords. Continue your job - every emacs guide matters.
ramin-honary-xc · 2022-05-02 13:16
> Also, do you have the site's source code or CSS that I can copy? It is a simple static website, so you can clone the whole site with: wget -m -k -p -L -np http://tilde.town/~ramin_hal9001/index.html Feel free to use the CSS for yourself, although it will probably change as I am still not 100% satisfied with it. I should maybe put a "creative commons" marker on each page, but my intention is for people to copy freely with attribution for non-commercial sites.
mclearc · 2022-05-02 14:04
This seems like a great series. I have written a few [blog posts](https://www.colinmclear.net/posts/) in the past that are along these lines. I have always meant to write more but haven't found the time/motivation. Karthink's list of topics is great. Find+Replace and grepping through single files and through directories I think would be especially helpful. I could also see something on using dired as file manager.
deaddyfreddy · 2022-05-02 14:50
there's also `net-utils` package (built-in), I have this in my config (use-package net-utils :ensure-system-package traceroute :bind (:map mode-specific-map :prefix-map net-utils-prefix-map :prefix "n" ("p" . ping) ("i" . ifconfig) ("w" . iwconfig) ("n" . netstat) ("a" . arp) ("r" . route) ("h" . nslookup-host) ("d" . dig) ("s" . smbclient) ("t" . traceroute))) so all network utils are available under `C-c n` - instead of `top` one can use `M-x proced` > Browsing Source Code projectile/project.el, dumb-jump, misc ag/rg wrappers
ramin-honary-xc · 2022-05-02 14:54
> For browsing project files project.el or projectile is more quickly, comfortable and powerful than visit directories in shell or dired. > Project now in emacs by default, and you need to add magit and lsp only to have powerful ide. I also use `project.el` now that it is built-in to Emacs, I even wrote my own Emacs package called [`dir-local-env`](https://github.com/RaminHAL9001/dir-local-env ) so I can make any directory a project directory, not just the directories under revision control (e.g. `.git`), although I need to work out a few more bugs in this package. I use the `project-find-file` function a hundred times every day. I could maybe write an article about how to setup this feature, since it is not enabled by default. However I still like to see the whole recursive directory listing for my project in a `dired` buffer, it helps me to visualize the whole module hierarchy of the project I am working on, and helps me to consider where to place files when I need to create new source code modules. This would be a good point to mention in the article. > Magit is the best git tool and only it can be reason to switch to emacs. It can manage all git use cases. > > .... > > And one more useful package is which-key - it shows candidates when you pressing emacs chords. Thanks for the great suggestions! Magit is such an in-depth application, it would take several articles to describe fully, but I will definitely write some articles about it. I also believe `which-key` is essential, and I hope it will become a standard package. But I could maybe add a section about it to my article on "[How to learn Emacs](http://tilde.town/~ramin_hal9001/articles/2022-04-20_best-way-to-learn-emacs.html )."
ramin-honary-xc · 2022-05-02 15:16
Thanks for the compliment! I especially enjoyed two of your articles: - [Version Control and Academic Writing](https://www.colinmclear.net/posts/versioncontrol/ ) - [Text Editors and Academic Writing](https://www.colinmclear.net/posts/texteditor/ ) This is indeed exactly the kind of content I am aiming to produce as well, except maybe more specific to Emacs. I have bookmarked your articles so I can perhaps link to them as further reading when I do my articles on Magit and LaTeX.
ramin-honary-xc · 2022-05-02 15:34
> there's also net-utils package (built-in), I have this in my config Thank you! I knew about `ping` and `ifconfig`, and this was actually already in my list of articles to write. But funnily enough, I had not yet realized that this whole set of tools was in a single package, so this is very helpful, thanks! > instead of top one can use M-x proced I didn't know about this one either, that one certainly merits it's own article. > projectile/project.el, dumb-jump, misc ag/rg wrappers Thanks, also added to my list.
[deleted] · 2022-05-02 15:57
[deleted]
LordAlveric · 2022-05-02 18:45
Your article looks good. The thing about Emacs is that it requires a lot of configuration to make it truly "sing", but you don't have to do it all at once! My latest addition is Treemacs, which is glorious. Perhaps you can go over a minimal configuration for various use cases. My configuration script has grown so large I had to split it up into multiple files just to make it easier to manage. DT puts his configuration in OrgMode, which is a sweet approach as it allows you to heavilly comment it. Keep up the good work!
mclearc · 2022-05-02 22:05
Thanks! Yeah I would like to write more Emacs specific content, especially directed to people working in the humanities. But I end up spending my free time tweaking Emacs rather than writing blog posts ;)
zelphirkaltstahl · 2022-05-02 23:09
I would definitely include Emacs' best selling points, imo: * Everything is text based, which means I can treat everything like a text I can search, copy, cut, paste, etc. This helps with so many things, compared to normal terminal emulators. * Magit * Org-mode For searching for things in files, I would include `M-x rgrep RET`. I discovered it way too late, and instead, before I discovered it, I would have started an `eshell` and ran `grep` there, which results in the same output, but is unnecessarily complicated. People these days probably will want things that other editors have configured from the start. LSP and debugging and all that stuff. Maybe do research on how to get those things running well. Test it well with clean installation. Look at what the most stable and functionally complete solution is. Do a writeup of how to get it and why that way makes sense and possibly what cool things you can do with that, which you don't get from other editors.
rgmundo524 · 2022-05-02 23:38
Oh man, I love it. I will be reading and following along with your progress. So far it looks like you are doing great work.
ramin-honary-xc · 2022-05-03 00:01
> People these days probably will want things that other editors have configured from the start. LSP and debugging and all that stuff. Maybe do research on how to get those things running well. Oh, this is a good idea, I hadn't thought of that one. LSP-mode or Eglot will probably be essential.
ramin-honary-xc · 2022-05-03 00:02
Thanks for the encouraging words! You have also reminded me to add DistroTube to my list of Emacs bloggers.
ramin-honary-xc · 2022-05-03 00:03
Thanks for you encouraging feedback!
jordonbiondo · 2022-05-03 01:15
Tilde town! Oh man I used to be in there all the time. Gotta hop back on and update the old ~. Great read btw, love seeing different perspectives on the tool.
ramin-honary-xc · 2022-05-03 03:09
Yep, tilde.town seems to be a pretty reliable place to host a small static website. And it's great to login and join their internal IRC channels, or play some of their CLI games and so on. Thanks for reading, I'm glad you liked it! I hope I can create a few more articles over the coming months.
rswgnu · 2022-05-03 03:11
Would love if you did a few posts about Hyperbole. You can try and write about one part at a time. It is meant to make Emacs easier to use and to bring out Emacs capabilities without the need for any configuration. Happy to help you get started.
The_Great_Danish · 2022-05-03 05:55
Link to their blog?
ramin-honary-xc · 2022-05-03 06:47
https://karthinks.com/
ramin-honary-xc · 2022-05-03 08:22
Hello, Mr. Wiener, pleased to meet your acquaintance! I am familiar with your work, and have seen a few of your presentations at Emacs Conf (this one from 2020 I think was the one I saw most recently: https://youtu.be/nC1eTgZE1oA ). I think I might be interested in doing some articles on Hyperbole in the near future, subject time constraints from my day job and taking care of the kids. I am ashamed to say that I have not used Hyperbole for any extended amount of time. The reason is similar to why I haven't used Doom Emacs very much, specifically that it is this relatively large monolithic Lisp package that changes the nature of Emacs and the workflows that emerge from the UI provided. While Hyperbole integrates with the default Emacs UI much better than Doom or Spacemacs does, I could tell (even in the short time that I tried it out) that it causes a similarly large shift in your way of thinking, especially with how you execute commands, and how you organize your data. Of course, I don't mean that this is a drawback to Hyperbole, on the contrary it is fascinating and would certainly be very useful. It is just that up until now I have preferred up to use the default "vanilla" GNU Emacs installation and UI to the greatest extent possible, and to see how far I can push it while only making minimal, incremental changes to the default UI. That said, I do find the idea of using Hyperbole intriguing. It might even be worthy of it's own separate series of articles, maybe in the same format as my "Emacs for Professionals" series, with short, 1000 word articles distilling simple techniques that can be applied in various day-to-day use cases. I'll send you a PM with my e-mail address, we can discuss this further if you'd like.
rswgnu · 2022-05-03 13:02
Yes, I think that is a great idea. Now Hyperbole us a global minor mode so it is easy to turn off and on. You are right it may change the way you do things day-to-day but that is part of the fun learning curve. Just install, ignore any byte-compiler warnings which don’t impact usage and type C-h h d d to try out the introductory demo or watch the videos.