Blob


1 [{:title "I wrote a music player"
2 :short "experiments that I end up liking"
3 :slug "amused"
4 :date "2022/02/19"
5 :tags #{:c :music}
6 :gemtext? true
7 :music {:title "Century Child"
8 :by "Nightwish"}}
9 {:title "Telescope 0.7"
10 :short "New release for my favourite gemini browser"
11 :slug "telescope-07"
12 :date "2022/01/13"
13 :tags #{:gemini}
14 :gemtext? true
15 :music {:title "Via Paolo Fabbri 43"
16 :by "Francesco Guccini"
17 :url "https://www.youtube.com/watch?v=hzR9d2payMY"}}
18 #_{:title "My favorite (OpenBSD) hacks"
19 :short "These are a few of my favorite hacks"
20 :slug "my-favorite-openbsd-hacks"
21 :date "2021/10/17"
22 :tags #{:OpenBSD}
23 :gemtext? true
24 :music {:title "Our favorite hacks"
25 :by "OpenBSD"}}
26 {:title "A Clojure library for Gemini"
27 :short "antenna inspired things"
28 :slug "gemini-clojure"
29 :date "2021/10/16"
30 :tags #{:clojure :gemini}
31 :gemtext? true
32 :music {:title "Good Advices"
33 :by "R.E.M."}}
34 {:title "One year of gmid"
35 :short "We can reach our destination, but we're still a ways away"
36 :slug "one-year-of-gmid"
37 :date "2021/10/12"
38 :tags #{:gmid :gemini}
39 :gemtext? true
40 :music {:title "Driver 8"
41 :by "R.E.M."}}
42 {:title "Extracting files from zips"
43 :short "meet zlib"
44 :slug "extracting-from-zips"
45 :date "2021/08/21"
46 :tags #{:c :literate-programming}
47 :gemtext? true
48 :music {:title "Square one"
49 :by "Coldplay"}}
50 {:title "Inspecting zip files"
51 :short "Look ma, without libraries!"
52 :slug "inspecting-zips"
53 :date "2021/08/19"
54 :tags #{:c :literate-programming}
55 :gemtext? true
56 :music {:title "Twisted Logic"
57 :by "Coldplay"}}
58 {:title "Writing a simple Emacs major-mode"
59 :short "About DSLs and custom major-modes"
60 :slug "writing-a-major-mode"
61 :date "2021/08/06"
62 :tags #{:elisp :emacs}
63 :gemtext? true
64 :music {:title "New Millennium"
65 :by "Dream Theater"}}
66 {:title "Talking ’bout 9P: open and walk"
67 :short "The mindblowing Twalk"
68 :slug "taking-about-9p-open-and-walk"
69 :date "2021/08/01"
70 :tags #{:nine-p}
71 :gemtext? true
72 :music {:title "The Riddler"
73 :by "Nightwish"}}
74 {:title "Talking ’bout 9P: intro"
75 :short "Getting to know 9P"
76 :slug "taking-about-9p-intro"
77 :date "2021/07/31"
78 :tags #{:nine-p}
79 :gemtext? true
80 :music {:title "The Pharaoh Sails to Orion"
81 :by "Nightwish"}}
82 {:title "The current state of theme switching"
83 :short "A cry for help."
84 :slug "state-of-theme-switching"
85 :date "2021/07/26"
86 :tags #{:rant}
87 :gemtext? true
88 :music {:title "Gethsemane"
89 :by "Nightwish"}}
90 {:title "How to suspend a UNIX process"
91 :short "I want to break free!"
92 :slug "suspend-unix-process"
93 :date "2021/07/15"
94 :tags #{:unix}
95 :gemtext? true
96 :music {:title "I want to break free"
97 :by "The Queen"}}
98 {:title "gmid “Space-dye Vest” 1.7 update"
99 :short "Your preferred Gemini server, updated!"
100 :slug "gmid-1.7"
101 :date "2021/07/10"
102 :tags #{:gemini :gmid}
103 :gemtext? true
104 :music {:title "Space-Dye Vest"
105 :by "Dream Theater"}}
106 {:title "Virtual users and OpenSMTPD/Dovecot"
107 :short "AWK for the rescue!"
108 :slug "opensmtd-dovecot-virtual-users"
109 :date "2021/06/05"
110 :tags #{:mail}
111 :gemtext? true
112 :music {:title "Rifare"
113 :by "Tre Allegri Ragazzi Morti"}}
114 {:title "Parsing text/gemini with Clojure revisited"
115 :short "shorter is better"
116 :slug "gemtext-clojure"
117 :date "2021/04/16"
118 :tags #{:gemini :clojure :lisp}
119 :gemtext? true
120 :music {:title "How to Disappear Completely"
121 :by "Radiohead"}}
122 {:title "gmid “Stargazers” v1.6 update"
123 :short "it's finally here!"
124 :slug "gmid-1.6"
125 :date "2021/03/20"
126 :tags #{:gemini :gmid}
127 :gemtext? true
128 :music {:title "Stargazers"
129 :by "Nightwish"}}
130 {:title "Customize tty colors"
131 :short "Thou shalt use a bright-colorscheme even in ttys"
132 :slug "change-tty-colors"
133 :date "2021/02/23"
134 :tags #{:linux}
135 :gemtext? true
136 :music {:title "Tema del soldato eterno e degli aironi"
137 :by "Roberto Vecchioni"}}
138 {:title "Being lazy, the Emacs macro edition"
139 :short "repetitive tasks no more"
140 :slug "emacs-macros"
141 :date "2021/02/10"
142 :tags #{:emacs}
143 :gemtext? true
144 :music {:title "Wait"
145 :by "The Beatles"}}
146 {:title "Fun with seccomp & signals"
147 :short "debugging fiters using signals when signals themselves are the problem"
148 :slug "fun-with-seccomp"
149 :date "2021/02/08"
150 :tags #{:linux}
151 :gemtext? true
152 :music {:title "Lucy in the Sky with Diamonds"
153 :by "The Beatles"}}
154 {:title "Reloading a daemon"
155 :short "reload != stop+start plus misc signals race-conditions"
156 :slug "daemon-reload"
157 :date "2021/02/04"
158 :tags #{:c :unix}
159 :gemtext? true
160 :music {:title "Strawberry Fields Forever"
161 :by "The Beatles"}}
162 {:title "gmid “Interstellar Overdrive” v1.5 update"
163 :short "20 days of work = whole bunch of new features"
164 :slug "gmid-1.5"
165 :date "2021/01/30"
166 :tags #{:gemini :gmid}
167 :gemtext? true
168 :music {:title "Interstellar Overdrive"
169 :by "Pink Floyd"}}
170 {:title "Comparing sandboxing techniques"
171 :short "Different ways beastie, puffy and tux play"
172 :slug "gmid-sandbox"
173 :date "2021/01/22"
174 :tags #{:linux :OpenBSD :FreeBSD :security}
175 :gemtext? true
176 :music {:title "Octavarium"
177 :by "Dream Theater"}}
178 {:title "Parsing PO files in Clojure"
179 :short "Building parsers on top of transducers, what can go wrong?"
180 :slug "parsing-po"
181 :date "2021/01/13"
182 :tags #{:clojure :parsing :literate-programming}
183 :gemtext? true
184 :music {:title "Metropolis Pt. 2 scenes From a Memory"
185 :by "Dream Theater"}}
186 {:title "Parsing UTF-8"
187 :short "The ugly, the uglier and the finite approach"
188 :slug "parsing-utf8"
189 :date "2021/01/11"
190 :tags #{:c :parsing}
191 :gemtext? true
192 :music {:title "Metropolis Pt. 2 scenes From a Memory"
193 :by "Dream Theater"}}
194 {:title "Tangle text/gemini files"
195 :slug "tangle-text-gemini-files"
196 :date "2020/12/30"
197 :tags #{:gemini :literate-programming}
198 :short "Literate programming using text/gemini?"
199 :gemtext? true}
200 {:title "text/gemini to HTML with AWK"
201 :slug "text-gemini-to-html-with-awk"
202 :date "2020/12/29"
203 :tags #{:awk :gemini :git}
204 :short "Fun with AWK and text/gemini"
205 :gemtext? true
206 :music {:title "Venice Queen"
207 :by "Red Hot Chili Peppers"}}
208 {:title "The joy of elisp: an example"
209 :slug "joy-of-elisp-sndio"
210 :date "2020/12/28"
211 :tags #{:literate-programming :lisp :elisp :OpenBSD}
212 :short "let's make sndioctl interactive with the power of a bunch of parens!"
213 :gemtext? true
214 :music {:title "L'infinita Gioia di Henry Bahus"
215 :by "Verdena"}}
216 {:title "IRIs are not hard!"
217 :slug "iris-are-not-hard"
218 :date "2020/12/26"
219 :tags #{:c :gemini}
220 :short "design and implementation of the IRI parser for gmid"
221 :gemtext? true
222 :music {:title "Houseki no Kuni - OST Disc 1"}}
223 {:title "Screen recording from stumpwm"
224 :slug "stumpwm-record-screen"
225 :date "2020/12/09"
226 :tags #{:lisp :stumpwm}
227 :short "recording the screen, but with parens"
228 :gemtext? true
229 :music {:title "Deer Dance"
230 :by "System of a Down"}}
231 {:title "yasnippet and SPC"
232 :slug "yasnippet-expansions"
233 :date "2020/12/01"
234 :tags #{:emacs}
235 :short "expanding yasnippets"
236 :gemtext? true
237 :music {:title "Sign of the Cross"
238 :by "Iron Maiden"}}
239 {:title "love for c(a|d)+r"
240 :slug "love-for-cadr"
241 :date "2020/11/15"
242 :tags #{:lisp :shitposting}
243 :short "caaddaaddaaddaddaa…"
244 :gemtext? true}
245 {:title "gmid update, cgi support and services"
246 :slug "gmid-cgi-and-services"
247 :date "2020/11/10"
248 :tags #{:gemini}
249 :short "status update and cool gemini stuff"
250 :gemtext? true
251 :music {:title "Piccola Città"
252 :by "Francesco Guccini"
253 :url "https://www.youtube.com/watch?v=BjXjgyYU9eU"}}
254 {:title "Emacs side window"
255 :slug "emacs-side-window"
256 :date "2020/11/05"
257 :tags #{:emacs}
258 :short "making buffers go to fu^W side-window themself."
259 :gemtext? true
260 :music {:title "I Will Take Him"
261 :by "Grant Lee Buffalo"
262 :url "https://www.youtube.com/watch?v=q1-qPdkJgNM"}}
263 {:title "gmid"
264 :slug "gmid"
265 :date "2020/10/15"
266 :tags #{:c :gemini}
267 :short "adventures in network programming"
268 :gemtext? true}
269 {:title "Parsing Gemtext with Clojure"
270 :slug "parsing-gemtext-with-clojure"
271 :date "2020/10/03"
272 :tags #{:clojure :gemini :literate-programming}
273 :short "fun with transducers"
274 :gemtext? true}
275 {:title "Hello gemini!"
276 :slug "hello-gemini"
277 :date "2020/10/02"
278 :tags #{:gemini}
279 :gemtext? true}
280 {:title "sndio over the network"
281 :slug "sndio-over-network"
282 :date "2020/09/22"
283 :tags #{:OpenBSD}
284 :short "why searching for a longer cable when you can use the network? /s"
285 :gemtext? true}
286 {:title "Automatic USB Tethering on OpenBSD"
287 :slug "openbsd-tethering"
288 :date "2020/09/21"
289 :tags #{:OpenBSD}
290 :short "hotplug my lazyness"
291 :xkcd 1319
292 :gemtext? true}
293 {:title "EMMS"
294 :slug "emms"
295 :date "2020/09/20"
296 :tags #{:emacs :elisp}
297 :short "How I learned to stop worrying and love the hydra/emacs/whatever"
298 :music {:title "Kaerimichi"
299 :url "https://www.youtube.com/watch?v=2OC6ARG6fZA"}
300 :gemtext? true}
301 {:title "Using IP addresses to assume the language is dumb"
302 :slug "ip-to-assume-language-dumb"
303 :date "2020/08/04"
304 :tags #{:rant}
305 :short "just your daily rant"
306 :music {:title "One Morning"
307 :by "Grant Lee Phillips"
308 :url "https://www.youtube.com/watch?v=ClmbCOW73eo"}}
309 {:title "Localization of dates in web pages"
310 :slug "localization-of-dates-in-web-pages"
311 :date "2020/08/03"
312 :tags #{:l10n}
313 :short ""
314 :music {:title "Dream in Color"
315 :by "Grant Lee Phillips"
316 :url "https://www.youtube.com/watch?v=uqyduBWlmKs"}}
317 {:title "enjoying CDPATH"
318 :slug "enjoying-cdpath"
319 :date "2020/06/27"
320 :tags #{:sh}
321 :short "changing directory like a ninja."
322 :gemtext? true}
323 #_ {:title "sickforth episode 1: parsing"
324 :slug "sickforth-episode-01-parsing"
325 :date "2020/06/23"
326 :tags #{:compilers :sickforth}
327 :short "You've got to start from somewhere"}
328 #_ {:title "sickforth episode 0: introduction"
329 :slug "sickforth-episode-00-intro"
330 :date "2020/06/23"
331 :tags #{:compilers :sickforth}
332 :short "Let's write a compiler for an (arbitrary) subset of Forth!"}
333 #_ {:title "building FreeBSD packages with Synth"
334 :slug "building-freebsd-packages-with-synth"
335 :date "2020/06/13"
336 :tags #{:FreeBSD}
337 :short "Build with ease. Scripts included!"}
338 {:title "Threading macros for elisp"
339 :slug "elisp-threading-macros"
340 :date "2020/06/04"
341 :tags #{:elisp}
342 :short "(-> '->> symbol-name (concat \" is so cool\"))"
343 :toot "https://europecom.net/notice/9vm27kyIDp6oe8h3su"}
344 {:title "Updating the ssh key to ed25519"
345 :slug "upgrading-ssh-key-ed25519"
346 :date "2020/06/03"
347 :tags #{:ssh}
348 :short "no TL;DR this time"}
349 {:title "Logstash + jdbc = role does not exists"
350 :slug "logstash-jdbc-role-does-not-exists"
351 :date "2020/05/10"
352 :tags #{:logstash :postgresql}
353 :short "TL;DR use the connection string properly"}
354 {:title "Finite State Machine in Godot"
355 :slug "finite-automata-godot"
356 :date "2020/04/29"
357 :tags #{:godot}
358 :short "Did I mention how I love finite automata?"}
359 {:title "cgit & gitolite"
360 :slug "cgit-gitolite"
361 :date "2020/04/22"
362 :tags #{:git}
363 :short "Custom git server with web interface & users management"
364 :gemtext? true}
365 {:title "$HOME as a git repo"
366 :slug "home-as-git-repo"
367 :date "2020/04/02"
368 :tags #{:git}
369 :short "How do you track dotfiles?"}
370 {:title "Multiplexing data in sh(1)"
371 :slug "sh-multiplexing-data"
372 :date "2019/10/17"
373 :tags #{:sh}
374 :short "please put something clever here"}
375 {:title "Poor man's unbound dashboard"
376 :slug "poor-mans-unbound-dashboard"
377 :date "2019/10/16"
378 :tags #{:OpenBSD :tmux}
379 :short "A little bit of bash, fifos, tmux & ttyplot"}
380 {:title "Core naming in linux"
381 :slug "core-naming-on-linux"
382 :date "2019/10/15"
383 :tags #{:OpenBSD :linux}
384 :short "Porting BSD behaviours to linux"}
385 {:title "CSS sprites with awk and ImageMagick"
386 :slug "css-sprites-awk-imagemagick"
387 :date "2019/08/08"
388 :tags #{:css :awk}
389 :short "I like to automatize things"}
390 {:title "Using the C preprocessors for CSS generation"
391 :slug "cpp-css"
392 :date "2019/03/30"
393 :tags #{:css}
394 :short "old tools for new websites"}
395 {:title "F* on OpenBSD"
396 :slug "fstar-openbsd"
397 :date "2019/03/25"
398 :tags #{:fstar :OpenBSD}
399 :short "It just works"}
400 {:title "Abbreviations in vi(1)"
401 :slug "abbreviations-vi"
402 :date "2018/09/14"
403 :tags #{:vi}
404 :short "type even less"}
405 {:title "Improving maildir opening time in mutt"
406 :slug "maildir-mutt-time"
407 :date "2018/09/14"
408 :tags #{:mutt}
409 :short "<code>header_cache</code> is just awesome"}
410 {:title "Spell checking in vi(1)"
411 :slug "spell-checking-vi"
412 :date "2018/09/08"
413 :tags #{:vi}
414 :short "Aspell plays nice with vi."}]