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.
Top Words
- emacs
- lisp
- common
- erlang
- slime
- taking
- replacing
- custom
- configuration
- implementations
- reading
- eshell
All posts (44)
At the end of 2021 I quitted my job to create a company with an ex-colleague. It did not work out. One year later, both the first and the second product were a failure, my business partner had quit to create a VC-funded startup, and I was left to pick up the pieces. Not fun. Since then I have been trying to find a...
Like so many people, I use Gmail. There are not a lot of options, and Google Workspace provides me additional useful services and lets me use my own domain name. However there has been a lot of horror stories about users losing access to their Gmail account without any recourse. It is not clear if it can happen with...
Font Lock is the builtin Emacs minor mode used to highlight textual elements in buffers. Major modes usually configure it to detect various syntaxic constructions and attach faces to them. The reason I ended up deep into Font Lock is because I was not satisfied with the way it is configured for lisp-mode, the major...
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 software, it is a language described by the ANSI INCITS 226-1994 standard; there...
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 turned out to be a bit more complicated than expected. A simple but incorrect...
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 hard to talk about templating without mentionning YASnippet. Developped by the...
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 way files are listed. Dired displays a lot of information which is — at least...
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 The Emacs Calc manual presents a lot of features but makes it hard to understand...
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 READ-MESSAGE-CASE macro which reads a message from a stream and execute code depending on...
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 it a try. The screenshot package is not available on MELPA due to cosmetic...
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 to do just that. First let us install the package, here using use-package and...
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 slime-lisp-implementations setting. In my case: (setq slime-lisp-implementations '((sbcl...
Page 2 of 4