<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dilip's Log</title><link>http://idlip.in/</link><description>Dilip's Log</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2023-2026, Dilip | Zororg; All rights reserved.</copyright><lastBuildDate>Thu, 19 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://idlip.in/tags/emacs/rss.xml" rel="self" type="application/rss+xml"/><ttl>1440</ttl><item><title>Replenish theme - its Emacsy</title><link>http://idlip.in/posts/emacs-theme-site/</link><pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/emacs-theme-site/</guid><category>emacs</category><category>orgmode</category><description>&lt;p&gt;
With previous post on &lt;a href="http://idlip.in/posts/revamp-blog-2026"&gt;revamp my blogs&lt;/a&gt;, I finally today went ahead and upgrades the beautiful &lt;a href="https://github.com/ArthurHeymans/hugo-emacs-theme/"&gt;emacs theme made by Arthur&lt;/a&gt;, and locally forked to add goodies.&lt;/p&gt;
&lt;p&gt;
Reflecting on upgrades since beginning it has received, I&amp;#39;m strictly thinking to settle with this, as it looks good, minimal enough and modern looking, adaptive in mobile, has rss support and I can extend as I want and more than all, I can live in my editor - &lt;code class="verbatim"&gt;Emacs&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;
Initially the itch to setup own blog and personal website starting with &lt;a href="https://rudra.dev/"&gt;rudra.dev&lt;/a&gt; (may no longer be active) site which had simple blog listing made using Hugo. Then I moved to org-mode&amp;#39;s &lt;code class="verbatim"&gt;org-publish&lt;/code&gt;, and had setup replacing the same with full html and css from org. I still have the theme in another branch &lt;a href="https://github.com/idlip/idlip.github.io/tree/voyage"&gt;here&lt;/a&gt;. But again wanted to extend things and org-publish did not feel clean. So went back to hugo, was exploring plethora of theme and went ahead with &lt;a href="https://gitlab.com/rmaguiar/hugo-theme-color-your-world"&gt;Color your world&lt;/a&gt;, which looked unique giving color accent for whole page and letting user pick with choice. It had search and katex support, but later realized I dont use any of it and it loaded many JS files. Then began another hunt and was thinking of &lt;a href="https://github.com/Livour/hugo-mana-theme"&gt;Mana theme&lt;/a&gt;, which seemed cool and was active in development with new features every commit.&lt;/p&gt;
&lt;p&gt;
Right at this time, magically the &lt;a href="https://www.reddit.com/r/emacs/comments/1qtvnpl/making_my_blog_look_and_feel_like_emacs/"&gt;Emacs theme came by reddit&lt;/a&gt; and the path got clear and jumped the ship.&lt;/p&gt;
&lt;p&gt;
Enough of history, today I added some improvements to this theme in my fork and hopefully I&amp;#39;ll be doing more blogs here with as much information I can spread.
I&amp;#39;ve been enjoying reading Light novels - Apothecary Diaries and Ascendance of Bookworm, and skimming hacker news and blog posts from &lt;a href="https://www.feedbase.org/"&gt;feedbase&lt;/a&gt;, hence its time to give back and share as well.&lt;/p&gt;
&lt;hr&gt;
&lt;div class="center-block" style="text-align: center; margin-left: auto; margin-right: auto;"&gt;
&lt;p&gt;&lt;em&gt;Its not always of what you can consume, can be what you give as well.&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>OBTF as Second Brain with Org mode</title><link>http://idlip.in/posts/obtf-org-mode/</link><pubDate>Sat, 06 Sep 2025 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/obtf-org-mode/</guid><category>orgmode</category><category>emacs</category><category>pkm</category><description>
&lt;p&gt;
&lt;strong&gt;One Big Text File&lt;/strong&gt; is simply writing down mostly everything in single file to organize or manage data. This single file acts as the source of knowledge and holds all notes.&lt;/p&gt;
&lt;p&gt;
Second brain has been a buzz word, thanks to the sourcing of Zettelkasten method, every productivity freak is on the stance to organize their life and get things done.&lt;/p&gt;
&lt;p&gt;
But I soon came to the conclusion by reading many blogs and reddit discussions that, searching is far superior than organizing. On internet all we do is search for information, and not organize or build system just to get info. This is how note taking should work as well. Just for &lt;strong&gt;efficient retrieval and storage&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;
Thanks to my introduction to emacs and getting deep into rabbit hole, Org mode has been the great tool to handle plain text file as an Organization platform. Just like emacs (OS), Org mode can also be extended to endless limit (I dare say it). If emacs is OS, Org mode is for me Init system (systemd).&lt;/p&gt;
&lt;p&gt;
You can read more about my note taking journey in &lt;a href="http://idlip.in/posts/wrapup-masters"&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
This context is also written in favor to post it on r/obtf&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Org mode is the best tool for managing OBTF
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;Many popular workflow would go by simple format as bullet points with Time date and info, and regexp based searching via CLI (rg, vim, grep, sed…. bash scripts)&lt;/p&gt;
&lt;p&gt;
Org mode has many bells and whistles (features) that aid in this method. Tags, integration with commands and rich source of documentation (one of the best things of Emacs or org mode). Thanks to emacs and &lt;a href="https://protesilaos.com/"&gt;protesilaos stavrou&lt;/a&gt; I learnt how important are documentation and writing sensible notes. It means alot for future self to recognize and re-instantiate the thoughts and state.&lt;/p&gt;
&lt;p&gt;
Org mode has an &lt;code class="verbatim"&gt;datetree&lt;/code&gt; method which has file heading hierarchy in the Year &amp;gt; Month &amp;gt; Day and 4th nested heading follows any notes.&lt;/p&gt;
&lt;div class="src src-org"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-org" data-lang="org"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;* &lt;/span&gt;2022
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ** 2022-10 October
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *** 2022-10-07 Friday
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; *** 2022-10-08 Saturday
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; **** &amp;lt;&lt;span class="s"&gt;Any notes I&amp;#39;m capturing&lt;/span&gt;&amp;gt; :tag1:tag2:&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
This gives out the leverage of journaling, but also a lazy man&amp;#39;s organization. I use tagging extensively to most of the (4th) heading based on context so as to narrow down to filter.&lt;/p&gt;
&lt;div class="src src-org"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-org" data-lang="org"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; # learning notes --- l@
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; #+tags: l@coding l@emacs l@bioinfo l@nix l@bash l@julia l@rstats l@python l@devnote l@latex l@til
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; # generic notes to remember or readme --- n@
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; #+tags: n@linux n@shell n@cli n@book n@idea
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; # projects --- p@
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; #+tags: p@webcli p@cyanate p@scitomep&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;These tag help to categorize the heading in some (lazy) way&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Org mode has &lt;code class="verbatim"&gt;org-sparse-tree&lt;/code&gt; bound to &lt;code class="verbatim"&gt;C-c /&lt;/code&gt; which helps to narrow down based on tag or property. Also another emacs package &lt;code class="verbatim"&gt;consult&lt;/code&gt; helps to take it up further via &lt;code class="verbatim"&gt;consult-line&lt;/code&gt; and &lt;code class="verbatim"&gt;consult-org-heading&lt;/code&gt; along with &lt;code class="verbatim"&gt;org-ql&lt;/code&gt; package. Org mode also has &lt;code class="verbatim"&gt;#+select_tags&lt;/code&gt; to export headings to file.&lt;/p&gt;
&lt;div class="src src-org"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-org" data-lang="org"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; #+select_tags: r@book&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
With that we can &lt;code class="verbatim"&gt;C-c C-e&lt;/code&gt; (org-export-dispatch) and press &amp;#34;O O&amp;#34; (make sure org is in org-export-backends) to get temporary Org buffer only with those heading.
This logically acts as an individual file with that tag/category, thus being atomic in my sense. Org-sparse-tree might also be same.&lt;/p&gt;
&lt;p&gt;
—-&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
Key takeaways
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;p&gt;
whatever the system or the tool is, the main takeaways every resource provides is to review the notes and write it for future self. Every capture is to review back and make the fleeting note into and rich information.
This OBTF with org mode satisfies that needs given that user reviews the notes and visits back to digest it again.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>My MSc journey with Emacs Orgmode</title><link>http://idlip.in/posts/masters-emacs-orgmode/</link><pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/masters-emacs-orgmode/</guid><category>bioinformatics</category><category>emacs</category><category>pkm</category><description>
&lt;p&gt;
&lt;strong&gt;I wrote and used emacs orgmode for all of my post-grad Masters classes, presentations, projects and thesis.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
Before post-grad itself I was introduced to Emacs world and enjoyed getting good with it. As I used it, I realized emacs is not just an text editor, its an Personal Development Environment itself and user has power to craft it as they need. This was a worthwhile investment.&lt;/p&gt;
&lt;p&gt;
My initial plan when I started Masters (Bioinformatics) was to fully stay organized and be productive. I was a freak at this, I was reading up many blogs and digesting discussion on being productive. I even read books such as,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Getting things Done &lt;/li&gt;
&lt;li&gt;How to Smart notes by Sonke Ahrens
Introduces on Zettelkasten note-taking system. Although hyped up, I believe system does not function as brain.&lt;/li&gt;
&lt;li&gt;Deep Work by Cal Newport
Insights on focused working and being distraction-less.&lt;/li&gt;
&lt;li&gt;Second Brain by Tiago Forte
Again, whole thing about Zettelkasten. Popularized the term &amp;#34;Second brain&amp;#34; itself.&lt;/li&gt;
&lt;li&gt;Atomic Habits by James Clear
Mentions on starting habits in small steps.&lt;/li&gt;
&lt;li&gt;A system for Writing by Bob Doto
Latest book, emphasis on above all books and zettelkasten.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I could have been an normie student like others and be at ease, but why did I choose to burden with Emacs and Orgmode..?&lt;/p&gt;
&lt;p&gt;
I valued investment and growth. I could see the development and learning of skills compared to working with traditional GUI applications.&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Note taking
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;Note-taking is understandable, its just format of text to store and read. And org-mode was superior and helped me alot.
I later on embraced single big org file, and started using tags heavily with context based tagging.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;t -&amp;gt; task; t@shop t@meeting t@work&lt;/li&gt;
&lt;li&gt;p -&amp;gt; project; p@plan p@lncrna p@thesis&lt;/li&gt;
&lt;li&gt;l -&amp;gt; learn; l@nix l@python&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So on which really helps with narrowing using consult package and org-ql for querying. I eventually formed my own second brain with org mode like an zettelkasten system. This became my personal knowledge management (PKM) as well which empowered me to stay organized.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
Reports/Doc
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;p&gt;Org mode can produce pdf via latex or ODT/docx format. That eventually guided me for submission of assignments and documents for sharing.
Although it was an hassle to get formatting correct as they instructed, where as others just did them in breeze via M$ word and AI crap generated.&lt;/p&gt;
&lt;p&gt;
Although there was not much work with reports, I had good workflow of storing notes and working with integration and stayed organized.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-3" class="outline-2"&gt;
&lt;h2 id="headline-3"&gt;
Presentations
&lt;/h2&gt;
&lt;div id="outline-text-headline-3" class="outline-text-2"&gt;
&lt;p&gt;I thought to give presentations in Emacs editor itself, but that did not make the cut for required normie friendly slides. The magically I came across revealJS and observed many people in tech presentations and talks used them. There was active development of org-reveal package as well, in new form from OER gitlab repo.&lt;/p&gt;
&lt;p&gt;
This workflow was definitely more painful, to get as they expect. The default works, but tweaking were more. But revealjs and org package provided many options and it sufficed for completing the setup along with power of HTML and CSS.&lt;/p&gt;
&lt;p&gt;
I had local.scss file for color and designing slides, and org generated html files.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-4" class="outline-2"&gt;
&lt;h2 id="headline-4"&gt;
Thesis
&lt;/h2&gt;
&lt;div id="outline-text-headline-4" class="outline-text-2"&gt;
&lt;p&gt;The final saga of the journey, since thesis takes time to write, I thought to not bother with complicating this task. My initial thought was to either use Latex, if it was too much headache then simply follow given docx format file and write.
Thankfully there was another player getting really popular, a new typesetting &amp;#34;Typst&amp;#34;. It did the magic and wonders.&lt;/p&gt;
&lt;p&gt;
The syntax and process was very robust and simple. The documentation was standard and was simple enough to grasp and tweak everything. And here was well someone had made basic org export support for typst format. Although IMHO typst syntax is so easy to understand and I loved to write and learn the syntax. Workflow was bliss with it, I wonder why I did not discover it earlier. Maybe I&amp;#39;m not a mathematician to have it for demand, but it was a good skill to have it in my hands.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-5" class="outline-2"&gt;
&lt;h2 id="headline-5"&gt;
Conclusion
&lt;/h2&gt;
&lt;div id="outline-text-headline-5" class="outline-text-2"&gt;
&lt;p&gt;
The main draw from this experience was that investing in tools that allow extending and allow programming to customize and tweak as I require was a major win and good rewards. These were added up skills that makes working with related tasks a breeze ahead.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Using Gnus to read rss feeds</title><link>http://idlip.in/posts/gnus-joy/</link><pubDate>Sun, 10 Mar 2024 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/gnus-joy/</guid><category>gnus</category><category>emacs</category><description>
&lt;p&gt;
Emacs is my editor, and my companion for most of my tasks. Yes, I&amp;#39;d like to call it a second brain extension.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m a rss feed user, to read with coziness, freedom and comfort. Lately I have been experiment with the rss readers choice in Emacs. I feel that &lt;code class="verbatim"&gt;gnus&lt;/code&gt;, the powerhouse in Emacs is one of the good choice. I mean to say, not with &lt;code class="verbatim"&gt;nnrss&lt;/code&gt; backend, but with rss to nntp gateway.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m using &lt;code class="verbatim"&gt;elfeed&lt;/code&gt; as the rss reader for over 6 months. I even setup my phone to use emacs app to read news in sync with PC using syncthing. And it worked as expected flawlessly. But elfeed is unmaintained, but it works without any issues tho. By time someone may fork it, looking at how much love it has. This then lead to me try other ways in Emacs, as I was kinda leaning towards keeping Emacs as close to vanilla as possible. Recently I also replaced &lt;code class="verbatim"&gt;flycheck&lt;/code&gt; with built-in &lt;code class="verbatim"&gt;flymake&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;
Soon I jotted down only 3 candidate for reading feeds. Elfeed, Newsticker &amp;amp; gnus. Later two are built-in. There might be others as well, like wanderlust, org based.., but when I tried ig it did not work.&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Elfeed
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;As said earlier, it was my choice for about 6+ months, and it worked really well. Was reading and tagging feeds alot. Although with my rss usage, I realized I was only looking forward for the &lt;strong&gt;planet emacs&lt;/strong&gt; feeds (haha; typical emacser).&lt;/p&gt;
&lt;p&gt;
It is good with not much issues, except that its database directory is kinda not intuitive for manual edits, and the files are scattered with some random ids. So you dont know where a feed post is located.&lt;/p&gt;
&lt;p&gt;
It is still my recommend way to go with the package that just works well. But being into more emacs, I needed little more.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
Newsticker
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;p&gt;Firstly, liked the customization it has, and the tree-view how it appeals. But I hit the road blocks very soon. Tree-view was an issue, I need to read each post in single window and navigate to my leisure. I miss tags here. For everytime I launch, &lt;code class="verbatim"&gt;newsticker-treeview&lt;/code&gt; it fetches the articles from feed. That blocks my usage sometimes. Even tho I can keep &lt;code class="verbatim"&gt;newsticker-retrieval-interval&lt;/code&gt; to 0, it still fetches when launched with command for first time.&lt;/p&gt;
&lt;p&gt;
With plain view you can filter for feeds very much. With tree view you cannot occupy single widow to read the post.&lt;/p&gt;
&lt;p&gt;
Anyway, newsticker is also good, as it is built-in and does just work.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-3" class="outline-2"&gt;
&lt;h2 id="headline-3"&gt;
gnus
&lt;/h2&gt;
&lt;div id="outline-text-headline-3" class="outline-text-2"&gt;
&lt;ul&gt;
&lt;li&gt;I panicked when I came to gnus. Its my..idk.. n&lt;sup&gt;th&lt;/sup&gt; time trying it out again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But with little more dedication than last time, I sat down to read the manual.&lt;/p&gt;
&lt;p&gt;
Soon I realized, how did I miss reading such a marvelous manual before. Although still I was not able to wrap my head, I some how managed only yo grasp what I wanted for the time being. Note, gnus is a usenet reader, so it can be preferred for mails, but my goal for now is rss feeds.&lt;/p&gt;
&lt;p&gt;
I saw there is &lt;code class="verbatim"&gt;nnrss&lt;/code&gt; backends, it is kinda same as newsticker, the road-block is the not being async to fetch the feeds.
So if more feeds, it blocks the emacs very much.&lt;/p&gt;
&lt;p&gt;
Soon I came to another way of reading rss as newsgroup via rss to nntp gateway. I&amp;#39;m using &lt;code class="verbatim"&gt;gwene&lt;/code&gt; and &lt;code class="verbatim"&gt;feedbase&lt;/code&gt; for it, and it gets me most of the feeds in newsgroup format.&lt;/p&gt;
&lt;p&gt;
Its my first time reading at newsgroup, and I feel amazed and appreciate how simply and focused this UI is. I have started to enjoy reading mailing lists and follow up stuffs in a unified and good way.&lt;/p&gt;
&lt;p&gt;
Although you may find some cons with this way, offline is possible and can download any number of articles/posts. Which is mega-bonus. I download 5k+ articles from a feed, which might be not possible with plain rss feeds.&lt;/p&gt;
&lt;p&gt;
The reading in gnus has been a joy, and I would to add more write-ups on it. Yes, I want to write and hope to make some people try it as I feel it. Cause whatever search you do on gnus emacs, people silence and make you use other package. I know I may also hit their issues and end, and realize what they mean. But at the time of writing, I really enjoy it.&lt;/p&gt;
&lt;p&gt;
And, it was very easy to me use gnus in sync with android emacs too via syncthing of just one file &lt;code class="verbatim"&gt;newsrc.eld&lt;/code&gt;, and if downloading any articles, its will be added to &lt;code class="verbatim"&gt;gnus-directory&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;
Finally to say, gnus will be my choice of reading from now. I hope I don&amp;#39;t fall into the rabbit hole of gnus now, I just hope to use as is and enjoy reading the content.
I would like to link my dotfiles for it, maybe will soon add more write-up on it. For now here you go; &lt;a href="https://www.github.com/idlip/d-nix"&gt;check d-setup.org&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Emacs on Droid</title><link>http://idlip.in/posts/emacs-droid/</link><pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/emacs-droid/</guid><category>emacs</category><category>android</category><description>&lt;p&gt;
Emacs is a definite Greatest editor of all time, the extensibility power is unmatched with any other software. Users of Emacs can only know what it is, one who has not used it may not really understand the principles and power it gives us, the users.&lt;/p&gt;
&lt;p&gt;
Once settled with it on PC, its not late to think of something similar for our handy pocket phones, at least support for &lt;strong&gt;org-mode&lt;/strong&gt; so we organize our life. The research leads us to find apps, and its unfortunate that market has lots of apps supporting markdown, just for its markup. Even org-mode is good for markup only, Karl voit&amp;#39;s &lt;a href="https://karl-voit.at/2017/09/23/orgmode-as-markup-only/"&gt;post&lt;/a&gt; explains it very well.&lt;/p&gt;
&lt;p&gt;
Finally we have some apps for org-mode, namely on Android &lt;a href="https://github.com/orgzly/orgzly-android"&gt;Orgzly&lt;/a&gt; (maintained: &lt;a href="https://github.com/orgzly-revived/orgzly-android-revived"&gt;orgzly-revived&lt;/a&gt;), Orgro (read-only app) and there is &lt;a href="https://organice.200ok.ch/"&gt;Organice&lt;/a&gt; (PWA site, unique, supports desktop).
Surprisingly IOS has many apps for org-mode, namely &lt;a href="https://beorgapp.com/"&gt;beorg&lt;/a&gt; and &lt;a href="https://plainorg.com/"&gt;plain org&lt;/a&gt; (I dont use IOS, so please search app store).&lt;/p&gt;
&lt;p&gt;
New project under development &lt;a href="https://github.com/Artawower/orgnote-client"&gt;OrgNote&lt;/a&gt; also looks promising.&lt;/p&gt;
&lt;p&gt;
But it was near February, 2023, that Po Lu, one of the Emacs developer, started and released support for touch-screen devices (including Android) and to our surprise it was &lt;strong&gt;the graphical Emacs&lt;/strong&gt;, available now on Android. But before trying the first doubts and cons expected was that it does not work well with virtual keyboard, so only good option is to carry physical keyboard everywhere?
That could be solved by getting adjusted to keyboard app called &amp;#34;Hackers Keyboard&amp;#34; (TODO link).&lt;/p&gt;
&lt;p&gt;
But as I dug deep, the developer Po Lu, was on telegram channel in disguise, as I pointed that emacs android needed android&amp;#39;s share feature (like open-with) to other people, he had seen it and implemented is very quickly. It shows how much of an interesting take-up it is.&lt;/p&gt;
&lt;p&gt;
Orgzly actually satisfied org-mode and agenda things with help of syncthing over org directory. But the next bummer came when I fell in love with &lt;a href="https://github.com/skeeto/elfeed"&gt;Elfeed&lt;/a&gt; (RSS reader) and badly wanted to read feeds in sync with my phone. Since Emacs officially made its way for Android, so why not open some doors, indeed it did gave the power of emacs-lisp!&lt;/p&gt;
&lt;p&gt;
Initially I started with bare-bone config, and later tried to incorporate my PC config with android, and it was easy, without much hassle. Just had to define a constant to check if system is on Linux or Android, and use the keyword in condition statements and &lt;code class="verbatim"&gt;use-package&lt;/code&gt;. Next thought would be to use Unix tools/commands, so it only leads to Termux, and after few days, the developer released Termux signed apk to use in conjunction with emacs, so as to leverage the command line utilities in Android emacs too, namely &lt;code&gt;ripgrep&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt;. I have not tried &lt;code&gt;image-magick&lt;/code&gt;, &lt;code&gt;mupdf&lt;/code&gt; for &lt;code class="verbatim"&gt;pdf-tools&lt;/code&gt;. But frankly &lt;a href="https://github.com/foobnix/LibreraReader"&gt;Librera reader&lt;/a&gt; is good enough.&lt;/p&gt;
&lt;p&gt;
Here is a &lt;a href="https://marek-g.github.io/posts/tips_and_tricks/emacs_on_android/"&gt;blog post&lt;/a&gt; by marek-g explaining how termux is modified to use with Emacs&lt;/p&gt;
&lt;p&gt;
Note: Fdroid emacs apk lacks some support like GnuTLS (so won&amp;#39;t be able to install package or use eww), thus the only source to get emacs builds for Android is &lt;a href="https://sourceforge.net/projects/android-ports-for-gnu-emacs"&gt;https://sourceforge.net/projects/android-ports-for-gnu-emacs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
For anyone trying it out again or newly, please make sure you go through &lt;code class="verbatim"&gt;C-h R android&lt;/code&gt; or &lt;code class="verbatim"&gt;C-h r m android&lt;/code&gt; for frequent issues or things to know for Android build. For any queries to me, please feel free to open up an issue over this &lt;a href="https://github.com/idlip/d-nix"&gt;repo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Overall with setting only few variables for android specifically, I replicated almost same emacs config on Android. The definite org-mode reader, read Elfeed feeds in sync with PC, whatever emacs packages you use.&lt;/p&gt;
&lt;p&gt;
Config just for android exclusively:&lt;/p&gt;
&lt;div class="src src-emacs-lisp"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-emacs-lisp" data-lang="emacs-lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; define constant to check if system is android&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defconst&lt;/span&gt; &lt;span class="nv"&gt;d/on-droid&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;eq&lt;/span&gt; &lt;span class="nv"&gt;system-type&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;android&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; if system is android, executes following code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;when&lt;/span&gt; &lt;span class="nv"&gt;d/on-droid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;custom-set-variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;touch-screen-precision-scroll&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;;; smooth scrolling&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;touch-screen-display-keyboard&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; ^ display virtual keyboard when touch on phone screen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; does not work on read-only buffer (dashboard, startup..)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;browse-url-android-share&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;;; open links/urls with android&amp;#39;s open-with or share kinda popup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;d/key-droid&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;To enable touch screen keyboard&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;interactive&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;frame-toggle-on-screen-keyboard&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;selected-frame&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="no"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
I&amp;#39;m not sure how suitable it is for coding environment (with lsp and complexities), but it behaves as expected for reading purpose and for quick note taking. I should probably say, it excels in that segment.&lt;/p&gt;</description></item><item><title>Emacs Efficiency</title><link>http://idlip.in/posts/emacs-keys/</link><pubDate>Wed, 29 Mar 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/emacs-keys/</guid><category>cheatsheet</category><category>emacs</category><description>&lt;p&gt;
This is straight away from &lt;a href="https://github.com/VernonGrant/discovering-emacs"&gt;VernonGrant&lt;/a&gt; who hosts a podcast for Emacs called &amp;#34;&lt;a href="https://www.discovering-emacs.com/"&gt;Discovering-Emacs&lt;/a&gt;&amp;#34;.
It&amp;#39;s a great and has very much professional vibes, the explanations are Crisp and Clear!
I suggest you to check out, he even has made &lt;a href="https://www.youtube.com/@discoveringemacs"&gt;YouTube channel&lt;/a&gt; for it.&lt;/p&gt;
&lt;p&gt;
I have removed some of the common bindings from this table, I have retained some unique one&amp;#39;s which isn&amp;#39;t discovered generally. I guess that is why the name is made (lol)&lt;/p&gt;
&lt;p&gt;
I just wanted to have a cheatsheet for it, so I decided to leave it as a post here.&lt;/p&gt;
&lt;p&gt;
You can checkout the source here ⟾ &lt;a href="https://github.com/VernonGrant/emacs-keyboard-shortcuts"&gt;https://github.com/VernonGrant/emacs-keyboard-shortcuts&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/VernonGrant/discovering-emacs"&gt;https://github.com/VernonGrant/discovering-emacs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>NixOS : Reproducible - Immutable</title><link>http://idlip.in/posts/try-nixos/</link><pubDate>Thu, 23 Mar 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/try-nixos/</guid><category>emacs</category><category>nixos</category><description>
&lt;hr&gt;
&lt;p&gt;
Introduction part, you would better have read it on official nixos site (&lt;a href="https://nixos.org"&gt;https://nixos.org&lt;/a&gt;)&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
&amp;#34;Should you try NixOS?&amp;#34; ❄️
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;
Here&amp;#39;s an answer from a non-programmer, who just browses and watches media.
Just don&amp;#39;t, if you are looking for small benefit. &lt;strong&gt;Don&amp;#39;t!&lt;/strong&gt;
regret having hard time to figure out petty things, again forget about error, you cannot even search in web.&lt;/p&gt;
&lt;p&gt;
But, if you have decided, go with it. According to me (non-programmer), these points are good to consider NixOS&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You use Emacs (lol), &lt;strong&gt;Emacs&lt;/strong&gt; ❤️ &lt;strong&gt;Nix&lt;/strong&gt; is Match made in Heaven.&lt;/li&gt;
&lt;li&gt;You want to declare stuffs and get same output, and forget what all you setup, cause its all declared in config.&lt;/li&gt;
&lt;li&gt;You want an isolated environments (shell) to do some stuffs without involving whole system.&lt;/li&gt;
&lt;li&gt;You want to stop troubleshooting and breaking update and are lazy to backup, and want to rollback with ease like with just a reboot.&lt;/li&gt;
&lt;li&gt;You want to say I use &lt;strong&gt;Nixos Btw&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You don&amp;#39;t want to worry about breaking your system nor fix something when you are updating system.&lt;/li&gt;
&lt;li&gt;You are willing to learn (advanced) things and fine with steep learning curve.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-2" class="outline-2"&gt;
&lt;h2 id="headline-2"&gt;
How I manage my system 🌲
&lt;/h2&gt;
&lt;div id="outline-text-headline-2" class="outline-text-2"&gt;
&lt;p&gt;
I manage my whole system with single org file. Its easy and pretty handy. You can read that file here &lt;strong&gt;↬&lt;/strong&gt; &lt;a href="https://github.com/idlip/d-nix/blob/onepiece/d-setup.org"&gt;d-setup.org&lt;/a&gt; , its both self documenting and has all source code blocks.&lt;/p&gt;
&lt;p&gt;
Another key feature in my setup is, every file i tangle is at &lt;strong&gt;read-only mode&lt;/strong&gt;. So generally we can avoid editing/touching them. Thus, every action has to be made in &lt;strong&gt;d-setup.org&lt;/strong&gt; only.&lt;/p&gt;
&lt;p&gt;
Also, I have made files to be &lt;strong&gt;symlink&lt;/strong&gt;, so i can edit them without requiring to rebuild whole thing!&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-headline-3" class="outline-2"&gt;
&lt;h2 id="headline-3"&gt;
Credits 🎖️
&lt;/h2&gt;
&lt;div id="outline-text-headline-3" class="outline-text-2"&gt;
&lt;p&gt;
These configs were the inspiration and helped to build this way.&lt;/p&gt;
&lt;p&gt;
I thank them sincerely.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://github.com/Iron-Shark/Technonomicon"&gt;Iron Shark&lt;/a&gt; &lt;strong&gt;⟹&lt;/strong&gt; Made migrating to Single org-file config very easy.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://github.com/sioodmy/dotfiles"&gt;Sioodmy&lt;/a&gt; &lt;strong&gt;⟹&lt;/strong&gt; First config which I understand thoroughly and modified based on this.&lt;/p&gt;
&lt;hr&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Emacs is OP</title><link>http://idlip.in/posts/emacs-goat/</link><pubDate>Wed, 22 Mar 2023 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/emacs-goat/</guid><category>snippets</category><category>emacs</category><category>vim</category><description>&lt;p&gt;
Before anyone shouts vim, let me &lt;code&gt;:q!&lt;/code&gt;
I was a vimmer for a year, I played and had a good basic config. Even after an year, I didn&amp;#39;t grasp the full potential of vim, it was just handy to use &lt;code class="verbatim"&gt;hjkl&lt;/code&gt; to move around.&lt;/p&gt;
&lt;p&gt;
But When I&amp;#39;m learning Emacs, the experience is immense, it defines how things are meant and the legacy of Emacs for 40 years, is not a joke.&lt;/p&gt;
&lt;p&gt;
I cannot just rant to make people ditch vim for Emacs, But once you understand you will realize, that is why people went and made &lt;code&gt;evil&lt;/code&gt; mode to emulate Vi layer (vim 100%).&lt;/p&gt;
&lt;p&gt;
Now they get the &lt;strong&gt;Best&lt;/strong&gt; of both the World!&lt;/p&gt;
&lt;p&gt;
Nonetheless, Emacs is the &lt;strong&gt;GOAT&lt;/strong&gt; !&lt;/p&gt;</description></item></channel></rss>