n16f.net - Nicolas Martyanoff
n16f.net - Nicolas Martyanoff
Nicolas Martyanoff
I am Nicolas Martyanoff, and this website is a way to publish some of my thoughts on various subjects.
Latest Posts
Much has been written on Common Lisp; there is rarely one year without someone proclaming the death of the language and how nobody uses it anymore. And yet it is still here, so something must have been done right. Common Lisp is not a...
While Common Lisp has functions to open, read and write files, none of them takes care of reading and returning the entire content. This is something that I do very regularly, so it made sense to add such a function to Tungsten. It...
I have used text editors for more than 20 years; in all that time, I have never used a templating system to generate content because copy pasting and replacing always felt good enough. I recently decided to give it a try. In Emacs it is...
Dired is an Emacs mode providing an interactive interface to navigate and manipulate files. It took me a while to start using it, but it is so efficient that I now spend more time in it than in my usual shell. However I am no fond of the...
I was recently reminded of the ability of Emacs Calc to perform computations on values with units. Like so many Emacs features, it was on the list of the things I wanted to explore. Today is the day to do so! Basic operations with units...
While SLIME is most of the time able to indent Common Lisp correctly, it will sometimes trip on custom forms. Let us see how we can customize indentation. In the process of writing my PostgreSQL client in Common Lisp, I wrote a...
My friend Rémi found an Emacs package developed by Tecosaur to take screenshots of your code. I usually do it with scrot, but it always requires spending some time cropping the result with Gimp. A bit annoying. Installation Let us give...
I was working on the terminal output for a Common Lisp logger, and I realized that SLIME does not interpret ANSI escape sequences. This is not the end of the world, but having at least colors would be nice. Fortunately there is a library...
While I mostly use SBCL for Common Lisp development, I regularly switch to CCL or even ECL to run tests. This is how I do it with SLIME. Starting implementations SLIME lets you configure multiple implementations using the...
All my code is stored in various Git repositories. When Git formats a diff between two objects, it generates a list of hunks, or groups of changes. Each hunk can be displayed with a title which is automatically extracted. Git ships with...
I have been having completion issues in Eshell for some time, and I decided to fix it. Of course the yak shaving is always strong with Emacs, so it ended up being a bit more complicated than expected. Defining keys with use-package...
Org-mode is what got me into Emacs in the first place. I use it to take notes, keep track of what I have to do and plan projects. An Org file is a tree of elements, each one starting with a headline. Manipulating headlines can be...
The SLIME Emacs package for Common Lisp supports cross-referencing: one can list all references pointing to a symbol, move through this list and jump to the source code of each reference. Removing automatic reference jumps While...
I have been using Projectile for years, and it served me well. While Projectile is really useful, it is a third party package made of more than 8000 lines of code. Since the built-in Project module has received lots of improvements since...
I have used the C-l shortcut in ZSH to clear the screen for as long as I can remember. When I started using Eshell, one of the first problems I encountered was the inability to clear the buffer. I like to remove the output of previous...