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.

Continue Reading →

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.

Continue Reading →

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.

Continue Reading →

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.

Continue Reading →

学中文

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 →