Posts tagged “streams”
Emacs does not need LSP
Language-server-protocol (lsp) is standard to communicate information about a
current programming project to an editor integration, powered by a “language
server” for the specific programming language. Emacs has two major
implementations of this editor functionality: eglot (built-in) and lsp-mode.
Getting this set up is usually one of the first things that new users will want
to do, but in my experience one can get by for a surprisingly long time using
Emacs without needing to reach for eglot or lsp-mode. That is because many of
the functions that lsp-servers provide can be provided by Emacs through other
means.
Being Against LLMs is Against the Spirit of FLOSS
The debate surrounding llm-generated code is more intense than ever. There are some people who have recently tried to turn this debate into action as an attempt to stem the tide of llm contributions that are flooding maintainers. Most notably Vim “Classic” and my own adopted public git forge of Codeberg. This is a shame, since it flies against the spirit of Free (Libre) and Open Source Software (floss).
Continue Reading →Dawn in 大安
Writing this, I have arrived at the island of Formosa, the adopted home of the Republic of China (中華民國) as well as the Taiwanese people. I intent to stay here during the fall term, as I complete part of my studies abroad.
Continue Reading →Automatically Discover Mail Encryption Keys with Emacs
I have found a peculiar delight in encryption, and particularly in
using pgp-based asymmetric cryptography. This is especially useful for
securing email communications, but doing so requires remembering to
run M-x mml-secure-sign or mml-secure-encrypt in Mail Utilities For
Emacs (Mu4e) before sending the message. For this reason I have been
wanting to write a quick method that automatically adds signing
capabilities and encryption only when the recipient has a public
key. Thankfully, I did not have to do so because of Nicolas
Cavigneaux’s recent post Sign Always, Encrypt When Possible where he
showcases his functions for doing exactly that. It prompted me to tweak
it slightly, and to add the functionality to automatically discover
public keys that I have yet to import.
The Kramer-Peterman Duality
The concept of fomo has always alluded me. Part of the reason is a persistent need for eccentricity, for growing against the grain. That is not to say that I am persistently rebellious, but that there is a natural aversion to doing things “the way everyone else does it”.
Continue Reading →Vibe-coding Brings the Power of Emacs to Everything
One of the first use-cases I found for llms back when Chatgpt first
released was automating the creation of citations, or rather the
transformations of citations structured in one way into .bib-files
that can be used to create a wide variety of uniform citations in
\(\LaTeX\) documents. llms are fantastic for this sort of work, where
some sort of messily structured data needs to be transformed into some
other form that is then useful. As llms become cheaper and cheaper it
becomes easier and easier to make data become useful. The benefits of
this is obvious to the point of it being the main strength of what is
perhaps the world’s oldest continuously developed software project;
gnu Emacs.
Pluribus & Alienation
Pluribus — the newest show by Vince Gilligan (of Breaking Bad fame) — is a show that is refreshingly new in its ideas. After finishing it I discussed its themes with some of my friends and acquaintances, almost all of whom had quickly connected the show with artificial intelligence (ai). But for me, continuing on an earlier thought that ai is not extraordinary, it was much more obvious that Pluribus is about “the internet” more-so than ai.
Continue Reading →Handwritten notes in Emacs using Xournal++
My girlfriend recently bought a Framework 12 laptop1 with a correspoding stylus and, influenced by my ravings about the power of gnu Emacs, wants to take handwritten digital notes on it for her engineering and mathematics classes and then organise them in org-mode. I see an earlier version of myself clearly in her, and of course want to help her attain the vision she has for her own Emacs system. At the same time I am a strong believer in that you should not try and learn Emacs, but that it should be molded to your own personal desires. For that reason I try to act in merely an advisory capacity, while helping whenever she asks.
Continue Reading →Decentralized Personal Computing
I have a few different computers. Those machines have different capabilities, form factors, portability, hardware, and software — and yet I still want to do roughly the same work on them. While most of the work I do is with text — reading, writing, editing, programming — Sometimes I want to work on one specific machine because I might need a dedicated graphics card or I need the machine to fit in my pocket. The solution to this is to have work sync automatically between my machines.
Continue Reading →Don't Prioritise What to Learn
I have recently read not just one, but two different blog posts arguing for roughly the same thing. To summarise them; You have a finite amount of time to learn new things, and so you should not only focus that time toward learning things that actually matter, but you should also only try and learn things that are easy to learn. I fundamentally disagree with both of these two things, but think they are prevalent in “productivity” sphere, especially in those targeting people at the intersection between policy and technology, where I happen to find myself right now.
Continue Reading →Common lisp and Github workflows
Github has a functionality where the README file in a repository with
the same name as your username will be displayed on your
profile. Since I am a fan of the indieweb’s posse1 practice, I’d
like to use that space to advertise the writings on this website.
学中文
There are a multitude of reasons why I wanted to study Chinese. Being the language of the “workshop of the world” naturally offers many business opportunities, but I am more interested in the burgeoning fields of Integrated circuit (ic), r&d, and software development. Planet Emacslife allows me to keep tabs on the goings-on in the Emacssphere, but I also want to be able to read Emacs China; so I figured it might be a good idea to be able to read Chinese.
Continue Reading →Web browsing in Emacs
Emacs has a tendency to try and absorb all user-facing interactions I have with a computer. Some people seem able to separate “Emacs stuff” — like programming or using org-mode for note taking — but Emacs’ extendability makes me want to use it for everything. For a long time I have only really needed four different tools to do any kind of work at a computer:
Continue Reading →Functional Life Without Side-Effects
Programming languages (and their users) are often grouped into two main intellectual schools of thought: Object-oriented programming (oop) and functional programming. These two schools both claim to offer ways to manage the increasing complexity that comes with the development of larger and larger programs. Functional programming states that this complexity can be managed by following these principles:
Continue Reading →