summaryrefslogtreecommitdiffstats
path: root/site/news/September2022.org
blob: ffbd1dc48b92c6a24c45106d96d32977ca2a2319 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#+TITLE: Monthly Retrospective: September 2022

#+SERIES: ./MonthlyRetrospectives.html
#+SERIES_PREV: ./August2022.html

It is September 18 today, and it has already been a month since I
decided to start these retrospectives. This means it is time to take a
step back and reflect of what happened these past few thirty days or
so[fn::There is the shocking news that I have started to use syntax
highlighting again. But let’s not dwelve too much into it just yet.].

* Spatial Sway
  A few days after publishing my August Retrospective, I have learnt
  the existence of [[https://material-shell.com][Material Shell]], an extension for Gnome that
  provides a very interesting user experience.

  I tried it for a few hours, but the thing kept crashing (it’s
  probably on me, I did not even remember I had Gnome installed on my
  machine, and I would not be surprised the culprit was my dusty setup
  rather than Material Shell itself). The experience remained very
  promising, though. Their “spatial model” especially felt like a very
  good fit for me. Basically, the main idea is that you have a grid of
  windows, with your workspaces acting as the rows. You can navigate
  horizontally (from one workspace to another), or horizontally, and
  you choose how many windows you want to see at once on your screen.

  And so for a few hours, I was a bit frustrated by the situation…
  until I learnt about how one can actually manage and extend Sway
  (the wayland compositor I use for several years now) thanks to its
  IPC protocol.  I spend like three days experimenting, first in Rust,
  then in OCaml,[[mn:ocaml][This was actually an interesting thought process. I am
  using OCaml at ~$WORK~ for about more than a year now. I have
  curated a setup that works pretty well, and I am familiar with the
  development tools. On the contrary, I had not written a line of Rust
  for at least a year, my Emacs configuration for this language was
  broken, and I had lost all my fluancy in this language. Still, I was
  not expecting to pick OCaml when I started this project.]] and by the
  end of the week, I had a first working prototype I called [[https://github.com/lthms/spatial-sway][Spatial
  Sway]]. It works pretty well, enough at least that I am using it daily
  for several weeks now. It feels clunky at time, but it works well,
  and I have been able to write a [[https://github.com/Alexays/Waybar][Waybar]] configuration heavily
  inspired on Material Shell UI.

  Overall, I am pretty satisfied with this turnout. Writing a hobbyist
  software project is always nice, but the one you can integrate in
  your daily workflow are the best one. The last time I did that was
  [[https://sr.ht/~lthms/keyrd][*keyrd*]], my little keystrokes counting daemon[fn::19,970,965 since I
  started using it at the time of writing this article].

  Anyway, lots remain to be said about Spatial Sway, but I might save
  it for a bit later. I still have some key features to implement
  (notably, moving a window to another workspaces), then I will
  probably try to advertise it a bit. I am under the impression this
  project could be of interest for other, and I would love to see it
  used by folks willing to give a Material Shell-like experience a
  try, without having to deal with Gnome Shell. By the way,
  considering Sway is a drop-in replacement for i3, and that it
  implements the exact same IPC protocol, there is no reason why
  Spatial Sway is actually Sway specific, and I will rename it Spatial
  Shell at some point.

   #+CAPTION: Mandatory screenshot of Spatial Sway.
   #+NAME:    fig:hydra-theme-menu
   [[../img/spatial-sway-preview.png]]

* This Website
  On a side note, I have started to refine the layout of this website
  a bit. Similarly, I have written a new, curated home page where I
  want to highlight the most recent things I have published on the
  Internet.

  I have been experimenting with [[https://github.com/cpitclaudel/alectryon/][Alectryon]] as a way to replace
  ~coqdoc~, to improve the readability of my Coq-related
  articles. Unfortunately, it looks like this tool is missing [[https://github.com/cpitclaudel/alectryon/issues/86][a key
  feature I need]]. I might try to get my hand dirty and implement it my
  self, if I find the time and the motivation in the following weeks.

  Finally, reading about how [[https://xeiaso.net/talks/how-my-website-works][Xe Iaso’s talk about how she generates
  her blog]] was very inspiring too me. I can only suggest you to have a
  look.

  Though not to the same extend, I too think I have spent way too much
  effort in my website. Most of my Coq-related articles are actual Coq
  program, expect the articles about ~coqffi~ which are actual
  literate programs. Hell, this website itself used to be a literate
  program of sort, until I stopped using my homegrown literate
  programming toolchain *~cleopatra~* last month. At some point, I
  have even spent a bit of time to ensure most of the pages of this
  website were granted a 100/100 on websites like PageSpeed
  Insight[fn::Good news, I’ve just checked, and it still is!]. I had
  almost forgot.

  A lot remains to be done, but watching this talk made me reflect on
  the job done. And opened my eyes to new perspective, too. We will
  see what translates into reality.