From 2f1928eb73bb8936d1329bd663a9fdeac10db9f7 Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Mon, 15 Aug 2022 18:47:38 +0200 Subject: =?UTF-8?q?Let=E2=80=99s=20have=20a=20monthly=20retrospective=20fo?= =?UTF-8?q?r=20once?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/img/eldoc-overlay.png | Bin 0 -> 81303 bytes site/img/flycheck-inline.png | Bin 0 -> 95774 bytes site/img/select-theme.png | Bin 0 -> 30903 bytes site/news/August2022.org | 125 ++++++++++++++++++++++++++++++++++++ site/news/MonthlyRetrospectives.org | 11 ++++ site/news/index.html | 5 ++ 6 files changed, 141 insertions(+) create mode 100644 site/img/eldoc-overlay.png create mode 100644 site/img/flycheck-inline.png create mode 100644 site/img/select-theme.png create mode 100644 site/news/August2022.org create mode 100644 site/news/MonthlyRetrospectives.org (limited to 'site') diff --git a/site/img/eldoc-overlay.png b/site/img/eldoc-overlay.png new file mode 100644 index 0000000..4b5a3fe Binary files /dev/null and b/site/img/eldoc-overlay.png differ diff --git a/site/img/flycheck-inline.png b/site/img/flycheck-inline.png new file mode 100644 index 0000000..5c84fa2 Binary files /dev/null and b/site/img/flycheck-inline.png differ diff --git a/site/img/select-theme.png b/site/img/select-theme.png new file mode 100644 index 0000000..4467c36 Binary files /dev/null and b/site/img/select-theme.png differ diff --git a/site/news/August2022.org b/site/news/August2022.org new file mode 100644 index 0000000..727ed9b --- /dev/null +++ b/site/news/August2022.org @@ -0,0 +1,125 @@ +#+TITLE: Monthly Retrospective: August 2022 + +#+SERIES: ./MonthlyRetrospectives.html + +Anyway, without further ado, let’s take a look at what was achieved +for the last thirty days or so. + +#+begin_export html + +#+end_export + +* Emacs + I have started tweaking and improving my Emacs [[https://src.soap.coffee/dotfiles/emacs.d.git][configuration]] + again. [[mn:minimalism][After having used Emacs for seven years now, I am nowhere + close to consider my configuration as a done project. I really envy + developers who are using their editor with little to no + customization.]] + +** Theme Selection Menu + The change I am the most excited about is that I have /finally/ + reduced the boilerplate in need to write to use a new theme. I am + very indecisive when it comes to theming. I like to have my + choices, and I get tired of any colorscheme pretty quickly. As a + consequence, I introduced a customizable variable to let me select + a theme dynamically, and have this choice persist across Emacs + session. + + I have a Hydra menu that allows me to select which theme I want to + use for the time being. It looks like this. + + #+CAPTION: A Hydra menu for selecting a theme. + #+NAME: fig:hydra-theme-menu + [[../img/select-theme.png]] + + But adding new entries to this menu was very cumbersome, and mostly + boilerplate that I know a good macro could abstract away. And I can + finally report that I was right all along. I have my macros now, + and they allow me to have the Hydra menu above generated with these + simple lines of code. + + #+begin_src elisp +(use-theme ancientless "a" :straight nil :load-path "~/.emacs.d/lisp") +(use-theme darkless "d" :straight nil :load-path "~/.emacs.d/lisp") +(use-theme brightless "b" :straight nil :load-path "~/.emacs.d/lisp") +(use-theme monotropic "m") +(use-theme monokai "M") +(use-theme nothing "n") +(use-theme eink "e") +(use-theme dracula "D") +(use-theme chocolate "c") +(use-themes-from tao-theme + '(("tl" . tao-yang) + ("td" . tao-yin))) + #+end_src + + +** Eldoc and Flycheck Popups + I have been experimenting with several combinations of packages to + have Eldoc and Flycheck using pop-up-like mechanisms to report + things to me, instead of the echo area. + + The winning setup for now is the one that uses the [[https://github.com/cpitclaudel/quick-peek][quick-peek + package]]. That is, [[https://github.com/flycheck/flycheck-inline][flycheck-inline]] (customized to use quick-peek, as + suggested in their README), and [[https://melpa.org/#/eldoc-overlay][eldoc-overlay]]. This works well + enough, so the pop-ups of eldoc are maybe a bit too distracting. + + #+CAPTION: flycheck-inline in action with an OCaml compilation error. + #+NAME: fig:flycheck-inline + [[../img/flycheck-inline.png]] + + #+CAPTION: eldoc-overlay in action, displaying an OCaml type. + #+NAME: fig:eldoc-overlay + [[../img/eldoc-overlay.png]] + + In my quest for pop-ups, I ran into several issues with the + packages I tried out. For instance, [[https://github.com/casouri/eldoc-box][eldoc-box]] was very nice, but + also very slow for some reason. It turns out there were an issue + about that slowness, wherein the culprit was identified. This + allowed me to [[https://github.com/casouri/eldoc-box/pull/48][submit a pull request that got merged rather quickly]]. + Similarly, after a packages update, I discovered [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]] was + no longer working, and [[https://github.com/flycheck/flycheck-ocaml/pull/14][submit a patch to fix the issue]]. + +* This Website + I have not been investing a lot of time in this website for the past + six years or so. This month, things change a bit on that side too. + +** New Contents + First, I have published a (short) article on [[rel:/posts/RankNTypesInOCaml.html][higher-order + polymorphism in OCaml]]. The goal was for me to log somewhere the + solution for an odd problem I was confronted to at ~$WORK~, but the + resulting article was not doing a great job as conveying this. In + particular, two comments on Reddit motivated me to rework it, and I + am glad I did. I hope you enjoy the retake. + + Once this was out of the way, I decided that generating this website + was taking way too much time for no good enough reason. The culprit + was *~cleopatra~*, a toolchain I had developed in 2020 to integrate + the build process of this website as additional contents that I + thought might interest people. The sad things were: *~cleopatra~* + was adding a significant overhead, and I never take the time to + actually document them properly. + +** Under the Hood + Overall, the cost of using *~cleopatra~* was not worth the burden, + and so I got ride of it. Fortunately, it was not very difficult, + since the job of *~cleopatra~* was to extracting the generation + processes from org files; I just add to implement a small + ~makefile~ to make use of these files, without having to rely on + *~cleopatra~* anymore. + + This was something I was pondering to do for a long time, and as + often in these circumstances, this gave me the extra motivation I + needed to tackle other ideas I had in mind for this website. This + is why now, rather than starting one Emacs process per Org file I + have to process, my build toolchain starts one Emacs server, and + later uses ~emacsclient~. + + Now, most of the build time is spent by [[https:soupault.app][soupault]]. I guess I will + have to spend some time on the Lua plugins I have developed for it + at some point. + +** A New Mailing List + Finally, I have created [[https://lists.sr.ht/~lthms/public-inbox][a public mailing]] list that is available if + you want to start a discussion on one of my article. Don’t hesitate + to use it, or to register to it! diff --git a/site/news/MonthlyRetrospectives.org b/site/news/MonthlyRetrospectives.org new file mode 100644 index 0000000..22879eb --- /dev/null +++ b/site/news/MonthlyRetrospectives.org @@ -0,0 +1,11 @@ +#+TITLE: Monthly Retrospectives + +For a year or two now, I have been aware of a trend consisting in +writing monthly recap in certain developers communities. I have +enjoyed reading these regular posts, and from time to time, I have +entertained the idea of writing my own. Never did I actually act on +this thought. That is, until today. I anticipate the main audience of +this post —and hopefully the ones that will come afterwards— will be +future me, curious to remember what he was up to at that time. + +- [[./August2022.html][August 2022]] diff --git a/site/news/index.html b/site/news/index.html index e21c51f..dc9e884 100644 --- a/site/news/index.html +++ b/site/news/index.html @@ -3,6 +3,11 @@

2022