Blob


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