.github
workflows deploy.yaml
content
notes 2022-08-13-algae-spotted-on-river-sava.md 2023-05-01-cachebusting-in-hugo.md 2023-05-05-run-9front-in-qemu.md 2023-05-06-git-push-multiple-origins.md 2023-05-07-mount-plan9-over-network.md 2023-05-08-write-iso-usb.md 2023-05-09-catv-weechat-config.md 2023-05-10-plan9-screenshot.md 2023-05-11-fix-plan9-bootloader.md 2023-05-12-install-plan9port-linux.md 2023-05-13-download-youtube-videos.md 2023-05-14-convert-mkv.md 2023-05-15-preview-troff-man-pages.md 2023-05-16-mass-set-permission.md 2023-05-22-non-blocking-shell-exec-csharp.md 2023-05-23-extend-lua-with-custom-c.md 2023-05-23-parse-rss-with-lua.md 2023-05-24-fresh-9front-desktop.md 2023-05-25-dcss-new-player-guide.md 2023-05-25-show-xterm-colors.md 2023-05-25-tmux-sane-defaults.md 2023-05-27-cronjobs-github-with-actions.md 2023-05-27-dcss-on-4k-displays.md 2023-05-27-drawing-pixels-in-plan9.md 2023-05-28-easy-time-took-in-bash.md 2023-05-29-grep-to-less-maintain-colors.md 2023-05-31-extending-dte-editor.md 2023-06-01-ewd-manuscripts-ebook.md 2023-06-04-bulk-make-thumbnails.md 2023-06-21-presentations-with-markdown.md 2023-06-24-making-cgit-look-nicer.md 2023-06-25-alacritty-open-links-with-modifier.md 2023-06-25-development-environments-with-nix.md 2023-06-29-10gui-10-finger-multitouch-user-interface.md 2023-06-29-60s-ibm-computers-commercial.md 2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md 2023-07-10-online-radio-streaming-with-mpv-from-terminal.md 2023-07-14-set-color-temperature-of-displays-on-i3.md 2023-08-01-make-b-w-svg-charts-with-matplotlib.md 2023-09-18-aws-eb-pyyaml-fix.md 2023-09-25-compile-drawterm-on-fedora-38.md 2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md 2023-11-05-add-lazy-loading-to-jekyll-posts.md 2023-11-07-personal-sane-vim-defaults.md 2024-02-15-extract-lines-from-file.md 2024-02-21-dcss-online-rc-defaults.md 2024-02-23-uninstall-ollama-from-a-linux-box.md 2024-06-17-calling-assembly-functions-from-c.md 2024-06-17-sending-signals-to-c-programs.md 2024-06-19-embedding-resources-into-binary-with-c.md 2024-06-22-write-and-read-structs-to-files-in-c.md 2024-09-19-use-option-key-as-meta-macos-alactritty.md 2025-02-26-male-and-female-body-proportion-reference-images.md 2025-03-17-vim-ale-linters.md 2025-04-11-lua-performance-in-different-environments.md 2025-06-30-xfce-alt-to-win.md 2025-07-19-minimal-desktop-with-cwm-and-conky.md 2026-06-04-nvidia-driver-works-but-the-monitor-stays-black-with-no-signal.md 2026-06-08-list-uptime-history.md
pages bookmarks.md curriculum-vitae.md projects.fossil.md.part projects.github.md.part projects.md
posts 2011-01-13-most-likely-to-succeed-in-year-of-2011.md 2012-03-09-led-technology-not-so-eco.md 2013-10-24-wireless-sensor-networks.md 2015-11-10-software-development-pitfalls.md 2017-03-07-golang-profiling-simplified.md 2017-04-17-what-i-ve-learned-developing-ad-server.md 2017-04-21-profiling-python-web-applications-with-visual-tools.md 2017-08-11-simple-iot-application.md 2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md 2019-01-03-encoding-binary-data-into-dna-sequence.md 2019-10-14-simplifying-and-reducing-clutter.md 2019-10-19-using-sentiment-analysis-for-clickbait-detection.md 2020-03-22-simple-sse-based-pubsub-server.md 2020-03-27-create-placeholder-images-with-sharp.md 2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md 2020-03-30-my-love-and-hate-relationship-with-nodejs.md 2020-05-05-remote-work.md 2020-08-15-systemd-disable-wake-onmouse.md 2020-09-06-esp-and-micropython.md 2020-09-08-bind-warning-on-login.md 2020-09-09-digitalocean-sync.md 2021-01-24-replacing-dropbox-with-s3.md 2021-01-25-goaccess.md 2021-06-26-simple-world-clock.md 2021-07-30-from-internet-consumer-to-full-hominum-again.md 2021-08-01-linux-cheatsheet.md 2021-12-03-debian-based-riced-up-distribution-for-developers.md 2021-12-25-running-golang-application-as-pid1.md 2021-12-30-wap-mobile-web-before-the-web.md 2022-06-30-trying-out-helix-editor.md 2022-07-05-what-would-dna-sound-if-synthesized.md 2022-10-06-state-of-web-technologies-in-year-2022.md 2022-10-16-that-sound-that-machine-makes-when-struggling.md 2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md 2023-05-16-rekindling-my-love-for-programming.md 2023-05-23-i-was-wrong-about-git-workflows.md 2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md 2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md 2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md 2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md 2024-02-11-k-mer.md 2024-02-28-converting-valgrind-callgrinds-to-svg-format.md 2024-03-10-the-abysmal-state-of-linux-in-the-year-2024.md 2024-03-10-using-custom-software-with-github-actions-to-deploy-a-site.md 2024-03-14-configuration-and-plugin-hell-and-why-i-dont-use-vim-and-tmux-anymore.md 2025-04-08-embedding-game-assets-within-your-binary.md 2026-01-09-vim.md 2026-01-14-change-default-applications-on-linux.md 2026-01-15-using-address-sanitizer-with-clang.md
.gitkeep
static
assets
general animation.gif first.gif github.svg mitja-felicijan-hairytales.pdf trigraphs.gif
notes 10gui-10-finger-multitouch-user-interface.jpg 10gui-10-finger-multitouch-user-interface.mp4 60s-ibm-computers-commercial.jpg 60s-ibm-computers-commercial.mp4 9front-desktop.png asm64-handout.pdf cwm.png dcss-quickstart.pdf dcss.jpg dcss_manual.pdf embedding-assets.png embedding-binary-data.tar.xz embedding-window.png female-body-proportions.jpg grep-less.png male-body-proportions.jpg plan9-pixels.png plot.svg ps1-prompt.png trigraphs.gif xterm-palette.png
posts
algae-sava dji-algae-0.jpg dji-algae-1.jpg dji-algae-2.jpg dji-algae-3.jpg dji-algae-4.jpg dji-algae-5.jpg
cv avatar.gif
dfd-rice desktop.png install-00.png install-01.png install-02.png install-03.png install-04.png install-05.png installation.svg layout.png layout.svg script.png
dna-sequence benchmarks.csv chart-size.py chart-size.svg chart-speed.py chart-speed.svg dna-basics.jpg quote.png sample-binary-file.png sample.png
dna-synthesized
bison in.txt out.mp3 spectogram.png
elektron IMG_0619.jpg IMG_0620.jpg IMG_0622.jpg elektron.mp4 midi-studio.jpg
mouse in.txt out.mp3 spectogram.png
quote in.txt out.mp3 spectogram.png
taurus in.txt out.mp3 spectogram.png
symphony-no6-1st-movement.mp3 symphony-no6-1st-movement.png
do-fuse copy-benchmarks.tsv fuse-droplets.png fuse-spaces.png sqlite-benchmarks.tsv
dropbox-sync dropbox-spaces.png
esp8366-micropython boards.jpg
ewd ewd-manuscripts.epub ewd-manuscripts.mobi
go-profiling golang-profiling-cpu.pdf golang-profiling-mem.pdf
goaccess goaccess-dash-html.png goaccess-dash-term.png
godot-dynamic-tile-loading
example1 index.apple-touch-icon.png index.audio.worklet.js index.html index.icon.png index.js index.pck index.png index.wasm
2d-player-movement.webm cellular-automata.png village-creator.png
helix-editor editor.png
iot-application iot-app-output.png iot-rest-example.png iot-sqlite-db.png kcachegrind.png profiling-viewer.png simple-iot-application-overview.svg simple-iot-application.zip snakeviz.png
microsoundtrack cow.m4v
pid1 boxes.mp4 qemu.log unikernels.png unikernels.svg unikernels.webp
profile-bind-error error.jpg
python-profiling kcachegrind.png profiling-viewer.png snakeviz.png
sentiment-analysis
.ipynb_checkpoints TF Test-checkpoint.ipynb sentiment-analysis-checkpoint.ipynb
guardian-sa-title-desc-relationship.png sentiment-analysis.ipynb
simple-pubsub-server caniuse.png chrome-debugging.png clients.m4v pubsub-overview.png sse-pubsub-server.zip
state-of-web 2008-vs-2020.png compiling-vs-transpiling.png
valgrind-callgrind-svg kcachegrind.png out.c.svg out.zig.svg
vim-gdb demo.mp4
wap emulator.mp4 phones.gif
world-clock enclosure.stl hardware.jpg world-clock.jpg
yapyap hello.png pid1.jpg
zed zed-1.png zed-2.png
mitjafelicijan.pgp.pub.txt
projects ClassicEnhanced-v1.0.0.tar.gz ClassicEnhanced-v1.0.1.tar.gz TurtleTweaks-v0.1.tar.gz TurtleTweaks-v0.2.tar.gz TurtleTweaks-v0.3.tar.gz TurtleTweaks-v0.4.tar.gz TurtleTweaks-v0.5.1.tar.gz TurtleTweaks-v0.5.tar.gz TurtleTweaks-v0.6.tar.gz TurtleTweaks-v0.7.tar.gz abtts-v0.1.tar.gz abtts-v0.2.tar.gz abtts-v0.3.tar.gz blpconvert-v1.0.tar.gz clutch-v1.0.tar.gz jbmafp-v0.1.tar.gz jbmafp-v0.2.tar.gz jbmafp-v0.3.tar.gz lazycommit-v1.0.tar.gz makext-v1.0.tar.gz mprogress-v1.0.tar.gz newsbarge-v0.1.tar.gz oberon-v1.0.tar.gz p9tree-v1.0.tar.gz pats-v1.0.tar.gz pats.fossil rssperado-v1.0.tar.gz sm-v1.0.tar.gz sparklines-v1.0.tar.gz ttdaw-v0.1.tar.gz xmagnify-v1.0.tar.gz xmagnify.fossil
thumbnails glitch.png projects.xcf qwe-editor.png toy-debugger.png
.gitkeep
templates
includes .gitkeep
.gitkeep 404.html base.html bookmarks.html feed.xml index.html note.html page-no-title.html page.html post.html robots.txt sitemap.xml
tools fossil-projects.sh github-projects.py
.gitattributes .gitignore CNAME Makefile README.md config.yaml makext.mk shell.nix
templates/base.html raw
  1<!doctype html>
  2<html lang="{{ .Config.Language }}">
  3    <head>
  4        <meta charset="utf-8" />
  5        <meta name="viewport" content="width=device-width,initial-scale=1" />
  6
  7        <title>{{ block "title" . }}{{ .Config.Title }}{{ end }}</title>
  8        <meta name="description" content="{{ block "description" . }}{{ .Config.Description }}{{ end }}"/>
  9        
 10        <link rel="alternate" type="application/rss+xml" href="{{ .Config.BaseURL }}/index.xml" />
 11        <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel="icon" type="image/x-icon" />
 12
 13        <style>
 14            * { box-sizing: border-box; }
 15
 16            :root {
 17                --border-color: gainsboro;
 18                --content-width: 840px;
 19                --primary-color: blue;
 20            }
 21
 22            ::selection { 
 23                background: var(--primary-color);
 24                color: #ffffff;
 25            }
 26
 27            body { font-family: sans-serif; max-width: var(--content-width); margin: 0 auto; line-height: 160%; background: white; }
 28
 29            header { margin-block-start: 1em; margin-block-end: 4em; }
 30            header nav { display: flex; gap: 1em; align-items: center; padding: 0.5em 0; border-bottom: 2px solid black; }
 31            header nav a { color: black; }
 32            header nav span.title { font-weight: bold; }
 33
 34            section { margin-block-start: 3em; margin-block-end: 3em; }
 35            blockquote { border-left: 0.2em solid black; padding-left: 1em; margin-left: 0; }
 36            footer { font-size: small; }
 37
 38            ul.post-list { padding: 0em; }
 39            ul.post-list li { display: flex; gap: 1em; align-items: center; padding: 0.25em 0; }
 40            ul.post-list li time { min-width: 50px; }
 41
 42            a { color: var(--primary-color); text-decoration: none; }
 43            a:hover { text-decoration: underline; }
 44
 45            h1, h2, h3, h4 { font-size: initial; }
 46            article h2, article h3, article h4 { margin-block-start: 2.5em; }
 47            article h1 { font-size: 130%; line-height: 110%; }
 48            article code { background: lemonchiffon; padding: 0 0.2em; }
 49            article pre { border: 1px solid var(--border-color); padding: 1em; line-height: 140%; text-wrap: nowrap; overflow-x: auto; }
 50            article pre > code { background: initial; padding: 0; }
 51
 52            img, video, audio { max-width: 100%; }
 53            figure { display: flex; justify-content: center; margin: 1.5em 0; }
 54
 55            table { width: 100%; border: 1px solid var(--border-color); border-collapse: collapse; }
 56            table thead { background: var(--border-color); border: 1px solid black; }
 57            table td, table th { text-align: left; padding: 0.4em 0.6em; }
 58            table tbody tr { border-bottom: 1px solid var(--border-color); }
 59
 60            .tags mark { font-family: monospace; padding: 0 0.2em; }
 61            .static-prefix { width: 7em; }
 62
 63            .multicolumn-list { column-count: 3; column-gap: 3em; }
 64            .multicolumn-list a { display: block; margin-bottom: 0.5rem; break-inside: avoid; }
 65
 66            .project-release table tr td:last-child { text-align: right; }
 67            .project-release table tr th:last-child { text-align: right; }
 68            .project-list ul { column-count: 3; column-gap: 3em; }
 69            .github-link p { display: flex; align-items: center; gap: 0.3em; }
 70            .github-link p img { border: 0; padding: 0; height: 15px; }
 71            
 72            .thumbnails { display: flex; gap: 1em; }
 73            .thumbnails div a { display: block; height: 9em; margin: 0; padding: 0; }
 74            .thumbnails div a img { height: 100%; margin: 0; padding: 0; }
 75            .thumbnails div .name { font-size: small; font-weight: bold; font-style: italic; }
 76
 77            /* Hotfixes for strange behaviour. */
 78            article iframe { margin: 0!important; }
 79            pre code span { display: initial !important; }
 80
 81            @media only screen and (max-width: 860px) {
 82                body { margin: auto; padding: 1em; }
 83                ul.post-list li time { display: none; }
 84                .multicolumn-list { column-count: 2; }
 85                .project-list ul { column-count: 2; }
 86                .hide-on-mobile { display: none; }
 87            }
 88
 89            @media print {
 90                header, footer { display: none; }
 91            }
 92        </style>
 93
 94        <script src="https://cdn.usefathom.com/script.js" data-site="OKIJWYKR" defer></script>
 95    </head>
 96
 97    <body>
 98        <header>
 99            <nav>
100                <span class="title hide-on-mobile static-prefix">Navigation</span>
101                <a href="/">Home</a>
102                <a href="/projects.html">Projects</a>
103                <a href="https://github.com/mitjafelicijan/probe" target="_blank">Probe</a>
104                <a href="https://git.mitjafelicijan.com" target="_blank">Code</a>
105                <a href="https://github.com/mitjafelicijan" target="_blank">GitHub</a>
106                <a href="https://github.com/mitjafelicijan/dotfiles" target="_blank" class="hide-on-mobile">Dotfiles</a>
107                <a href="/curriculum-vitae.html">CV</a>
108                <a href="/feed.xml" class="hide-on-mobile">RSS</a>
109            </nav>
110        </header>
111
112        <main>
113            {{ block "content" . }}{{ end }}
114        </main>
115
116        <footer>
117            <p>You can write me an email at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.</p>
118            <p>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>. Page was built with <a href="https://github.com/mitjafelicijan/jbmafp" target="_blank">jbmafp</a>.</p>
119        </footer>
120    </body>
121</html>