1 [#_{:title "My favorite (OpenBSD) hacks"
2 :short "These are a few of my favorite hacks"
3 :slug "my-favorite-openbsd-hacks"
7 :music {:title "Our favorite hacks"
9 {:title "A Clojure library for Gemini"
10 :short "antenna inspired things"
11 :slug "gemini-clojure"
13 :tags #{:clojure :gemini}
15 :music {:title "Good Advices"
17 {:title "One year of gmid"
18 :short "We can reach our destination, but we're still a ways away"
19 :slug "one-year-of-gmid"
21 :tags #{:gmid :gemini}
23 :music {:title "Driver 8"
25 {:title "Extracting files from zips"
27 :slug "extracting-from-zips"
29 :tags #{:c :literate-programming}
31 :music {:title "Square one"
33 {:title "Inspecting zip files"
34 :short "Look ma, without libraries!"
35 :slug "inspecting-zips"
37 :tags #{:c :literate-programming}
39 :music {:title "Twisted Logic"
41 {:title "Writing a simple Emacs major-mode"
42 :short "About DSLs and custom major-modes"
43 :slug "writing-a-major-mode"
45 :tags #{:elisp :emacs}
47 :music {:title "New Millennium"
49 {:title "Talking ’bout 9P: open and walk"
50 :short "The mindblowing Twalk"
51 :slug "taking-about-9p-open-and-walk"
55 :music {:title "The Riddler"
57 {:title "Talking ’bout 9P: intro"
58 :short "Getting to know 9P"
59 :slug "taking-about-9p-intro"
63 :music {:title "The Pharaoh Sails to Orion"
65 {:title "The current state of theme switching"
66 :short "A cry for help."
67 :slug "state-of-theme-switching"
71 :music {:title "Gethsemane"
73 {:title "How to suspend a UNIX process"
74 :short "I want to break free!"
75 :slug "suspend-unix-process"
79 :music {:title "I want to break free"
81 {:title "gmid “Space-dye Vest” 1.7 update"
82 :short "Your preferred Gemini server, updated!"
85 :tags #{:gemini :gmid}
87 :music {:title "Space-Dye Vest"
89 {:title "Virtual users and OpenSMTPD/Dovecot"
90 :short "AWK for the rescue!"
91 :slug "opensmtd-dovecot-virtual-users"
95 :music {:title "Rifare"
96 :by "Tre Allegri Ragazzi Morti"}}
97 {:title "Parsing text/gemini with Clojure revisited"
98 :short "shorter is better"
99 :slug "gemtext-clojure"
101 :tags #{:gemini :clojure :lisp}
103 :music {:title "How to Disappear Completely"
105 {:title "gmid “Stargazers” v1.6 update"
106 :short "it's finally here!"
109 :tags #{:gemini :gmid}
111 :music {:title "Stargazers"
113 {:title "Customize tty colors"
114 :short "Thou shalt use a bright-colorscheme even in ttys"
115 :slug "change-tty-colors"
119 :music {:title "Tema del soldato eterno e degli aironi"
120 :by "Roberto Vecchioni"}}
121 {:title "Being lazy, the Emacs macro edition"
122 :short "repetitive tasks no more"
127 :music {:title "Wait"
129 {:title "Fun with seccomp & signals"
130 :short "debugging fiters using signals when signals themselves are the problem"
131 :slug "fun-with-seccomp"
135 :music {:title "Lucy in the Sky with Diamonds"
137 {:title "Reloading a daemon"
138 :short "reload != stop+start plus misc signals race-conditions"
139 :slug "daemon-reload"
143 :music {:title "Strawberry Fields Forever"
145 {:title "gmid “Interstellar Overdrive” v1.5 update"
146 :short "20 days of work = whole bunch of new features"
149 :tags #{:gemini :gmid}
151 :music {:title "Interstellar Overdrive"
153 {:title "Comparing sandboxing techniques"
154 :short "Different ways beastie, puffy and tux play"
157 :tags #{:linux :OpenBSD :FreeBSD :security}
159 :music {:title "Octavarium"
160 :by "Dream Theater"}}
161 {:title "Parsing PO files in Clojure"
162 :short "Building parsers on top of transducers, what can go wrong?"
165 :tags #{:clojure :parsing :literate-programming}
167 :music {:title "Metropolis Pt. 2 scenes From a Memory"
168 :by "Dream Theater"}}
169 {:title "Parsing UTF-8"
170 :short "The ugly, the uglier and the finite approach"
175 :music {:title "Metropolis Pt. 2 scenes From a Memory"
176 :by "Dream Theater"}}
177 {:title "Tangle text/gemini files"
178 :slug "tangle-text-gemini-files"
180 :tags #{:gemini :literate-programming}
181 :short "Literate programming using text/gemini?"
183 {:title "text/gemini to HTML with AWK"
184 :slug "text-gemini-to-html-with-awk"
186 :tags #{:awk :gemini :git}
187 :short "Fun with AWK and text/gemini"
189 :music {:title "Venice Queen"
190 :by "Red Hot Chili Peppers"}}
191 {:title "The joy of elisp: an example"
192 :slug "joy-of-elisp-sndio"
194 :tags #{:literate-programming :lisp :elisp :OpenBSD}
195 :short "let's make sndioctl interactive with the power of a bunch of parens!"
197 :music {:title "L'infinita Gioia di Henry Bahus"
199 {:title "IRIs are not hard!"
200 :slug "iris-are-not-hard"
203 :short "design and implementation of the IRI parser for gmid"
205 :music {:title "Houseki no Kuni - OST Disc 1"}}
206 {:title "Screen recording from stumpwm"
207 :slug "stumpwm-record-screen"
209 :tags #{:lisp :stumpwm}
210 :short "recording the screen, but with parens"
212 :music {:title "Deer Dance"
213 :by "System of a Down"}}
214 {:title "yasnippet and SPC"
215 :slug "yasnippet-expansions"
218 :short "expanding yasnippets"
220 :music {:title "Sign of the Cross"
222 {:title "love for c(a|d)+r"
223 :slug "love-for-cadr"
225 :tags #{:lisp :shitposting}
226 :short "caaddaaddaaddaddaa…"
228 {:title "gmid update, cgi support and services"
229 :slug "gmid-cgi-and-services"
232 :short "status update and cool gemini stuff"
234 :music {:title "Piccola Città"
235 :by "Francesco Guccini"
236 :url "https://www.youtube.com/watch?v=BjXjgyYU9eU"}}
237 {:title "Emacs side window"
238 :slug "emacs-side-window"
241 :short "making buffers go to fu^W side-window themself."
243 :music {:title "I Will Take Him"
244 :by "Grant Lee Buffalo"
245 :url "https://www.youtube.com/watch?v=q1-qPdkJgNM"}}
250 :short "adventures in network programming"
252 {:title "Parsing Gemtext with Clojure"
253 :slug "parsing-gemtext-with-clojure"
255 :tags #{:clojure :gemini :literate-programming}
256 :short "fun with transducers"
258 {:title "Hello gemini!"
263 {:title "sndio over the network"
264 :slug "sndio-over-network"
267 :short "why searching for a longer cable when you can use the network? /s"
269 {:title "Automatic USB Tethering on OpenBSD"
270 :slug "openbsd-tethering"
273 :short "hotplug my lazyness"
279 :tags #{:emacs :elisp}
280 :short "How I learned to stop worrying and love the hydra/emacs/whatever"
281 :music {:title "Kaerimichi"
282 :url "https://www.youtube.com/watch?v=2OC6ARG6fZA"}
284 {:title "Using IP addresses to assume the language is dumb"
285 :slug "ip-to-assume-language-dumb"
288 :short "just your daily rant"
289 :music {:title "One Morning"
290 :by "Grant Lee Phillips"
291 :url "https://www.youtube.com/watch?v=ClmbCOW73eo"}}
292 {:title "Localization of dates in web pages"
293 :slug "localization-of-dates-in-web-pages"
297 :music {:title "Dream in Color"
298 :by "Grant Lee Phillips"
299 :url "https://www.youtube.com/watch?v=uqyduBWlmKs"}}
300 {:title "enjoying CDPATH"
301 :slug "enjoying-cdpath"
304 :short "changing directory like a ninja."
306 #_ {:title "sickforth episode 1: parsing"
307 :slug "sickforth-episode-01-parsing"
309 :tags #{:compilers :sickforth}
310 :short "You've got to start from somewhere"}
311 #_ {:title "sickforth episode 0: introduction"
312 :slug "sickforth-episode-00-intro"
314 :tags #{:compilers :sickforth}
315 :short "Let's write a compiler for an (arbitrary) subset of Forth!"}
316 #_ {:title "building FreeBSD packages with Synth"
317 :slug "building-freebsd-packages-with-synth"
320 :short "Build with ease. Scripts included!"}
321 {:title "Threading macros for elisp"
322 :slug "elisp-threading-macros"
325 :short "(-> '->> symbol-name (concat \" is so cool\"))"
326 :toot "https://europecom.net/notice/9vm27kyIDp6oe8h3su"}
327 {:title "Updating the ssh key to ed25519"
328 :slug "upgrading-ssh-key-ed25519"
331 :short "no TL;DR this time"}
332 {:title "Logstash + jdbc = role does not exists"
333 :slug "logstash-jdbc-role-does-not-exists"
335 :tags #{:logstash :postgresql}
336 :short "TL;DR use the connection string properly"}
337 {:title "Finite State Machine in Godot"
338 :slug "finite-automata-godot"
341 :short "Did I mention how I love finite automata?"}
342 {:title "cgit & gitolite"
343 :slug "cgit-gitolite"
346 :short "Custom git server with web interface & users management"
348 {:title "$HOME as a git repo"
349 :slug "home-as-git-repo"
352 :short "How do you track dotfiles?"}
353 {:title "Multiplexing data in sh(1)"
354 :slug "sh-multiplexing-data"
357 :short "please put something clever here"}
358 {:title "Poor man's unbound dashboard"
359 :slug "poor-mans-unbound-dashboard"
361 :tags #{:OpenBSD :tmux}
362 :short "A little bit of bash, fifos, tmux & ttyplot"}
363 {:title "Core naming in linux"
364 :slug "core-naming-on-linux"
366 :tags #{:OpenBSD :linux}
367 :short "Porting BSD behaviours to linux"}
368 {:title "CSS sprites with awk and ImageMagick"
369 :slug "css-sprites-awk-imagemagick"
372 :short "I like to automatize things"}
373 {:title "Using the C preprocessors for CSS generation"
377 :short "old tools for new websites"}
378 {:title "F* on OpenBSD"
379 :slug "fstar-openbsd"
381 :tags #{:fstar :OpenBSD}
382 :short "It just works"}
383 {:title "Abbreviations in vi(1)"
384 :slug "abbreviations-vi"
387 :short "type even less"}
388 {:title "Improving maildir opening time in mutt"
389 :slug "maildir-mutt-time"
392 :short "<code>header_cache</code> is just awesome"}
393 {:title "Spell checking in vi(1)"
394 :slug "spell-checking-vi"
397 :short "Aspell plays nice with vi."}]