Below you will find pages that utilize the taxonomy term “blog”
Posts
A Note Of X Where X = "Debugging Org's Overwritten Variables"
To debug org related bug, org-reload reloads all lisp files in ~/.emacs.d/.local/straight/repos/org/. Reloading config.el files should inform you what information has been overwritten. If you use Doom Emacs and modify either package.el or init.el, you must run doom sync in your terminal (outside of emacs), then consequently run doom/reload inside Doom Emacs for modification to correctly take effect.
It is important to note that you should always make sure to set custom-variables — variables declared by defcustom — using custom-set-variables.
Posts
A Note On X Where X = "adding jump state to command."
“Adding jump state to command.” implies that position ((point)) that the added command is evaluated is added to jump state. In the other word, you can get back to (point) that you executed the command by using (better-jumper-jump-forward).
I was trying to add “jump state” to (+spell/previous-error) and +spell/next-error.
Note that +spell prefix means this command is provided by a Doom’s module. From a quick glance into the code, it is clear that — just like other Doom’s module — it implements branching condition to allow fallback behavior based on context such as current mode or available packages.
Posts
A Note On X Where X = "Emac's Combobulate Package"
Lets inspect combobulate-navigate-previous by step into the function.
The following functions are called in order:
combobulate-navigate-previous combobulate--move-point-to-node responsible for display and move node. (combobulate--navigate 'previous) pass previuos to combobulate--navigate combobulate--nav-get-prev-sibling get sibling node by query its parents node and get all of its nodes. sibling nodes are arrange in order, so getting previous or next siblings nodes is easy. combobulate--nav-get-sibling-nodes outputs list of nodes seq filter check for matched node.
Posts
A Note on X where X = "LSP + flycheck + lsp-pyright"
History of edit
Last edit is <2022-11-28 Mon>. There are 3 components to pay attention to including: conda.el, lsp-pyright, and flycheck.
First, conda.el allows user to activate conda env from within Emacs. Users can check conda.el by checking conda-env-home-directory, conda-env-current-name, and conda-env-current-path.
Second, LSP is language server a general concept outside of Emacs and python. LSP may have type checking as its feature. lsp-pyright is python language server (called “pyright”).
Posts
A Note On X Where X = "Making Evil Mode Not Awkward With Zsh Completion In Doom Emacs Vterm"
Set pt value to pos fix awkward completion behavior in vterm.
(defun vterm-goto-char (pos) "Set point to POSITION for vterm. The return value is `t'when point moved successfully. It will reset to original position if it can't move there." (when (and vterm--term (vterm-cursor-in-command-buffer-p) (vterm-cursor-in-command-buffer-p pos)) (let ((moved t) (origin-point (point)) pt cursor-pos succ) (vterm-reset-cursor-point) ;; Anak: this line cause weird behavior with auto completion (setq cursor-pos (point)) ;; (setq pt cursor-pos) ;; Anak commented out this line (setq pt pos) ;; Anak added this line and completion in vterm works better.
Posts
Explaining X where X is "using Extended Euclidean algorithm (EEA) to find multiplicative inverse."
I always get lost in the detail when learning or working on math, and I find that new math concept introduced only a few important concepts. The rest are filling in details by connecting new and old concepts in the right order using math notation.
Think of new math concepts as tools that are reusable for tasks in which tools are specialized for.
In this series of “Explaining X” where X is any mathematical concept, I will try to avoid mathematical details and will try my best to capture the newly introduced concept.
Posts
Implementing X where X = "Custom Doom Emacs's Scratch Buffer"
I was trying to implement my own scratch buffer.I learned alot about Emacs’s way of programming. I gained a new mental debugging tool.
The main function I started to modify is doom/open-scratch-buffer. The functions deals with opening scratch buffer when current-buffer is inside and outside of a projectile’s project.
doom/open-scratch-buffer does the following
check if scratch will open in the same buffer or as pop up buffer Then, it passes arguments to (doom-scratch-buffer &optional DONT-RESTORE-P MODE DIRECTORY PROJECT-NAME).
Posts
Must Read before running "Doom upgrade"!!!!!!
Doom discord announces important update and fixes. This is where you should take a look first before attempting to pull remote commits that are ahead of your local commits.
Doom emacs has only 1 branch. It used to have 2 main branch master and develop branch, but Henrik give up on develop branch because, I assume, its too much work to make develop branch stable before merging to master. For this reason, instead of merging develop branch to master branch.
Posts
Note of X where X = "I cannot set custom-variable of org-agenda using either setq or custom-set-variables"
I couldn’t use setq and custom-set-variables to have org-refile shows list of newly set org-agenda-files.
Started to solve, first suspect I found was when I learned about custom.el file. Custom variable set by defcustom will set custom value in custom.el. I reset all custom.el to nil to make sure that it doesn’t set custom variables under weird condition that I am not aware of.
I reloaded Doom Emacs. Changed variables didn’t reflect in helpful-variable, and org-agenda-files was not set to nil — value shown in custom.
Posts
Philosophy and Meta Physics of "Notes Taking"
Note taking is a skill that everyone seems to think that they have “solved” it. Whatever that means. They are not interested in investing their time to improve their note taking skill.
No interest. No skill. No framework.
Regardless of my critique, I think they draw conclusion fairly. Why? around 6 out of 10 people are knowledge worker 1. A subset of those need to use note at all. A subset of those who use notes need to create reusable notes.
Posts
Writing a "Blog"
Last edited [2022-06-23 Thu] Note: This blog will mostly likely ever changes as I form my preference of what I think a good blog should be.
Blog. Piece. Article. Whatever you called it doesn’t matter. I will redefine it here. For the rest of the blog, I will use the word blog.
I define blog as followed
Blog is a collection of text with a goal’s guided narrative.
Posts
A Brief Story of Evolution and Widespread Adoption of The Internet
“Internetworking Architecture” (Leiner et al. 2009) was a fundamental design that enable machines and computers to communicate via internet regardless of underlying communication protocol.
TCP/IP were implemented in UNIX operating system triggers a widespread adoption of internet (Leiner et al. 2009). Dispersion of protocols began in research community. Recall that predecessor of internet project (it was named “internetworking” at the time) was funded with the goal to increase speed and efficiency of research collaborations.
Posts
A Note of X where X = AWS EC2 services.
An EC2 instance has 4 state of life cycle: running, stopped, and terminated. Furthermore, state transition (or action) of an EC2 instance is launch, rebooting, pending, shutting-down, and stopping, see <ec2_life_cycle>.
Figure 1: EC2 instance life cycle
Validating that you have correct setup This article assumes that you have setup AWS credentials in your terminal environment. You can check out one of my article named “Setup AWS credentials for your AWS account and create new user” to help you set things up.
Posts
A Note of X where X = AWS IAM services.
In AWS IAM, a policy is the smallest entity of permission. There are types of policies: resources-based policy, identity-based policy, and session-based policy.
Figure 1: aws policies
Policies can be attached to the following “identity”: user (1 account can have more than 1 users), role, and group (a group has many user) 1. user, role, and group are called identity. In AWS identity is called IAM identity and user, role, and group are called IAM user, IAM role, and IAM user group, respectively.
Posts
A Note On Straight's Recipe.
Straight’s recipe is similar but not identify to one used by MELPA. 1
A recipe describes which local repository to link the files from and how to clone that repository, if repo is not found locally. With this definition of recipe, one can think of recipe as a build step (recipe) of a package.
Ultimately, a package is defined is a collection of files required for package’s build. striaght.el views a package in this manner.
Posts
A Note On Straight.el's Transaction
This article is based on staright.el README which at the moment doesn’t have written document on how transaction works. So This is a work in progress until I either read straight.el codebase or summarize its documentation.
Conceptually, stright.el clones Git repo and them symlinking files into Emacs’s load path. A packages in straight.el is defined as recipe as a files which was symlinked together. I have an article on recipe.
Posts
Assess Your Level of Understanding
Ask youself the following question.
How do you know your understand something? How can you access much do you understand it? If you don’t fully understand it yet, is there a way you can make a snapshot of things that you don’t understand such that you can replace this snapshot whenever a better “version” available to you. Why ability to assess your level of understanding it important? you asked.
Posts
Building fundamental in Emacs: How to customize key binding in vanilla Emacs?
When I first get into Emacs, I was a vim user before, so I picked up Doom Emacs without experience with vanilla Emacs. Transition has been smooth so far, but because I never has experience with Vanilla Emacs before when I encounter a bug in Doom Emacs. I always have to first figure out if it is Doom Emacs problem or Emacs problems. Because of this, I put out a new blog series to help me build a stronger foundation of Vanilla Emacs.
Posts
Comparison of straight.el to other Emacs package manager.
This article is an opinion piece on Comparison to other package managers.
Emacs package manager are split into 2 categories: package.el wrapper or not package.el wrapper.
One idea that straight.el emphasizes a lot is that straight.el manages commits rather than managing a whole a package. Some PM only accept latest commit. Other only accepts repo on github etc. I call this design decision a “smallest unit of design implementation.”
Other unique takes on managing Emacs packages are Borg (assimilates packages as Git submodules into .
Posts
Comprehensive review of snippets management tools in emacs. The best way to manage code snippets in emacs.
Personally, I think snippets is under untilize. Same as notes. The fact is people just don’t do neither snippets or notes.
I defined code snippet as followed
A collection of either small/large code which may store in single/multiple files that you will revisit against in the future.
Focusing on manging code snippets in emacs, few packages come to mind including: yassnipet, auto-yasnippet, yankpad, and code library.
In my workflow, to share code snippet with others, gists is needed.
Posts
Dev Logs: Auto-YASnippet (aka aya) dive deep.
Dev logs is new blog series which dive deep into implementation level. The goal is to understand how things works. I figure this should be an interesting series because I always wanted to know how these program works underneath. Instead of explaining the whole code base, I will only focus on the “magical” part that sparked my interest the most.
Todays I present to you aya.
I started of the series with aya because, I think, it is a small package with the right portion of magic.
Posts
Economic inside blockchain: How does supply-demand mechanism works in blockchain?
Gas and Denominations of coins Figure 1: Denominations of Ethers
In this section, we will focus on denominations of Ethers. The goal is to provide more concrete example into denomination of a coin.
If you are familiar with Etherem, we have heard Wei and GWei. These are not the only two denominators of Ethers. List of all denominators of Ether is shown in Fig. which is from Etherem yellow paper (aka.
Posts
Elisp Code to Find List of Top N MELPA Authors
;; https://www.reddit.com/r/emacs/comments/t9qs6h/need_help_listing_all_emacs_super_developers/ (require 'url) (require 'cl-lib) (defvar url-http-end-of-headers) (defvar smelpa-json nil "Melpa recipe JSON data.") (defun smelpa-json () "Return an alist of MELPA recipe metadata." (or smelpa-json (setq smelpa-json (with-current-buffer (url-retrieve-synchronously "https://melpa.org/archive.json") (goto-char url-http-end-of-headers) (json-read))))) (defun smelpa-packages-by-author () "Return alist of form: ((author . (package-url...)))." (let (authors) (cl-loop for (_ . data) in (smelpa-json) do (when-let ((props (alist-get 'props data)) (url (alist-get 'url props)) (parsed (url-generic-parse-url url)) (filename (url-filename parsed)) (tokens (split-string filename "/" 'omit-nulls)) (author (intern (car tokens)))) (if (alist-get author authors) (push url (alist-get author authors)) (push (cons author (list url)) authors)))) authors)) (defun smelpa-most-published-authors (n) "Return alist of form ((author .
Posts
Emacs Package Explained: How to customize key binding in evil modes?
This is my summary of a more thoroughly explained evil guide, see here.
Keymap Precendence in vanilla emacs overriding-terminal-local-map for terminal-specific key bind overriding-local-map keymap char property at point keymaps for the current character. Yasnippet keymaps are in this category. emulation-mode-map-alists. Apparently, its more multi-mode keymap management. I am not sure what this means, but if i have to guess it is used in modes that have its known key precedence or other complexity that its key binding system brings.
Posts
Emacs's Snippet Management Packages Still Use Text-Based Management? Just Use Sqlite!
By now, in <2022-12-08 Thu>, it should be conclusive that any type of contents are best organized/managed using database. Responsibilities of database includes retrieve/store data. That’s it.
However, emacs manages data as text. Advantages of this is simplicity, but, this argument doesn’t even work anymore. why? Emacs supports SQLite as built-in!
I like Emacs because of level of compatibility that it provides, but it frustrates me to realized that open source community is not as collaborative, as a result, Emacs slow to adopts.
Posts
Enable x11 display in WSL2
Resources are provided in my roam research note.
I successfully connect x-apps via x11 protocol by first installing and launching xming server. Xming application provides x11-server. Then, I need to tell the wsl2 “address and port of X11 server to connect wsl2 application to” (my note on x11 can be seen here) X11 server is enlisted as WSL2 entrusted DNS which located in resolve.conf. (my note on resolve.conf can be seen here.
Posts
Evolution of Asset Transaction
Hello, guys
This essay is my interpretation of a discussion on “NFTing the World for the General Good” episode on Real Vision TV. The information in the essay are adapted to fit rational narrative that I have in my brain.
This is the beginning of the essay.
The four phases are categorized into the following
transaction an physical assets transaction of electron transaction of information transaction of digital assets Each phase increase efficiency of transactions which depends on three factors: object, process, and rules.
Posts
Freedom and Power are two sides of the same coin.
According to dictionary, freedom is defined as
The power or right to act, speak, or think as one wants without hindrance or restraint.
Power is defined as
The capacity or ability to direct or influence the behavior of others or the course of events.
That’s is power is defined by abilities to restrict others’ freedom. Therefore, by definitions, an individual with more power has more freedom than others.
Posts
Getting source code of distributed binary package in Ubuntu
This stack exchange post state the following.
Debian and RPM packages don't contain source code, only the compiled result. However, you can fetch the source packages - SRPMS, or the Debian description, patch, and original tarball. That’s it. You can only download file that are provided in url where target deb file is located. Which files will be provided? Only package maintainers can determine that. Therefore, there could be a scenario where no source codes are available for download.
Posts
How to Guarantee Serialization with Two-Phase Locking (2PL) with Example
This is a summary on Chapter 21.1 Two-Phase Locking Techniques for Concurrency Control from Fundamental of Database system by Pearson 2015.
The goal of this blog is to give a concrete example on how 2PL’s schedule is guaranteed to be serializable.
Figure 1: Figure 21.3
Figure 2: Figure 21.4
Figure <Figure_21.3> and figure <Figure_21.4> uses the same set of locks which is provided in Shared/Exclusive locks including read_lock, write_lock and unlock.
Posts
How to parse text with awk?
ref https://stackoverflow.com/questions/6284560/how-to-split-a-variable-by-a-special-character/6284596 Awk Syntax awk '(PATTERN1){...print something..} (PATTERN2){..print something..}' awk 'PATTERN1{...print something..} PATTERN2{..print something..}' for each line, if PATTERNN is matched, command in {} will be executed.
syntax `awk ‘NR==1{print}’ [FILE]` `awk ‘NR==1’ [FILE]` note for line 1, print whole line `awk ‘NR==1{}’ [FILE]` note for line 1, {} = don’t do anything `awk ‘NR==1{print} {print}’ [FILE]` note {} without condition is the same as condition always set to True.
Posts
How to publish blog on Jekyll with example.
You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
Jekyll requires blog post files to be named according to the following format:
`YEAR-MONTH-DAY-title.MARKUP`
Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file.
Posts
How to set local variable for a specific mode?
This type of tutorial/question is best to present with an example. Given that I want to set compile-command variable for LaTex mode which applies to all buffer of this mode.
(defun set-compile-command-default-in-LaTeX-mode () (set (make-local-variable 'compile-command) ;; create local variable specific to a current buffer (format "" (buffer-file-name)))) (add-hook 'LaTeX-mode-hook 'set-compile-command-default-in-LaTeX-mode)
Posts
How to use auto yasnippet (aka aya) in your workflow?
All of the content I presented below can be found at Auto-YASnippet Github repo.
Auto-Yasnippet (aka aya) provides the following interactive commands: aya-create, aya-expand, aya-persiste-snippet, and aya-open-line:
I don’t quite understand aya-open-line yet, so I will not be explaining it here.
This snippet package support ad-hoc style of editing workflow where you can create useful snippet to be reused as you editing.
Without aya, one would have do the following
Posts
Html is a Bad Design.
Alan Kay famously critique World Wide Web (WWW) where HTML is originated. He publicly dislike HTML as followed
Things like [HTML] happens when we let physicists play with computer.
He stated that HTML is a bad markup language because people who build HTML thinks their way of representing web page is the only way. He mentioned a (older and) better alternative to HTML is to define protocol based on ordered region on a tape — back when tapes were still popular means of storage in 1950’s.
Posts
Implementation of X where X = Emac's auth-source.
As an example, I will use api.github.com as a API endpoint.
If I use ~/.authinfo.gpg as an auth-sources file. (variable name is auth-sources), I need to add the following to the file where I need to sub value into user-username and user-password.
machine api.github.com login user-name password user-password auth-source-search is a function that retrieve password from your specify auth-sources file. You can use it as followed. This will output list of property where :secret key has your password as its value.
Posts
Incentives Of Owning Money.
Edit History last edit on [2022-07-30 Sat] Money is the most flexible medium of exchange. For more detail please refer to my blog named “Money Is A Type of Token.”
Motivation drive efforts. Effort is a seed of creation and innovation. It just happens that money provides universal motivation due to its utility which is measured by speed of conversion from itself to other assets. Money has fastest conversion rates.
Posts
Iteration and Recursion in Hoon.
Code below is a part of Exercise: A Playing Card Library 1 section in Hoon School 7. Libraries.
++ shuffle-deck |= [unshuffled=deck entropy=@] ^- deck =/ shuffled *deck =/ random ~(. og entropy) =/ remaining (lent unshuffled) |- ?: =(remaining 1) :_ shuffled (snag 0 unshuffled) =^ index random (rads:random remaining) %= $ shuffled [(snag index unshuffled) shuffled] remaining (dec remaining) unshuffled (oust [index 1] unshuffled) == Notice that random card is selected from the following 2 lines.
Posts
Keybinding In Doom Emacs
Doom Emacs has its own keybinding system. A more accurate explaination is
Doom Emacs keybinding system is a wrapper over evil mode such that it is smoothly compatible with Emacs.
If you use Evil mode without Emacs configuration framework such as Spacemacs or Doom Emacs, it is frustrating to know if your keybinding is setup properly and whether it will always work as expected in any circumstances. A common point of failure is when your keybinding is overwritten by some packages.
Posts
Money Is A Type Of Token.
Edit History last edit on [2022-07-30 Sat] I can refine this blog more by consolidating the current content to my notes on roam research. I don’t have time to do this at the time of writing. In theory, there is no need for “medium” of exchange. Any exchange can be anything as long as seller and buyer agree upon. Therefore, one can argue that there will always exist a sequence of exchanges of agreements that satisfy any pair of sellers and buyers.
Posts
Most Efficient Workflow To "Lookup" Documentations On Programming Language.
The normal workflow of lookup documentation would be to search google, stack-overflow, etc. Alternatively, if you are using IDE, IDE will lookup documentation for you, for example goto-definition etc. Very convenience. What else do you need?
Although, searching online directly is not the best approach, it is everyone last line of defense. On the other hands, IDE is as good as it gets. However, the problem with IDE is that it is context specific.
Posts
My Citation Management Workflow.
there are three categories of note taking process
organize files. write notes on a file. search files and notes (aka completion in emacs) organize notes reference to file. First two are easy to achieve. Put notes and pdf files in folders does the job. The third condition is arguably not difficult neither. One can search for a file given a file directory quickly which can be done with any of the completion packages (e.
Posts
Note Taking Pipeline Framework.
I propose “Note Taking Pipeline Framework” as my take on how I implement my “second brain.” I would argue with a high degree of certainty that this framework is the best in the world without degree of exaggeration.
I think of note taking as a type of data storage with a property that satisfy my note taking philosophy. I wrote about philosophy of note taking in my blog titled “Philosophy and Meta Physics of ‘Notes Taking’".
Posts
Original OOP is fundamentally different to Modern OOP.
Modern OOP is misused and misunderstood. Modern OOP create an object to abstract over the object internal state. Originally, OOP is intended to be used to abstract objects over the most important processes that take place within environment in which objects exit. This is done by exposing interfaces that are capable of interacting with the outside world 1. In the other word, an object should be built to be resurgence, to protect itself from dynamic environment.
Posts
Running Docker Container With Dockerfile.
As an example, the goal is to run container that will download things hosted on the web and run some command DURING a docker launches (using ENTRYPOINT to run the command).
FROMubuntuRUN apt-get updateRUN apt-get install -y wgetRUN apt-get install -y unzipRUN apt-get install -y ffmpegRUN wget https://www.cse.fau.edu/~hari/sequences/vid-clips.zipRUN unzip vid-clips.zipENTRYPOINT ["ffmpeg" -i" clip-crf20.mp4" -c:v" libx264" -crf" 36" -c:a" copy" clip-out.mp4"]If you are not root user when you run apt-get install [package], you must confirm yes or no to installation which requires user input.
Posts
Setup AWS credentials for your AWS account and create new user.
AWS credentials and configuration to your AWS account. AWS configuration file and credential file can be found at ~/.aws/config and ~/.aws/credentials.
Once that done, you can use the following to get your account information.
aws sts get-caller-identity It will not show secret key aws_access_key_id and aws_secret_access_key which you have set. It will only show information of your account including: UserId, AccountId, Arn.
AWS users Note that 1 account has 1 root and can have many IAM user.
Posts
Society As A Function Of Attention.
Incentive is an underlying mechanism that drive society at any scale including individual, group of individuals, and human population as a whole.
Incentive is an abstract concept. Physically, incentives are driven by money, refer to my blog titled “Incentives of Owning Money” for more detail. Another important concept is to accept that money is an indirect form of freedom and power, refer to my blog titled “Blog Freedom and Power are two sides of the same coin” for more detail.
Posts
Using jq command tools to filter JSON.
This blog summarizes jq documentation’s tutorial 1.
If you can fully understand what the following command do, you don’t need read the rest of the blog. That’s pretty much sum up all jq can do.
curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '[.[] | {message: .commit.message, name: .commit.committer.name, parents: [.parents[].html_url]}]' If you are still confused, read on.
There are only 4 concepts in jq shown below.
# pipelining jq '.[] | {name: [.key[].childkey]} ' # only apply to list jq '.
Posts
Using terminals in Doom Emacs.
To open multiple terminal, a neat trick is to rename file buffer that terminal is opened 1.
To open file from terminal, one can just M-x find-file in the terminal buffer.
stackoverflow: More than one emacs terminal ↩︎
Posts
Using Terraform to set up ec2 instances for data science projects.
Take Away you will learn how to automate ec2 setup using terraform that is suited for data science project. Tools EC2 Terraform Requirements Knowledge Requirements understand basic of how to create terraform project understand basic of how to set up ec2 instances System Requirements WSL/Ubuntu
I have only tested this in WSL install all dependencies of cuda
for list of software requirements, see https://www.
Posts
What Is X Where X Is Docker's Image?
Edit log [2022-07-25 Mon] I was following “What’s A Docker Image Anyway?" 1, but found that its content is no longer true, there are new changes to metadata of docker image, so I write this blog to reflect the changes that I observed at the time of writing.
docker -v Docker version 20.10.17 build 100c701 I write the following Dockerfile.
Posts
What the f*** is wiki.c2.com? and its potential for mainstream adoption.
last edit [2022-06-26 Sun] One of my life long projects is to build an index protocol using tokenomics for thought sharing. For now, on [2022-06-26 Sun], I call it “The Forest.”
On [2022-06-26 Sun], I stumbled upon wiki.c2.com. I was reading about it for a couple hours, and wiki.c2.com seems to share lots of philosophy that The Forest holds. Two hours in, however, I can’t seem to get a grip of some very basic stuff like how to read it?
Posts
Working with D-Bus in Linux's systemd.
Quoting “D-Bus integration in Emacs” 1, D-Bus is defined as followed
D-Bus is an inter-process communication mechanism for applications residing on the same host. The communication is based on messages. Data in the messages is carried in a structured way, it is not just a byte stream.
According to 1, name of client application is “a series of identifiers separated by dots”, but an application can install multiple objects under its name which are represents as path like syntax – separated by /.
Posts
X Implementation Where X = Doom Emacs's +lookup/ Command.
I was trying to figure out +lookup/definition that open in other window. In one of the issue, Henrik 1 mention that some lookup backend (As an example, xref is a built in backend for lookup) are asynchronous and there is no standardized mechanism to talk to them to see whether the command runs successfully 2.
lets call this new command +lookup/definition-other-window Current possible solutions are
ignore validation step to make sure that the command runs succesfully.
Posts
X implementation where X = executing org babel block in Doom Emacs.
Editing History [2022-07-06 Wed] Last edit is on [2022-07-07 Thu] This article investigates what is executed when one presses enter to execute org babel source block in Doom Emacs.
Pressing enter in org-babel block will execute +org/dwim-at-point, see code below for reference. First, it checks if point is on a button. Then, it proceeds to assign evaluated output of org-element-context and org-element-type.
(+org/dwim-at-point *optional ARG) .