Blame


1 3f0b7cd1 2021-02-13 op [{:title "Being lazy, the Emacs macro edition"
2 3f0b7cd1 2021-02-13 op :short "repetitive tasks no more"
3 3f0b7cd1 2021-02-13 op :slug "emacs-macros"
4 3f0b7cd1 2021-02-13 op :date "2021/02/10"
5 3f0b7cd1 2021-02-13 op :tags #{:emacs}
6 3f0b7cd1 2021-02-13 op :gemtext? true
7 3f0b7cd1 2021-02-13 op :music {:title "Wait"
8 3f0b7cd1 2021-02-13 op :by "The Beatles"}}
9 3f0b7cd1 2021-02-13 op {:title "Fun with seccomp & signals"
10 1810acdc 2021-02-08 op :short "debugging fiters using signals when signals themselves are the problem"
11 1810acdc 2021-02-08 op :slug "fun-with-seccomp"
12 1810acdc 2021-02-08 op :date "2021/02/08"
13 1810acdc 2021-02-08 op :tags #{:linux}
14 1810acdc 2021-02-08 op :gemtext? true
15 1810acdc 2021-02-08 op :music {:title "Lucy in the Sky with Diamonds"
16 1810acdc 2021-02-08 op :by "The Beatles"}}
17 1810acdc 2021-02-08 op {:title "Reloading a daemon"
18 1810acdc 2021-02-08 op :short "reload != stop+start plus misc signals race-conditions"
19 1810acdc 2021-02-08 op :slug "daemon-reload"
20 1810acdc 2021-02-08 op :date "2021/02/04"
21 1810acdc 2021-02-08 op :tags #{:c :unix}
22 1810acdc 2021-02-08 op :gemtext? true
23 1810acdc 2021-02-08 op :music {:title "Strawberry Fields Forever"
24 1810acdc 2021-02-08 op :by "The Beatles"}}
25 1810acdc 2021-02-08 op {:title "gmid “Interstellar Overdrive” v1.5 update"
26 1810acdc 2021-02-08 op :short "20 days of work = whole bunch of new features"
27 1810acdc 2021-02-08 op :slug "gmid-1.5"
28 1810acdc 2021-02-08 op :date "2021/01/30"
29 1810acdc 2021-02-08 op :tags #{:gemini :gmid}
30 1810acdc 2021-02-08 op :gemtext? true
31 1810acdc 2021-02-08 op :music {:title "Interstellar Overdrive"
32 1810acdc 2021-02-08 op :by "Pink Floyd"}}
33 1810acdc 2021-02-08 op {:title "Comparing sandboxing techniques"
34 1810acdc 2021-02-08 op :short "Different ways beastie, puffy and tux play"
35 1810acdc 2021-02-08 op :slug "gmid-sandbox"
36 1810acdc 2021-02-08 op :date "2021/01/22"
37 1810acdc 2021-02-08 op :tags #{:linux :OpenBSD :FreeBSD :security}
38 1810acdc 2021-02-08 op :gemtext? true
39 1810acdc 2021-02-08 op :music {:title "Octavarium"
40 1810acdc 2021-02-08 op :by "Dream Theater"}}
41 1810acdc 2021-02-08 op {:title "Parsing PO files in Clojure"
42 c986ef11 2021-01-17 op :short "Building parsers on top of transducers, what can go wrong?"
43 c986ef11 2021-01-17 op :slug "parsing-po"
44 c986ef11 2021-01-17 op :date "2021/01/13"
45 c986ef11 2021-01-17 op :tags #{:clojure :parsing :literate-programming}
46 c986ef11 2021-01-17 op :gemtext? true
47 c986ef11 2021-01-17 op :music {:title "Metropolis Pt. 2 scenes From a Memory"
48 c986ef11 2021-01-17 op :by "Dream Theater"}}
49 c986ef11 2021-01-17 op {:title "Parsing UTF-8"
50 5c5b700d 2021-01-11 op :short "The ugly, the uglier and the finite approach"
51 5c5b700d 2021-01-11 op :slug "parsing-utf8"
52 5c5b700d 2021-01-11 op :date "2021/01/11"
53 5c5b700d 2021-01-11 op :tags #{:c :parsing}
54 5c5b700d 2021-01-11 op :gemtext? true
55 41a37f11 2021-01-11 op :music {:title "Metropolis Pt. 2 scenes From a Memory"
56 5c5b700d 2021-01-11 op :by "Dream Theater"}}
57 5c5b700d 2021-01-11 op {:title "Tangle text/gemini files"
58 f5186101 2020-12-30 op :slug "tangle-text-gemini-files"
59 f5186101 2020-12-30 op :date "2020/12/30"
60 f5186101 2020-12-30 op :tags #{:gemini :literate-programming}
61 f5186101 2020-12-30 op :short "Literate programming using text/gemini?"
62 f5186101 2020-12-30 op :gemtext? true}
63 f5186101 2020-12-30 op {:title "text/gemini to HTML with AWK"
64 d7de9ba6 2020-12-29 op :slug "text-gemini-to-html-with-awk"
65 d7de9ba6 2020-12-29 op :date "2020/12/29"
66 d7de9ba6 2020-12-29 op :tags #{:awk :gemini :git}
67 d7de9ba6 2020-12-29 op :short "Fun with AWK and text/gemini"
68 d7de9ba6 2020-12-29 op :gemtext? true
69 d7de9ba6 2020-12-29 op :music {:title "Venice Queen"
70 d7de9ba6 2020-12-29 op :by "Red Hot Chili Peppers"}}
71 d7de9ba6 2020-12-29 op {:title "The joy of elisp: an example"
72 40ca3ee3 2020-12-28 op :slug "joy-of-elisp-sndio"
73 40ca3ee3 2020-12-28 op :date "2020/12/28"
74 c9a53ab9 2020-12-30 op :tags #{:literate-programming :lisp :elisp :OpenBSD}
75 008fd57c 2020-12-28 op :short "let's make sndioctl interactive with the power of a bunch of parens!"
76 40ca3ee3 2020-12-28 op :gemtext? true
77 40ca3ee3 2020-12-28 op :music {:title "L'infinita Gioia di Henry Bahus"
78 40ca3ee3 2020-12-28 op :by "Verdena"}}
79 40ca3ee3 2020-12-28 op {:title "IRIs are not hard!"
80 dcea2574 2020-12-26 op :slug "iris-are-not-hard"
81 dcea2574 2020-12-26 op :date "2020/12/26"
82 dcea2574 2020-12-26 op :tags #{:c :gemini}
83 dcea2574 2020-12-26 op :short "design and implementation of the IRI parser for gmid"
84 dcea2574 2020-12-26 op :gemtext? true
85 dcea2574 2020-12-26 op :music {:title "Houseki no Kuni - OST Disc 1"}}
86 dcea2574 2020-12-26 op {:title "Screen recording from stumpwm"
87 db5b749f 2020-12-09 op :slug "stumpwm-record-screen"
88 db5b749f 2020-12-09 op :date "2020/12/09"
89 db5b749f 2020-12-09 op :tags #{:lisp :stumpwm}
90 db5b749f 2020-12-09 op :short "recording the screen, but with parens"
91 db5b749f 2020-12-09 op :gemtext? true
92 db5b749f 2020-12-09 op :music {:title "Deer Dance"
93 db5b749f 2020-12-09 op :by "System of a Down"}}
94 db5b749f 2020-12-09 op {:title "yasnippet and SPC"
95 dfa58710 2020-12-01 op :slug "yasnippet-expansions"
96 dfa58710 2020-12-01 op :date "2020/12/01"
97 dfa58710 2020-12-01 op :tags #{:emacs}
98 dfa58710 2020-12-01 op :short "expanding yasnippets"
99 dfa58710 2020-12-01 op :gemtext? true
100 dfa58710 2020-12-01 op :music {:title "Sign of the Cross"
101 dfa58710 2020-12-01 op :by "Iron Maiden"}}
102 dfa58710 2020-12-01 op {:title "love for c(a|d)+r"
103 a3b0e47c 2020-11-19 op :slug "love-for-cadr"
104 a3b0e47c 2020-11-19 op :date "2020/11/15"
105 a3b0e47c 2020-11-19 op :tags #{:lisp :shitposting}
106 a3b0e47c 2020-11-19 op :short "caaddaaddaaddaddaa…"
107 a3b0e47c 2020-11-19 op :gemtext? true}
108 a3b0e47c 2020-11-19 op {:title "gmid update, cgi support and services"
109 58b6d3d1 2020-11-10 op :slug "gmid-cgi-and-services"
110 58b6d3d1 2020-11-10 op :date "2020/11/10"
111 58b6d3d1 2020-11-10 op :tags #{:gemini}
112 58b6d3d1 2020-11-10 op :short "status update and cool gemini stuff"
113 58b6d3d1 2020-11-10 op :gemtext? true
114 58b6d3d1 2020-11-10 op :music {:title "Piccola Città"
115 58b6d3d1 2020-11-10 op :by "Francesco Guccini"
116 58b6d3d1 2020-11-10 op :url "https://www.youtube.com/watch?v=BjXjgyYU9eU"}}
117 58b6d3d1 2020-11-10 op {:title "Emacs side window"
118 61fdac08 2020-11-05 op :slug "emacs-side-window"
119 61fdac08 2020-11-05 op :date "2020/11/05"
120 61fdac08 2020-11-05 op :tags #{:emacs}
121 61fdac08 2020-11-05 op :short "making buffers go to fu^W side-window themself."
122 cbe42130 2020-11-05 op :gemtext? true
123 cbe42130 2020-11-05 op :music {:title "I Will Take Him"
124 cbe42130 2020-11-05 op :by "Grant Lee Buffalo"
125 cbe42130 2020-11-05 op :url "https://www.youtube.com/watch?v=q1-qPdkJgNM"}}
126 61fdac08 2020-11-05 op {:title "gmid"
127 42f36648 2020-10-15 op :slug "gmid"
128 42f36648 2020-10-15 op :date "2020/10/15"
129 42f36648 2020-10-15 op :tags #{:c :gemini}
130 42f36648 2020-10-15 op :short "adventures in network programming"
131 42f36648 2020-10-15 op :gemtext? true}
132 42f36648 2020-10-15 op {:title "Parsing Gemtext with Clojure"
133 791e96fe 2020-10-03 op :slug "parsing-gemtext-with-clojure"
134 791e96fe 2020-10-03 op :date "2020/10/03"
135 40ca3ee3 2020-12-28 op :tags #{:clojure :gemini :literate-programming}
136 791e96fe 2020-10-03 op :short "fun with transducers"
137 791e96fe 2020-10-03 op :gemtext? true}
138 791e96fe 2020-10-03 op {:title "Hello gemini!"
139 84302400 2020-10-03 op :slug "hello-gemini"
140 84302400 2020-10-03 op :date "2020/10/02"
141 84302400 2020-10-03 op :tags #{:gemini}
142 84302400 2020-10-03 op :gemtext? true}
143 84302400 2020-10-03 op {:title "sndio over the network"
144 84302400 2020-10-03 op :slug "sndio-over-network"
145 84302400 2020-10-03 op :date "2020/09/22"
146 84302400 2020-10-03 op :tags #{:OpenBSD}
147 84302400 2020-10-03 op :short "why searching for a longer cable when you can use the network? /s"
148 84302400 2020-10-03 op :gemtext? true}
149 84302400 2020-10-03 op {:title "Automatic USB Tethering on OpenBSD"
150 84302400 2020-10-03 op :slug "openbsd-tethering"
151 84302400 2020-10-03 op :date "2020/09/21"
152 84302400 2020-10-03 op :tags #{:OpenBSD}
153 84302400 2020-10-03 op :short "hotplug my lazyness"
154 84302400 2020-10-03 op :xkcd 1319
155 84302400 2020-10-03 op :gemtext? true}
156 c3fdde36 2020-10-14 op {:title "EMMS"
157 c3fdde36 2020-10-14 op :slug "emms"
158 c3fdde36 2020-10-14 op :date "2020/09/20"
159 c3fdde36 2020-10-14 op :tags #{:emacs :elisp}
160 c3fdde36 2020-10-14 op :short "How I learned to stop worrying and love the hydra/emacs/whatever"
161 c3fdde36 2020-10-14 op :music {:title "Kaerimichi"
162 c3fdde36 2020-10-14 op :url "https://www.youtube.com/watch?v=2OC6ARG6fZA"}
163 c3fdde36 2020-10-14 op :gemtext? true}
164 9df6ca91 2020-09-20 op {:title "Using IP addresses to assume the language is dumb"
165 00c39694 2020-08-04 op :slug "ip-to-assume-language-dumb"
166 00c39694 2020-08-04 op :date "2020/08/04"
167 00c39694 2020-08-04 op :tags #{:rant}
168 00c39694 2020-08-04 op :short "just your daily rant"
169 00c39694 2020-08-04 op :music {:title "One Morning"
170 00c39694 2020-08-04 op :by "Grant Lee Phillips"
171 00c39694 2020-08-04 op :url "https://www.youtube.com/watch?v=ClmbCOW73eo"}}
172 00c39694 2020-08-04 op {:title "Localization of dates in web pages"
173 23019157 2020-08-03 op :slug "localization-of-dates-in-web-pages"
174 23019157 2020-08-03 op :date "2020/08/03"
175 23019157 2020-08-03 op :tags #{:l10n}
176 23019157 2020-08-03 op :short ""
177 23019157 2020-08-03 op :music {:title "Dream in Color"
178 e614f03a 2020-08-03 op :by "Grant Lee Phillips"
179 23019157 2020-08-03 op :url "https://www.youtube.com/watch?v=uqyduBWlmKs"}}
180 47e99d0e 2020-11-07 op {:title "enjoying CDPATH"
181 47e99d0e 2020-11-07 op :slug "enjoying-cdpath"
182 47e99d0e 2020-11-07 op :date "2020/06/27"
183 47e99d0e 2020-11-07 op :tags #{:sh}
184 47e99d0e 2020-11-07 op :short "changing directory like a ninja."
185 47e99d0e 2020-11-07 op :gemtext? true}
186 5e8f809e 2020-06-27 op #_ {:title "sickforth episode 1: parsing"
187 5e8f809e 2020-06-27 op :slug "sickforth-episode-01-parsing"
188 5e8f809e 2020-06-27 op :date "2020/06/23"
189 5e8f809e 2020-06-27 op :tags #{:compilers :sickforth}
190 5e8f809e 2020-06-27 op :short "You've got to start from somewhere"}
191 5e8f809e 2020-06-27 op #_ {:title "sickforth episode 0: introduction"
192 5e8f809e 2020-06-27 op :slug "sickforth-episode-00-intro"
193 5e8f809e 2020-06-27 op :date "2020/06/23"
194 5e8f809e 2020-06-27 op :tags #{:compilers :sickforth}
195 5e8f809e 2020-06-27 op :short "Let's write a compiler for an (arbitrary) subset of Forth!"}
196 5e8f809e 2020-06-27 op #_ {:title "building FreeBSD packages with Synth"
197 5e8f809e 2020-06-27 op :slug "building-freebsd-packages-with-synth"
198 5e8f809e 2020-06-27 op :date "2020/06/13"
199 5e8f809e 2020-06-27 op :tags #{:FreeBSD}
200 5e8f809e 2020-06-27 op :short "Build with ease. Scripts included!"}
201 5e8f809e 2020-06-27 op {:title "Threading macros for elisp"
202 5e8f809e 2020-06-27 op :slug "elisp-threading-macros"
203 5e8f809e 2020-06-27 op :date "2020/06/04"
204 5e8f809e 2020-06-27 op :tags #{:elisp}
205 5e8f809e 2020-06-27 op :short "(-> '->> symbol-name (concat \" is so cool\"))"
206 5e8f809e 2020-06-27 op :toot "https://europecom.net/notice/9vm27kyIDp6oe8h3su"}
207 5e8f809e 2020-06-27 op {:title "Updating the ssh key to ed25519"
208 5e8f809e 2020-06-27 op :slug "upgrading-ssh-key-ed25519"
209 5e8f809e 2020-06-27 op :date "2020/06/03"
210 5e8f809e 2020-06-27 op :tags #{:ssh}
211 5e8f809e 2020-06-27 op :short "no TL;DR this time"}
212 5e8f809e 2020-06-27 op {:title "Logstash + jdbc = role does not exists"
213 5e8f809e 2020-06-27 op :slug "logstash-jdbc-role-does-not-exists"
214 5e8f809e 2020-06-27 op :date "2020/05/10"
215 5e8f809e 2020-06-27 op :tags #{:logstash :postgresql}
216 5e8f809e 2020-06-27 op :short "TL;DR use the connection string properly"}
217 5e8f809e 2020-06-27 op {:title "Finite State Machine in Godot"
218 5e8f809e 2020-06-27 op :slug "finite-automata-godot"
219 5e8f809e 2020-06-27 op :date "2020/04/29"
220 5e8f809e 2020-06-27 op :tags #{:godot}
221 5e8f809e 2020-06-27 op :short "Did I mention how I love finite automata?"}
222 5e8f809e 2020-06-27 op {:title "cgit & gitolite"
223 5e8f809e 2020-06-27 op :slug "cgit-gitolite"
224 5e8f809e 2020-06-27 op :date "2020/04/22"
225 5e8f809e 2020-06-27 op :tags #{:git}
226 5e8f809e 2020-06-27 op :short "Custom git server with web interface & users management"}
227 5e8f809e 2020-06-27 op {:title "$HOME as a git repo"
228 5e8f809e 2020-06-27 op :slug "home-as-git-repo"
229 5e8f809e 2020-06-27 op :date "2020/04/02"
230 5e8f809e 2020-06-27 op :tags #{:git}
231 5e8f809e 2020-06-27 op :short "How do you track dotfiles?"}
232 5e8f809e 2020-06-27 op {:title "Multiplexing data in sh(1)"
233 5e8f809e 2020-06-27 op :slug "sh-multiplexing-data"
234 5e8f809e 2020-06-27 op :date "2019/10/17"
235 5e8f809e 2020-06-27 op :tags #{:sh}
236 5e8f809e 2020-06-27 op :short "please put something clever here"}
237 5e8f809e 2020-06-27 op {:title "Poor man's unbound dashboard"
238 5e8f809e 2020-06-27 op :slug "poor-mans-unbound-dashboard"
239 5e8f809e 2020-06-27 op :date "2019/10/16"
240 5e8f809e 2020-06-27 op :tags #{:OpenBSD :tmux}
241 5e8f809e 2020-06-27 op :short "A little bit of bash, fifos, tmux & ttyplot"}
242 5e8f809e 2020-06-27 op {:title "Core naming in linux"
243 5e8f809e 2020-06-27 op :slug "core-naming-on-linux"
244 5e8f809e 2020-06-27 op :date "2019/10/15"
245 5e8f809e 2020-06-27 op :tags #{:OpenBSD :linux}
246 5e8f809e 2020-06-27 op :short "Porting BSD behaviours to linux"}
247 5e8f809e 2020-06-27 op {:title "CSS sprites with awk and ImageMagick"
248 5e8f809e 2020-06-27 op :slug "css-sprites-awk-imagemagick"
249 5e8f809e 2020-06-27 op :date "2019/08/08"
250 5e8f809e 2020-06-27 op :tags #{:css :awk}
251 5e8f809e 2020-06-27 op :short "I like to automatize things"}
252 5e8f809e 2020-06-27 op {:title "Using the C preprocessors for CSS generation"
253 5e8f809e 2020-06-27 op :slug "cpp-css"
254 5e8f809e 2020-06-27 op :date "2019/03/30"
255 5e8f809e 2020-06-27 op :tags #{:css}
256 5e8f809e 2020-06-27 op :short "old tools for new websites"}
257 5e8f809e 2020-06-27 op {:title "F* on OpenBSD"
258 5e8f809e 2020-06-27 op :slug "fstar-openbsd"
259 5e8f809e 2020-06-27 op :date "2019/03/25"
260 5e8f809e 2020-06-27 op :tags #{:fstar :OpenBSD}
261 5e8f809e 2020-06-27 op :short "It just works"}
262 5e8f809e 2020-06-27 op {:title "Abbreviations in vi(1)"
263 5e8f809e 2020-06-27 op :slug "abbreviations-vi"
264 5e8f809e 2020-06-27 op :date "2018/09/14"
265 5e8f809e 2020-06-27 op :tags #{:vi}
266 5e8f809e 2020-06-27 op :short "type even less"}
267 5e8f809e 2020-06-27 op {:title "Improving maildir opening time in mutt"
268 5e8f809e 2020-06-27 op :slug "maildir-mutt-time"
269 5e8f809e 2020-06-27 op :date "2018/09/14"
270 5e8f809e 2020-06-27 op :tags #{:mutt}
271 5e8f809e 2020-06-27 op :short "<code>header_cache</code> is just awesome"}
272 5e8f809e 2020-06-27 op {:title "Spell checking in vi(1)"
273 5e8f809e 2020-06-27 op :slug "spell-checking-vi"
274 5e8f809e 2020-06-27 op :date "2018/09/08"
275 5e8f809e 2020-06-27 op :tags #{:vi}
276 5e8f809e 2020-06-27 op :short "Aspell plays nice with vi."}]