the ugly shellscript powering https://oppi.li
1<!DOCTYPE html>
2<html lang="en">
3<head>
4<link rel="stylesheet" href="/style.css">
5<link rel="alternate" type="application/atom+xml" title="oppili's micro musings" href="/index.xml">
6<meta charset="UTF-8">
7<meta name="viewport" content="initial-scale=1">
8<meta content="#ffffff" name="theme-color">
9<meta name="HandheldFriendly" content="true">
10<meta property="og:title" content="oppili's site">
11<meta property="og:type" content="website">
12<meta property="og:description" content="oppili's micro musings">
13<meta property="og:url" content="https://oppi.li">
14<link rel="icon" type="image/x-icon" href="/favicon.png">
15<title>oppi.li</title>
16 <body>
17 <div class="posts">
18 <div class="post">
19 <a href="/" class="post-end-link">Home</a>
20 <span>/</span>
21 <a class="post-end-link">Posts</a>
22
23 <h1>Posts</h1>
24 <div class="separator"></div>
25 <table>
26
27 <tr>
28 <td class=table-post>
29 <div class="date">
30 31/07 — 2025
31 </div>
32 <a href="/posts/mounting_the_atmosphere" class="post-link">
33 <span class="post-link">Mounting The Atmosphere</span>
34 </a>
35 </td>
36 <td class=table-stats>
37 <span class="stats-number">
38 4.3
39 </span>
40 <span class=stats-unit>min</span>
41 </td>
42 </tr>
43
44 <tr>
45 <td class=table-post>
46 <div class="date">
47 24/05 — 2025
48 </div>
49 <a href="/posts/configuring_jujutsu" class="post-link">
50 <span class="post-link">Configuring Jujutsu</span>
51 </a>
52 </td>
53 <td class=table-stats>
54 <span class="stats-number">
55 9.5
56 </span>
57 <span class=stats-unit>min</span>
58 </td>
59 </tr>
60
61 <tr>
62 <td class=table-post>
63 <div class="date">
64 21/05 — 2025
65 </div>
66 <a href="/posts/tales_from_mainframe_modernization" class="post-link">
67 <span class="post-link">Tales From Mainframe Modernization</span>
68 </a>
69 </td>
70 <td class=table-stats>
71 <span class="stats-number">
72 3.9
73 </span>
74 <span class=stats-unit>min</span>
75 </td>
76 </tr>
77
78 <tr>
79 <td class=table-post>
80 <div class="date">
81 27/11 — 2024
82 </div>
83 <a href="/posts/OSC-52" class="post-link">
84 <span class="post-link">OSC-52</span>
85 </a>
86 </td>
87 <td class=table-stats>
88 <span class="stats-number">
89 1.9
90 </span>
91 <span class=stats-unit>min</span>
92 </td>
93 </tr>
94
95 <tr>
96 <td class=table-post>
97 <div class="date">
98 01/08 — 2024
99 </div>
100 <a href="/posts/introducing_tablespoon" class="post-link">
101 <span class="post-link">Introducing Tablespoon</span>
102 </a>
103 </td>
104 <td class=table-stats>
105 <span class="stats-number">
106 4.5
107 </span>
108 <span class=stats-unit>min</span>
109 </td>
110 </tr>
111
112 <tr>
113 <td class=table-post>
114 <div class="date">
115 29/05 — 2024
116 </div>
117 <a href="/posts/snip_snap" class="post-link">
118 <span class="post-link">Snip Snap</span>
119 </a>
120 </td>
121 <td class=table-stats>
122 <span class="stats-number">
123 2.1
124 </span>
125 <span class=stats-unit>min</span>
126 </td>
127 </tr>
128
129 <tr>
130 <td class=table-post>
131 <div class="date">
132 18/06 — 2023
133 </div>
134 <a href="/posts/plain_text_journaling" class="post-link">
135 <span class="post-link">Plain Text Journaling</span>
136 </a>
137 </td>
138 <td class=table-stats>
139 <span class="stats-number">
140 8.9
141 </span>
142 <span class=stats-unit>min</span>
143 </td>
144 </tr>
145
146 <tr>
147 <td class=table-post>
148 <div class="date">
149 03/09 — 2022
150 </div>
151 <a href="/posts/curing_a_case_of_git-UX" class="post-link">
152 <span class="post-link">Curing A Case Of Git-UX</span>
153 </a>
154 </td>
155 <td class=table-stats>
156 <span class="stats-number">
157 9.6
158 </span>
159 <span class=stats-unit>min</span>
160 </td>
161 </tr>
162
163 <tr>
164 <td class=table-post>
165 <div class="date">
166 28/08 — 2022
167 </div>
168 <a href="/posts/programming_on_34_keys" class="post-link">
169 <span class="post-link">Programming On 34 Keys</span>
170 </a>
171 </td>
172 <td class=table-stats>
173 <span class="stats-number">
174 6.2
175 </span>
176 <span class=stats-unit>min</span>
177 </td>
178 </tr>
179
180 <tr>
181 <td class=table-post>
182 <div class="date">
183 02/08 — 2022
184 </div>
185 <a href="/posts/a_reference_counted_afterlife" class="post-link">
186 <span class="post-link">A Reference Counted Afterlife</span>
187 </a>
188 </td>
189 <td class=table-stats>
190 <span class="stats-number">
191 1.6
192 </span>
193 <span class=stats-unit>min</span>
194 </td>
195 </tr>
196
197 <tr>
198 <td class=table-post>
199 <div class="date">
200 13/06 — 2022
201 </div>
202 <a href="/posts/lotus58" class="post-link">
203 <span class="post-link">Lotus58</span>
204 </a>
205 </td>
206 <td class=table-stats>
207 <span class="stats-number">
208 4.8
209 </span>
210 <span class=stats-unit>min</span>
211 </td>
212 </tr>
213
214 <tr>
215 <td class=table-post>
216 <div class="date">
217 26/01 — 2022
218 </div>
219 <a href="/posts/lightweight_linting" class="post-link">
220 <span class="post-link">Lightweight Linting</span>
221 </a>
222 </td>
223 <td class=table-stats>
224 <span class="stats-number">
225 8.6
226 </span>
227 <span class=stats-unit>min</span>
228 </td>
229 </tr>
230
231 <tr>
232 <td class=table-post>
233 <div class="date">
234 05/10 — 2021
235 </div>
236 <a href="/posts/novice_nix:_flake_templates" class="post-link">
237 <span class="post-link">Novice Nix: Flake Templates</span>
238 </a>
239 </td>
240 <td class=table-stats>
241 <span class="stats-number">
242 5.5
243 </span>
244 <span class=stats-unit>min</span>
245 </td>
246 </tr>
247
248 <tr>
249 <td class=table-post>
250 <div class="date">
251 11/04 — 2021
252 </div>
253 <a href="/posts/SDL2_devlog" class="post-link">
254 <span class="post-link">SDL2 Devlog</span>
255 </a>
256 </td>
257 <td class=table-stats>
258 <span class="stats-number">
259 10.0
260 </span>
261 <span class=stats-unit>min</span>
262 </td>
263 </tr>
264
265 <tr>
266 <td class=table-post>
267 <div class="date">
268 17/10 — 2020
269 </div>
270 <a href="/posts/self-hosting_git" class="post-link">
271 <span class="post-link">Self-hosting Git</span>
272 </a>
273 </td>
274 <td class=table-stats>
275 <span class="stats-number">
276 5.4
277 </span>
278 <span class=stats-unit>min</span>
279 </td>
280 </tr>
281
282 <tr>
283 <td class=table-post>
284 <div class="date">
285 01/09 — 2020
286 </div>
287 <a href="/posts/nixOS" class="post-link">
288 <span class="post-link">NixOS</span>
289 </a>
290 </td>
291 <td class=table-stats>
292 <span class="stats-number">
293 3.4
294 </span>
295 <span class=stats-unit>min</span>
296 </td>
297 </tr>
298
299 <tr>
300 <td class=table-post>
301 <div class="date">
302 01/08 — 2020
303 </div>
304 <a href="/posts/gripes_with_go" class="post-link">
305 <span class="post-link">Gripes With Go</span>
306 </a>
307 </td>
308 <td class=table-stats>
309 <span class="stats-number">
310 4.9
311 </span>
312 <span class=stats-unit>min</span>
313 </td>
314 </tr>
315
316 <tr>
317 <td class=table-post>
318 <div class="date">
319 17/06 — 2020
320 </div>
321 <a href="/posts/turing_complete_type_systems" class="post-link">
322 <span class="post-link">Turing Complete Type Systems</span>
323 </a>
324 </td>
325 <td class=table-stats>
326 <span class="stats-number">
327 0.9
328 </span>
329 <span class=stats-unit>min</span>
330 </td>
331 </tr>
332
333 <tr>
334 <td class=table-post>
335 <div class="date">
336 08/05 — 2020
337 </div>
338 <a href="/posts/auto-currying_rust_functions" class="post-link">
339 <span class="post-link">Auto-currying Rust Functions</span>
340 </a>
341 </td>
342 <td class=table-stats>
343 <span class="stats-number">
344 25.1
345 </span>
346 <span class=stats-unit>min</span>
347 </td>
348 </tr>
349
350 <tr>
351 <td class=table-post>
352 <div class="date">
353 08/04 — 2020
354 </div>
355 <a href="/posts/pixel_art_in_GIMP" class="post-link">
356 <span class="post-link">Pixel Art In GIMP</span>
357 </a>
358 </td>
359 <td class=table-stats>
360 <span class="stats-number">
361 5.0
362 </span>
363 <span class=stats-unit>min</span>
364 </td>
365 </tr>
366
367 <tr>
368 <td class=table-post>
369 <div class="date">
370 31/03 — 2020
371 </div>
372 <a href="/posts/rapid_refactoring_with_vim" class="post-link">
373 <span class="post-link">Rapid Refactoring With Vim</span>
374 </a>
375 </td>
376 <td class=table-stats>
377 <span class="stats-number">
378 5.4
379 </span>
380 <span class=stats-unit>min</span>
381 </td>
382 </tr>
383
384 <tr>
385 <td class=table-post>
386 <div class="date">
387 16/03 — 2020
388 </div>
389 <a href="/posts/font_size_fallacies" class="post-link">
390 <span class="post-link">Font Size Fallacies</span>
391 </a>
392 </td>
393 <td class=table-stats>
394 <span class="stats-number">
395 3.3
396 </span>
397 <span class=stats-unit>min</span>
398 </td>
399 </tr>
400
401 <tr>
402 <td class=table-post>
403 <div class="date">
404 07/03 — 2020
405 </div>
406 <a href="/posts/termux_tandem" class="post-link">
407 <span class="post-link">Termux Tandem</span>
408 </a>
409 </td>
410 <td class=table-stats>
411 <span class="stats-number">
412 1.6
413 </span>
414 <span class=stats-unit>min</span>
415 </td>
416 </tr>
417
418 <tr>
419 <td class=table-post>
420 <div class="date">
421 07/02 — 2020
422 </div>
423 <a href="/posts/call_to_ARMs" class="post-link">
424 <span class="post-link">Call To ARMs</span>
425 </a>
426 </td>
427 <td class=table-stats>
428 <span class="stats-number">
429 2.3
430 </span>
431 <span class=stats-unit>min</span>
432 </td>
433 </tr>
434
435 <tr>
436 <td class=table-post>
437 <div class="date">
438 30/12 — 2019
439 </div>
440 <a href="/posts/color_conundrum" class="post-link">
441 <span class="post-link">Color Conundrum</span>
442 </a>
443 </td>
444 <td class=table-stats>
445 <span class="stats-number">
446 1.4
447 </span>
448 <span class=stats-unit>min</span>
449 </td>
450 </tr>
451
452 <tr>
453 <td class=table-post>
454 <div class="date">
455 22/11 — 2019
456 </div>
457 <a href="/posts/static_sites_with_bash" class="post-link">
458 <span class="post-link">Static Sites With Bash</span>
459 </a>
460 </td>
461 <td class=table-stats>
462 <span class="stats-number">
463 1.5
464 </span>
465 <span class=stats-unit>min</span>
466 </td>
467 </tr>
468
469 <tr>
470 <td class=table-post>
471 <div class="date">
472 06/11 — 2019
473 </div>
474 <a href="/posts/my_setup" class="post-link">
475 <span class="post-link">My Setup</span>
476 </a>
477 </td>
478 <td class=table-stats>
479 <span class="stats-number">
480 1.0
481 </span>
482 <span class=stats-unit>min</span>
483 </td>
484 </tr>
485
486 <tr>
487 <td class=table-post>
488 <div class="date">
489 12/10 — 2019
490 </div>
491 <a href="/posts/WPA_woes" class="post-link">
492 <span class="post-link">WPA Woes</span>
493 </a>
494 </td>
495 <td class=table-stats>
496 <span class="stats-number">
497 1.1
498 </span>
499 <span class=stats-unit>min</span>
500 </td>
501 </tr>
502
503 <tr>
504 <td class=table-post>
505 <div class="date">
506 07/08 — 2019
507 </div>
508 <a href="/posts/bye_bye_BDFs" class="post-link">
509 <span class="post-link">Bye Bye BDFs</span>
510 </a>
511 </td>
512 <td class=table-stats>
513 <span class="stats-number">
514 1.0
515 </span>
516 <span class=stats-unit>min</span>
517 </td>
518 </tr>
519
520 <tr>
521 <td class=table-post>
522 <div class="date">
523 02/08 — 2019
524 </div>
525 <a href="/posts/onivim_sucks" class="post-link">
526 <span class="post-link">Onivim Sucks</span>
527 </a>
528 </td>
529 <td class=table-stats>
530 <span class="stats-number">
531 1.3
532 </span>
533 <span class=stats-unit>min</span>
534 </td>
535 </tr>
536
537 <tr>
538 <td class=table-post>
539 <div class="date">
540 30/07 — 2019
541 </div>
542 <a href="/posts/bash_harder_with_vim" class="post-link">
543 <span class="post-link">Bash Harder With Vim</span>
544 </a>
545 </td>
546 <td class=table-stats>
547 <span class="stats-number">
548 1.6
549 </span>
550 <span class=stats-unit>min</span>
551 </td>
552 </tr>
553
554 <tr>
555 <td class=table-post>
556 <div class="date">
557 30/07 — 2019
558 </div>
559 <a href="/posts/hold_position!" class="post-link">
560 <span class="post-link">Hold Position!</span>
561 </a>
562 </td>
563 <td class=table-stats>
564 <span class="stats-number">
565 1.0
566 </span>
567 <span class=stats-unit>min</span>
568 </td>
569 </tr>
570
571 <tr>
572 <td class=table-post>
573 <div class="date">
574 30/07 — 2019
575 </div>
576 <a href="/posts/get_better_at_yanking_and_putting_in_vim" class="post-link">
577 <span class="post-link">Get Better At Yanking And Putting In Vim</span>
578 </a>
579 </td>
580 <td class=table-stats>
581 <span class="stats-number">
582 0.9
583 </span>
584 <span class=stats-unit>min</span>
585 </td>
586 </tr>
587 </table>
588 <div class="separator"></div>
589 <div class="footer">
590 <a href="https://tangled.sh/@oppi.li">Code</a> ·
591 <a href="https://bsky.app/profile/oppi.li">Bluesky</a> ·
592 <a href="mailto:me@oppi.li">Mail</a>
593 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
594 <img class="footimgs" src="https://d33wubrfki0l68.cloudfront.net/94387e9d77fbc8b4360db81e72603ecba3df94a7/632bc/static/cc.svg">
595 </a>
596 </div>
597 </div>
598</div>
599</body>
600</html>