aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-03-10 14:59:14 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-03-10 14:59:14 +0100
commit1100562e29f6476448b656dbddd4cf22505523f6 (patch)
tree442eec492199104bd49dfd74474ce89ade8fcac9
parenta40d80be378e46a6c490e1b99b0d8f4acd968503 (diff)
downloadmitjafelicijan.com-1100562e29f6476448b656dbddd4cf22505523f6.tar.gz
Move back to JBMAFP
-rw-r--r--.editorconfig31
-rw-r--r--.github/workflows/deploy.yaml40
-rw-r--r--.gitignore6
-rw-r--r--.pages.yml78
-rw-r--r--404.html24
-rw-r--r--Gemfile24
-rw-r--r--Gemfile.lock98
-rw-r--r--Makefile22
-rw-r--r--_config.yml39
-rw-r--r--_includes/webring.html42
-rw-r--r--_layouts/base.html262
-rw-r--r--_layouts/index.html10
-rw-r--r--_layouts/page.html10
-rw-r--r--_layouts/post.html11
-rw-r--r--_layouts/vault.md25
-rw-r--r--_posts/notes/2023-08-05-floods-in-slovenia.md20
-rw-r--r--assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3bin7365430 -> 0 bytes
-rw-r--r--assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3bin6187459 -> 0 bytes
-rw-r--r--assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3bin7263917 -> 0 bytes
-rw-r--r--assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3bin4548880 -> 0 bytes
-rw-r--r--assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3bin7895882 -> 0 bytes
-rw-r--r--assets/general/9front-cursor.pngbin249 -> 0 bytes
-rw-r--r--assets/general/9logo.pngbin39825 -> 0 bytes
-rwxr-xr-xassets/general/alert-dark.svg99
-rwxr-xr-xassets/general/alert-light.svg99
-rw-r--r--assets/general/index.css1
-rw-r--r--assets/general/og-big.jpgbin70575 -> 0 bytes
-rw-r--r--assets/general/og-big.xcfbin10025863 -> 0 bytes
-rw-r--r--assets/general/og.jpgbin44366 -> 0 bytes
-rw-r--r--assets/general/og.xcfbin898329 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1461.mp4bin14410656 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1466.mp4bin8902148 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1469.webpbin816680 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1470.webpbin933574 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1471.mp4bin10163115 -> 0 bytes
-rwxr-xr-xassets/notes/floods/IMG_1474.mp4bin14032243 -> 0 bytes
-rw-r--r--bin/vault.rb60
-rw-r--r--bin/webring.rb80
-rwxr-xr-xconfig.yaml20
-rwxr-xr-xcontent/.gitkeep0
-rw-r--r--content/notes/2022-08-13-algae-spotted-on-river-sava.md (renamed from _posts/notes/2022-08-13-algae-spotted-on-river-sava.md)15
-rw-r--r--content/notes/2023-05-01-cachebusting-in-hugo.md (renamed from _posts/notes/2023-05-01-cachebusting-in-hugo.md)4
-rw-r--r--content/notes/2023-05-05-run-9front-in-qemu.md (renamed from _posts/notes/2023-05-05-run-9front-in-qemu.md)4
-rw-r--r--content/notes/2023-05-06-git-push-multiple-origins.md (renamed from _posts/notes/2023-05-06-git-push-multiple-origins.md)4
-rw-r--r--content/notes/2023-05-07-mount-plan9-over-network.md (renamed from _posts/notes/2023-05-07-mount-plan9-over-network.md)4
-rw-r--r--content/notes/2023-05-08-write-iso-usb.md (renamed from _posts/notes/2023-05-08-write-iso-usb.md)4
-rw-r--r--content/notes/2023-05-09-catv-weechat-config.md (renamed from _posts/notes/2023-05-09-catv-weechat-config.md)4
-rw-r--r--content/notes/2023-05-10-plan9-screenshot.md (renamed from _posts/notes/2023-05-10-plan9-screenshot.md)4
-rw-r--r--content/notes/2023-05-11-fix-plan9-bootloader.md (renamed from _posts/notes/2023-05-11-fix-plan9-bootloader.md)4
-rw-r--r--content/notes/2023-05-12-install-plan9port-linux.md (renamed from _posts/notes/2023-05-12-install-plan9port-linux.md)4
-rw-r--r--content/notes/2023-05-13-download-youtube-videos.md (renamed from _posts/notes/2023-05-13-download-youtube-videos.md)4
-rw-r--r--content/notes/2023-05-14-convert-mkv.md (renamed from _posts/notes/2023-05-14-convert-mkv.md)4
-rw-r--r--content/notes/2023-05-15-preview-troff-man-pages.md (renamed from _posts/notes/2023-05-15-preview-troff-man-pages.md)4
-rw-r--r--content/notes/2023-05-16-mass-set-permission.md (renamed from _posts/notes/2023-05-16-mass-set-permission.md)4
-rw-r--r--content/notes/2023-05-22-non-blocking-shell-exec-csharp.md (renamed from _posts/notes/2023-05-22-non-blocking-shell-exec-csharp.md)4
-rw-r--r--content/notes/2023-05-23-extend-lua-with-custom-c.md (renamed from _posts/notes/2023-05-23-extend-lua-with-custom-c.md)4
-rw-r--r--content/notes/2023-05-23-parse-rss-with-lua.md (renamed from _posts/notes/2023-05-23-parse-rss-with-lua.md)4
-rw-r--r--content/notes/2023-05-24-fresh-9front-desktop.md (renamed from _posts/notes/2023-05-24-fresh-9front-desktop.md)6
-rw-r--r--content/notes/2023-05-25-dcss-new-player-guide.md (renamed from _posts/notes/2023-05-25-dcss-new-player-guide.md)6
-rw-r--r--content/notes/2023-05-25-show-xterm-colors.md (renamed from _posts/notes/2023-05-25-show-xterm-colors.md)6
-rw-r--r--content/notes/2023-05-25-tmux-sane-defaults.md (renamed from _posts/notes/2023-05-25-tmux-sane-defaults.md)4
-rw-r--r--content/notes/2023-05-27-cronjobs-github-with-actions.md (renamed from _posts/notes/2023-05-27-cronjobs-github-with-actions.md)4
-rw-r--r--content/notes/2023-05-27-dcss-on-4k-displays.md (renamed from _posts/notes/2023-05-27-dcss-on-4k-displays.md)4
-rw-r--r--content/notes/2023-05-27-drawing-pixels-in-plan9.md (renamed from _posts/notes/2023-05-27-drawing-pixels-in-plan9.md)6
-rw-r--r--content/notes/2023-05-28-easy-time-took-in-bash.md (renamed from _posts/notes/2023-05-28-easy-time-took-in-bash.md)4
-rw-r--r--content/notes/2023-05-29-grep-to-less-maintain-colors.md (renamed from _posts/notes/2023-05-29-grep-to-less-maintain-colors.md)6
-rw-r--r--content/notes/2023-05-31-extending-dte-editor.md (renamed from _posts/notes/2023-05-31-extending-dte-editor.md)4
-rw-r--r--content/notes/2023-06-01-ewd-manuscripts-ebook.md (renamed from _posts/notes/2023-06-01-ewd-manuscripts-ebook.md)4
-rw-r--r--content/notes/2023-06-04-bulk-make-thumbnails.md (renamed from _posts/notes/2023-06-04-bulk-make-thumbnails.md)4
-rw-r--r--content/notes/2023-06-21-presentations-with-markdown.md (renamed from _posts/notes/2023-06-21-presentations-with-markdown.md)4
-rw-r--r--content/notes/2023-06-24-making-cgit-look-nicer.md (renamed from _posts/notes/2023-06-24-making-cgit-look-nicer.md)4
-rw-r--r--content/notes/2023-06-25-alacritty-open-links-with-modifier.md (renamed from _posts/notes/2023-06-25-alacritty-open-links-with-modifier.md)4
-rw-r--r--content/notes/2023-06-25-development-environments-with-nix.md (renamed from _posts/notes/2023-06-25-development-environments-with-nix.md)6
-rw-r--r--content/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md (renamed from _posts/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md)4
-rw-r--r--content/notes/2023-06-29-60s-ibm-computers-commercial.md (renamed from _posts/notes/2023-06-29-60s-ibm-computers-commercial.md)4
-rw-r--r--content/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md (renamed from _posts/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md)3
-rw-r--r--content/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md (renamed from _posts/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md)3
-rw-r--r--content/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md (renamed from _posts/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md)3
-rw-r--r--content/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md (renamed from _posts/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md)5
-rw-r--r--content/notes/2023-09-18-aws-eb-pyyaml-fix.md (renamed from _posts/notes/2023-09-18-aws-eb-pyyaml-fix.md)3
-rw-r--r--content/notes/2023-09-25-compile-drawterm-on-fedora-38.md (renamed from _posts/notes/2023-09-25-compile-drawterm-on-fedora-38.md)3
-rw-r--r--content/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md (renamed from _posts/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md)5
-rw-r--r--content/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md (renamed from _posts/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md)9
-rw-r--r--content/notes/2023-11-07-personal-sane-vim-defaults.md (renamed from _posts/notes/2023-11-07-personal-sane-vim-defaults.md)3
-rw-r--r--content/notes/2024-02-15-extract-lines-from-file.md (renamed from _posts/notes/2024-02-15-extract-lines-from-file.md)3
-rw-r--r--content/notes/2024-02-21-dcss-online-rc-defaults.md (renamed from _posts/notes/2024-02-21-dcss-online-rc-defaults.md)4
-rw-r--r--content/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md (renamed from _posts/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md)7
-rw-r--r--content/pages/curriculum-vitae.md (renamed from curriculum-vitae.md)31
-rw-r--r--content/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md (renamed from _posts/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md)3
-rw-r--r--content/posts/2012-03-09-led-technology-not-so-eco.md (renamed from _posts/posts/2012-03-09-led-technology-not-so-eco.md)3
-rw-r--r--content/posts/2013-10-24-wireless-sensor-networks.md (renamed from _posts/posts/2013-10-24-wireless-sensor-networks.md)3
-rw-r--r--content/posts/2015-11-10-software-development-pitfalls.md (renamed from _posts/posts/2015-11-10-software-development-pitfalls.md)3
-rw-r--r--content/posts/2017-03-07-golang-profiling-simplified.md (renamed from _posts/posts/2017-03-07-golang-profiling-simplified.md)3
-rw-r--r--content/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md (renamed from _posts/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md)3
-rw-r--r--content/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md (renamed from _posts/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md)9
-rw-r--r--content/posts/2017-08-11-simple-iot-application.md (renamed from _posts/posts/2017-08-11-simple-iot-application.md)11
-rw-r--r--content/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md (renamed from _posts/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md)7
-rw-r--r--content/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md (renamed from _posts/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md)13
-rw-r--r--content/posts/2019-10-14-simplifying-and-reducing-clutter.md (renamed from _posts/posts/2019-10-14-simplifying-and-reducing-clutter.md)3
-rw-r--r--content/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md (renamed from _posts/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md)5
-rw-r--r--content/posts/2020-03-22-simple-sse-based-pubsub-server.md (renamed from _posts/posts/2020-03-22-simple-sse-based-pubsub-server.md)9
-rw-r--r--content/posts/2020-03-27-create-placeholder-images-with-sharp.md (renamed from _posts/posts/2020-03-27-create-placeholder-images-with-sharp.md)3
-rw-r--r--content/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md (renamed from _posts/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md)3
-rw-r--r--content/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md (renamed from _posts/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md)3
-rw-r--r--content/posts/2020-05-05-remote-work.md (renamed from _posts/posts/2020-05-05-remote-work.md)3
-rw-r--r--content/posts/2020-08-15-systemd-disable-wake-onmouse.md (renamed from _posts/posts/2020-08-15-systemd-disable-wake-onmouse.md)3
-rw-r--r--content/posts/2020-09-06-esp-and-micropython.md (renamed from _posts/posts/2020-09-06-esp-and-micropython.md)5
-rw-r--r--content/posts/2020-09-08-bind-warning-on-login.md (renamed from _posts/posts/2020-09-08-bind-warning-on-login.md)5
-rw-r--r--content/posts/2020-09-09-digitalocean-sync.md (renamed from _posts/posts/2020-09-09-digitalocean-sync.md)3
-rw-r--r--content/posts/2021-01-24-replacing-dropbox-with-s3.md (renamed from _posts/posts/2021-01-24-replacing-dropbox-with-s3.md)5
-rw-r--r--content/posts/2021-01-25-goaccess.md (renamed from _posts/posts/2021-01-25-goaccess.md)7
-rw-r--r--content/posts/2021-06-26-simple-world-clock.md (renamed from _posts/posts/2021-06-26-simple-world-clock.md)7
-rw-r--r--content/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md (renamed from _posts/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md)3
-rw-r--r--content/posts/2021-08-01-linux-cheatsheet.md (renamed from _posts/posts/2021-08-01-linux-cheatsheet.md)3
-rw-r--r--content/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md (renamed from _posts/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md)21
-rw-r--r--content/posts/2021-12-25-running-golang-application-as-pid1.md (renamed from _posts/posts/2021-12-25-running-golang-application-as-pid1.md)5
-rw-r--r--content/posts/2021-12-30-wap-mobile-web-before-the-web.md (renamed from _posts/posts/2021-12-30-wap-mobile-web-before-the-web.md)5
-rw-r--r--content/posts/2022-06-30-trying-out-helix-editor.md (renamed from _posts/posts/2022-06-30-trying-out-helix-editor.md)5
-rw-r--r--content/posts/2022-07-05-what-would-dna-sound-if-synthesized.md (renamed from _posts/posts/2022-07-05-what-would-dna-sound-if-synthesized.md)21
-rw-r--r--content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md (renamed from _posts/posts/2022-10-06-state-of-web-technologies-in-year-2022.md)3
-rw-r--r--content/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md (renamed from _posts/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md)3
-rw-r--r--content/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md (renamed from _posts/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md)3
-rw-r--r--content/posts/2023-05-16-rekindling-my-love-for-programming.md (renamed from _posts/posts/2023-05-16-rekindling-my-love-for-programming.md)3
-rw-r--r--content/posts/2023-05-23-i-was-wrong-about-git-workflows.md (renamed from _posts/posts/2023-05-23-i-was-wrong-about-git-workflows.md)4
-rw-r--r--content/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md (renamed from _posts/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md)3
-rw-r--r--content/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md (renamed from _posts/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md)3
-rw-r--r--content/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md (renamed from _posts/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md)3
-rw-r--r--content/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md (renamed from _posts/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md)3
-rw-r--r--content/posts/2024-02-11-k-mer.md (renamed from _posts/posts/2024-02-11-k-mer.md)5
-rw-r--r--content/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md (renamed from _posts/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md)6
-rw-r--r--feed.json61
-rw-r--r--index.html81
-rwxr-xr-xstatic/.gitkeep0
-rw-r--r--static/assets/mitjafelicijan.pgp.pub.txt (renamed from assets/mitjafelicijan.pgp.pub.txt)0
-rw-r--r--static/assets/notes/10gui-10-finger-multitouch-user-interface.jpg (renamed from assets/notes/10gui-10-finger-multitouch-user-interface.jpg)bin21762 -> 21762 bytes
-rw-r--r--static/assets/notes/10gui-10-finger-multitouch-user-interface.mp4 (renamed from assets/notes/10gui-10-finger-multitouch-user-interface.mp4)bin16587109 -> 16587109 bytes
-rw-r--r--static/assets/notes/60s-ibm-computers-commercial.jpg (renamed from assets/notes/60s-ibm-computers-commercial.jpg)bin32372 -> 32372 bytes
-rw-r--r--static/assets/notes/60s-ibm-computers-commercial.mp4 (renamed from assets/notes/60s-ibm-computers-commercial.mp4)bin35273598 -> 35273598 bytes
-rw-r--r--static/assets/notes/9front-desktop.png (renamed from assets/notes/9front-desktop.png)bin38054 -> 38054 bytes
-rw-r--r--static/assets/notes/dcss-quickstart.pdf (renamed from assets/notes/dcss-quickstart.pdf)bin80328 -> 80328 bytes
-rw-r--r--static/assets/notes/dcss.jpg (renamed from assets/notes/dcss.jpg)bin855457 -> 855457 bytes
-rw-r--r--static/assets/notes/dcss_manual.pdf (renamed from assets/notes/dcss_manual.pdf)bin203302 -> 203302 bytes
-rw-r--r--static/assets/notes/grep-less.png (renamed from assets/notes/grep-less.png)bin178000 -> 178000 bytes
-rw-r--r--static/assets/notes/plan9-pixels.png (renamed from assets/notes/plan9-pixels.png)bin12134 -> 12134 bytes
-rw-r--r--static/assets/notes/plot.svg (renamed from assets/notes/plot.svg)0
-rw-r--r--static/assets/notes/ps1-prompt.png (renamed from assets/notes/ps1-prompt.png)bin24272 -> 24272 bytes
-rw-r--r--static/assets/notes/trigraphs.gif (renamed from assets/notes/trigraphs.gif)bin1293557 -> 1293557 bytes
-rw-r--r--static/assets/notes/xterm-palette.png (renamed from assets/notes/xterm-palette.png)bin9524 -> 9524 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-0.jpg (renamed from assets/posts/algae-sava/dji-algae-0.jpg)bin145615 -> 145615 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-1.jpg (renamed from assets/posts/algae-sava/dji-algae-1.jpg)bin154416 -> 154416 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-2.jpg (renamed from assets/posts/algae-sava/dji-algae-2.jpg)bin114347 -> 114347 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-3.jpg (renamed from assets/posts/algae-sava/dji-algae-3.jpg)bin128019 -> 128019 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-4.jpg (renamed from assets/posts/algae-sava/dji-algae-4.jpg)bin217747 -> 217747 bytes
-rwxr-xr-xstatic/assets/posts/algae-sava/dji-algae-5.jpg (renamed from assets/posts/algae-sava/dji-algae-5.jpg)bin264884 -> 264884 bytes
-rwxr-xr-xstatic/assets/posts/cv/avatar.gif (renamed from assets/posts/cv/avatar.gif)bin2174 -> 2174 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/desktop.png (renamed from assets/posts/dfd-rice/desktop.png)bin329498 -> 329498 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-00.png (renamed from assets/posts/dfd-rice/install-00.png)bin35695 -> 35695 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-01.png (renamed from assets/posts/dfd-rice/install-01.png)bin28042 -> 28042 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-02.png (renamed from assets/posts/dfd-rice/install-02.png)bin21638 -> 21638 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-03.png (renamed from assets/posts/dfd-rice/install-03.png)bin34698 -> 34698 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-04.png (renamed from assets/posts/dfd-rice/install-04.png)bin28346 -> 28346 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/install-05.png (renamed from assets/posts/dfd-rice/install-05.png)bin13755 -> 13755 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/installation.svg (renamed from assets/posts/dfd-rice/installation.svg)0
-rwxr-xr-xstatic/assets/posts/dfd-rice/layout.png (renamed from assets/posts/dfd-rice/layout.png)bin9072 -> 9072 bytes
-rwxr-xr-xstatic/assets/posts/dfd-rice/layout.svg (renamed from assets/posts/dfd-rice/layout.svg)0
-rwxr-xr-xstatic/assets/posts/dfd-rice/script.png (renamed from assets/posts/dfd-rice/script.png)bin65747 -> 65747 bytes
-rw-r--r--static/assets/posts/dna-sequence/benchmarks.csv (renamed from assets/posts/dna-sequence/benchmarks.csv)0
-rw-r--r--static/assets/posts/dna-sequence/chart-size.py (renamed from assets/posts/dna-sequence/chart-size.py)0
-rw-r--r--static/assets/posts/dna-sequence/chart-size.svg (renamed from assets/posts/dna-sequence/chart-size.svg)0
-rw-r--r--static/assets/posts/dna-sequence/chart-speed.py (renamed from assets/posts/dna-sequence/chart-speed.py)0
-rw-r--r--static/assets/posts/dna-sequence/chart-speed.svg (renamed from assets/posts/dna-sequence/chart-speed.svg)0
-rwxr-xr-xstatic/assets/posts/dna-sequence/dna-basics.jpg (renamed from assets/posts/dna-sequence/dna-basics.jpg)bin165883 -> 165883 bytes
-rwxr-xr-xstatic/assets/posts/dna-sequence/quote.png (renamed from assets/posts/dna-sequence/quote.png)bin1068 -> 1068 bytes
-rwxr-xr-xstatic/assets/posts/dna-sequence/sample-binary-file.png (renamed from assets/posts/dna-sequence/sample-binary-file.png)bin66417 -> 66417 bytes
-rwxr-xr-xstatic/assets/posts/dna-sequence/sample.png (renamed from assets/posts/dna-sequence/sample.png)bin65930 -> 65930 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/bison/in.txt (renamed from assets/posts/dna-synthesized/bison/in.txt)0
-rwxr-xr-xstatic/assets/posts/dna-synthesized/bison/out.mp3 (renamed from assets/posts/dna-synthesized/bison/out.mp3)bin960469 -> 960469 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/bison/spectogram.png (renamed from assets/posts/dna-synthesized/bison/spectogram.png)bin52808 -> 52808 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/elektron/IMG_0619.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0619.jpg)bin226025 -> 226025 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/elektron/IMG_0620.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0620.jpg)bin242937 -> 242937 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/elektron/IMG_0622.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0622.jpg)bin279234 -> 279234 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/elektron/elektron.mp4 (renamed from assets/posts/dna-synthesized/elektron/elektron.mp4)bin22478213 -> 22478213 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/elektron/midi-studio.jpg (renamed from assets/posts/dna-synthesized/elektron/midi-studio.jpg)bin63633 -> 63633 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/mouse/in.txt (renamed from assets/posts/dna-synthesized/mouse/in.txt)0
-rwxr-xr-xstatic/assets/posts/dna-synthesized/mouse/out.mp3 (renamed from assets/posts/dna-synthesized/mouse/out.mp3)bin864547 -> 864547 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/mouse/spectogram.png (renamed from assets/posts/dna-synthesized/mouse/spectogram.png)bin114261 -> 114261 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/quote/in.txt (renamed from assets/posts/dna-synthesized/quote/in.txt)0
-rwxr-xr-xstatic/assets/posts/dna-synthesized/quote/out.mp3 (renamed from assets/posts/dna-synthesized/quote/out.mp3)bin678973 -> 678973 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/quote/spectogram.png (renamed from assets/posts/dna-synthesized/quote/spectogram.png)bin108863 -> 108863 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3 (renamed from assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3)bin11650187 -> 11650187 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/symphony-no6-1st-movement.png (renamed from assets/posts/dna-synthesized/symphony-no6-1st-movement.png)bin245694 -> 245694 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/taurus/in.txt (renamed from assets/posts/dna-synthesized/taurus/in.txt)0
-rwxr-xr-xstatic/assets/posts/dna-synthesized/taurus/out.mp3 (renamed from assets/posts/dna-synthesized/taurus/out.mp3)bin1056599 -> 1056599 bytes
-rwxr-xr-xstatic/assets/posts/dna-synthesized/taurus/spectogram.png (renamed from assets/posts/dna-synthesized/taurus/spectogram.png)bin109064 -> 109064 bytes
-rwxr-xr-xstatic/assets/posts/do-fuse/copy-benchmarks.tsv (renamed from assets/posts/do-fuse/copy-benchmarks.tsv)0
-rwxr-xr-xstatic/assets/posts/do-fuse/fuse-droplets.png (renamed from assets/posts/do-fuse/fuse-droplets.png)bin42891 -> 42891 bytes
-rwxr-xr-xstatic/assets/posts/do-fuse/fuse-spaces.png (renamed from assets/posts/do-fuse/fuse-spaces.png)bin32450 -> 32450 bytes
-rwxr-xr-xstatic/assets/posts/do-fuse/sqlite-benchmarks.tsv (renamed from assets/posts/do-fuse/sqlite-benchmarks.tsv)0
-rwxr-xr-xstatic/assets/posts/dropbox-sync/dropbox-spaces.png (renamed from assets/posts/dropbox-sync/dropbox-spaces.png)bin47661 -> 47661 bytes
-rwxr-xr-xstatic/assets/posts/esp8366-micropython/boards.jpg (renamed from assets/posts/esp8366-micropython/boards.jpg)bin98162 -> 98162 bytes
-rwxr-xr-xstatic/assets/posts/go-profiling/golang-profiling-cpu.pdf (renamed from assets/posts/go-profiling/golang-profiling-cpu.pdf)bin16518 -> 16518 bytes
-rwxr-xr-xstatic/assets/posts/go-profiling/golang-profiling-mem.pdf (renamed from assets/posts/go-profiling/golang-profiling-mem.pdf)bin19221 -> 19221 bytes
-rwxr-xr-xstatic/assets/posts/goaccess/goaccess-dash-html.png (renamed from assets/posts/goaccess/goaccess-dash-html.png)bin16129 -> 16129 bytes
-rwxr-xr-xstatic/assets/posts/goaccess/goaccess-dash-term.png (renamed from assets/posts/goaccess/goaccess-dash-term.png)bin9188 -> 9188 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm (renamed from assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm)bin975421 -> 975421 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/cellular-automata.png (renamed from assets/posts/godot-dynamic-tile-loading/cellular-automata.png)bin373408 -> 373408 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png)bin18955 -> 18955 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js)0
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.html (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.html)0
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.icon.png (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.icon.png)bin3305 -> 3305 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.js (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.js)0
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.pck (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.pck)bin7056 -> 7056 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.png (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.png)bin21443 -> 21443 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/example1/index.wasm (renamed from assets/posts/godot-dynamic-tile-loading/example1/index.wasm)bin13789463 -> 13789463 bytes
-rw-r--r--static/assets/posts/godot-dynamic-tile-loading/village-creator.png (renamed from assets/posts/godot-dynamic-tile-loading/village-creator.png)bin97628 -> 97628 bytes
-rwxr-xr-xstatic/assets/posts/helix-editor/editor.png (renamed from assets/posts/helix-editor/editor.png)bin159442 -> 159442 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/iot-app-output.png (renamed from assets/posts/iot-application/iot-app-output.png)bin23767 -> 23767 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/iot-rest-example.png (renamed from assets/posts/iot-application/iot-rest-example.png)bin33912 -> 33912 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/iot-sqlite-db.png (renamed from assets/posts/iot-application/iot-sqlite-db.png)bin199821 -> 199821 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/kcachegrind.png (renamed from assets/posts/iot-application/kcachegrind.png)bin88486 -> 88486 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/profiling-viewer.png (renamed from assets/posts/iot-application/profiling-viewer.png)bin173672 -> 173672 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/simple-iot-application-overview.svg (renamed from assets/posts/iot-application/simple-iot-application-overview.svg)0
-rwxr-xr-xstatic/assets/posts/iot-application/simple-iot-application.zip (renamed from assets/posts/iot-application/simple-iot-application.zip)bin6406 -> 6406 bytes
-rwxr-xr-xstatic/assets/posts/iot-application/snakeviz.png (renamed from assets/posts/iot-application/snakeviz.png)bin59601 -> 59601 bytes
-rw-r--r--static/assets/posts/microsoundtrack/cow.m4v (renamed from assets/posts/microsoundtrack/cow.m4v)bin1113250 -> 1113250 bytes
-rwxr-xr-xstatic/assets/posts/pid1/boxes.mp4 (renamed from assets/posts/pid1/boxes.mp4)bin443830 -> 443830 bytes
-rwxr-xr-xstatic/assets/posts/pid1/qemu.log (renamed from assets/posts/pid1/qemu.log)0
-rw-r--r--static/assets/posts/pid1/unikernels.png (renamed from assets/posts/pid1/unikernels.png)bin33009 -> 33009 bytes
-rwxr-xr-xstatic/assets/posts/pid1/unikernels.svg (renamed from assets/posts/pid1/unikernels.svg)0
-rw-r--r--static/assets/posts/pid1/unikernels.webp (renamed from assets/posts/pid1/unikernels.webp)bin23304 -> 23304 bytes
-rwxr-xr-xstatic/assets/posts/profile-bind-error/error.jpg (renamed from assets/posts/profile-bind-error/error.jpg)bin57047 -> 57047 bytes
-rwxr-xr-xstatic/assets/posts/python-profiling/kcachegrind.png (renamed from assets/posts/python-profiling/kcachegrind.png)bin88486 -> 88486 bytes
-rwxr-xr-xstatic/assets/posts/python-profiling/profiling-viewer.png (renamed from assets/posts/python-profiling/profiling-viewer.png)bin173672 -> 173672 bytes
-rwxr-xr-xstatic/assets/posts/python-profiling/snakeviz.png (renamed from assets/posts/python-profiling/snakeviz.png)bin59601 -> 59601 bytes
-rwxr-xr-xstatic/assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb (renamed from assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb)0
-rwxr-xr-xstatic/assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb (renamed from assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb)0
-rwxr-xr-xstatic/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png (renamed from assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png)bin15404 -> 15404 bytes
-rwxr-xr-xstatic/assets/posts/sentiment-analysis/sentiment-analysis.ipynb (renamed from assets/posts/sentiment-analysis/sentiment-analysis.ipynb)0
-rwxr-xr-xstatic/assets/posts/simple-pubsub-server/caniuse.png (renamed from assets/posts/simple-pubsub-server/caniuse.png)bin56379 -> 56379 bytes
-rwxr-xr-xstatic/assets/posts/simple-pubsub-server/chrome-debugging.png (renamed from assets/posts/simple-pubsub-server/chrome-debugging.png)bin151160 -> 151160 bytes
-rwxr-xr-xstatic/assets/posts/simple-pubsub-server/clients.m4v (renamed from assets/posts/simple-pubsub-server/clients.m4v)bin369179 -> 369179 bytes
-rwxr-xr-xstatic/assets/posts/simple-pubsub-server/pubsub-overview.png (renamed from assets/posts/simple-pubsub-server/pubsub-overview.png)bin18471 -> 18471 bytes
-rwxr-xr-xstatic/assets/posts/simple-pubsub-server/sse-pubsub-server.zip (renamed from assets/posts/simple-pubsub-server/sse-pubsub-server.zip)bin4158 -> 4158 bytes
-rwxr-xr-xstatic/assets/posts/state-of-web/2008-vs-2020.png (renamed from assets/posts/state-of-web/2008-vs-2020.png)bin126650 -> 126650 bytes
-rwxr-xr-xstatic/assets/posts/state-of-web/compiling-vs-transpiling.png (renamed from assets/posts/state-of-web/compiling-vs-transpiling.png)bin41481 -> 41481 bytes
-rw-r--r--static/assets/posts/valgrind-callgrind-svg/kcachegrind.png (renamed from assets/posts/valgrind-callgrind-svg/kcachegrind.png)bin513886 -> 513886 bytes
-rw-r--r--static/assets/posts/valgrind-callgrind-svg/out.c.svg (renamed from assets/posts/valgrind-callgrind-svg/out.c.svg)0
-rw-r--r--static/assets/posts/valgrind-callgrind-svg/out.zig.svg (renamed from assets/posts/valgrind-callgrind-svg/out.zig.svg)0
-rwxr-xr-xstatic/assets/posts/wap/emulator.mp4 (renamed from assets/posts/wap/emulator.mp4)bin892887 -> 892887 bytes
-rwxr-xr-xstatic/assets/posts/wap/phones.gif (renamed from assets/posts/wap/phones.gif)bin348891 -> 348891 bytes
-rwxr-xr-xstatic/assets/posts/world-clock/enclosure.stl (renamed from assets/posts/world-clock/enclosure.stl)bin1884 -> 1884 bytes
-rwxr-xr-xstatic/assets/posts/world-clock/hardware.jpg (renamed from assets/posts/world-clock/hardware.jpg)bin82279 -> 82279 bytes
-rwxr-xr-xstatic/assets/posts/world-clock/world-clock.jpg (renamed from assets/posts/world-clock/world-clock.jpg)bin148673 -> 148673 bytes
-rwxr-xr-xstatic/assets/posts/yapyap/hello.png (renamed from assets/posts/yapyap/hello.png)bin25962 -> 25962 bytes
-rwxr-xr-xstatic/assets/posts/yapyap/pid1.jpg (renamed from assets/posts/yapyap/pid1.jpg)bin394011 -> 394011 bytes
-rwxr-xr-xstatic/assets/posts/zed/zed-1.png (renamed from assets/posts/zed/zed-1.png)bin450802 -> 450802 bytes
-rwxr-xr-xstatic/assets/posts/zed/zed-2.png (renamed from assets/posts/zed/zed-2.png)bin812483 -> 812483 bytes
-rw-r--r--static/assets/urls.txt (renamed from assets/urls.txt)0
-rwxr-xr-xtemplates/.gitkeep0
-rwxr-xr-xtemplates/base.html165
-rwxr-xr-xtemplates/feed.xml23
-rwxr-xr-xtemplates/index.html35
-rwxr-xr-xtemplates/note.html14
-rw-r--r--templates/page.html13
-rwxr-xr-xtemplates/post.html14
-rw-r--r--templates/robots.txt2
-rw-r--r--templates/sitemap.xml12
-rw-r--r--vault.md417
268 files changed, 526 insertions, 1881 deletions
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index cc53074..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,31 +0,0 @@
1root = true
2
3[*]
4charset = utf-8
5trim_trailing_whitespace = true
6insert_final_newline = true
7end_of_line = lf
8
9[Makefile]
10indent_style = tab
11indent_size = 4
12
13[*.c]
14indent_style = space
15indent_size = 2
16
17[*.sh]
18indent_style = space
19indent_size = 4
20
21[*.go]
22indent_style = tab
23indent_size = 4
24
25[*.sql]
26indent_style = space
27indent_size = 2
28
29[*.{css,html,js,django}]
30indent_style = space
31indent_size = 2
diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
new file mode 100644
index 0000000..de81bd3
--- /dev/null
+++ b/.github/workflows/deploy.yaml
@@ -0,0 +1,40 @@
1name: Build and Deploy to Pages
2
3on:
4 push:
5 branches: ["master"]
6 workflow_dispatch:
7
8permissions:
9 contents: read
10 pages: write
11 id-token: write
12
13concurrency:
14 group: "pages"
15 cancel-in-progress: false
16
17jobs:
18 deploy:
19 environment:
20 name: github-pages
21 url: ${{ steps.deployment.outputs.page_url }}
22 runs-on: ubuntu-latest
23 steps:
24 - name: Checkout
25 uses: actions/checkout@v3
26 - name: Setup Pages
27 uses: actions/configure-pages@v3
28 - name: Run a multi-line script
29 run: |
30 wget https://github.com/mitjafelicijan/jbmafp/releases/download/v0.1/jbmafp.zip
31 unzip jbmafp.zip
32 chmod +x jbmafp
33 ./jbmafp -b
34 - name: Upload artifact
35 uses: actions/upload-pages-artifact@v2
36 with:
37 path: './public'
38 - name: Deploy to GitHub Pages
39 id: deployment
40 uses: actions/deploy-pages@v2
diff --git a/.gitignore b/.gitignore
index f40fbd8..364fdec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1 @@
1_site public/
2.sass-cache
3.jekyll-cache
4.jekyll-metadata
5vendor
diff --git a/.pages.yml b/.pages.yml
deleted file mode 100644
index e51c311..0000000
--- a/.pages.yml
+++ /dev/null
@@ -1,78 +0,0 @@
1media: assets
2content:
3 - name: posts
4 label: Posts
5 type: collection
6 path: _posts/posts
7 fields:
8 - name: title
9 label: Title
10 type: string
11 - name: permalink
12 label: Permalink
13 type: string
14 - name: date
15 label: Date
16 type: date
17 options:
18 time: true
19 format: YYYY-MM-DDTHH:mm:ssZ
20 - name: layout
21 label: Layout
22 type: string
23 default: post
24 hidden: true
25 - name: draft
26 label: Draft
27 type: boolean
28 default: true
29 - name: published
30 label: Published
31 type: boolean
32 default: false
33 - name: type
34 label: Type
35 type: string
36 default: post
37 hidden: true
38 - name: body
39 label: Body
40 type: rich-text
41 - name: notes
42 label: Notes
43 type: collection
44 path: _posts/notes
45 fields:
46 - name: title
47 label: Title
48 type: string
49 - name: permalink
50 label: Permalink
51 type: string
52 - name: date
53 label: Date
54 type: date
55 options:
56 time: true
57 format: YYYY-MM-DDTHH:mm:ssZ
58 - name: layout
59 label: Layout
60 type: string
61 default: post
62 hidden: true
63 - name: draft
64 label: Draft
65 type: boolean
66 default: true
67 - name: published
68 label: Published
69 type: boolean
70 default: false
71 - name: type
72 label: Type
73 type: string
74 default: note
75 hidden: true
76 - name: body
77 label: Body
78 type: rich-text
diff --git a/404.html b/404.html
deleted file mode 100644
index 8f598b8..0000000
--- a/404.html
+++ /dev/null
@@ -1,24 +0,0 @@
1---
2permalink: /404.html
3layout: base
4---
5
6<hr>
7
8<style type="text/css" media="screen">
9 .container {
10 margin: 40px auto;
11 }
12 h1 {
13 margin: 30px 0;
14 font-size: 4em;
15 line-height: 1;
16 letter-spacing: -1px;
17 }
18</style>
19
20<div class="container">
21 <h1>404</h1>
22 <p><strong>Page not found :(</strong></p>
23 <p>The requested page could not be found. Such is life!</p>
24</div>
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 191cd3b..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,24 +0,0 @@
1source "https://rubygems.org"
2
3gem "jekyll", "~> 4.3.2"
4
5group :jekyll_plugins do
6 gem "jekyll-feed", "~> 0.12"
7 gem "jekyll-minifier"
8 gem "jekyll-sitemap"
9 gem "jekyll-seo-tag"
10end
11
12# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data
13# gem and associated library.
14platforms :mingw, :x64_mingw, :mswin, :jruby do
15 gem "tzinfo", ">= 1", "< 3"
16 gem "tzinfo-data"
17end
18
19# Performance-booster for watching directories on Windows
20gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
21
22# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of
23# the gem do not have a Java counterpart.
24gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index f1a3322..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,98 +0,0 @@
1GEM
2 remote: https://rubygems.org/
3 specs:
4 addressable (2.8.5)
5 public_suffix (>= 2.0.2, < 6.0)
6 colorator (1.1.0)
7 concurrent-ruby (1.2.2)
8 cssminify2 (2.0.1)
9 em-websocket (0.5.3)
10 eventmachine (>= 0.12.9)
11 http_parser.rb (~> 0)
12 eventmachine (1.2.7)
13 execjs (2.9.1)
14 ffi (1.16.3)
15 forwardable-extended (2.6.0)
16 google-protobuf (3.24.4-x86_64-linux)
17 htmlcompressor (0.4.0)
18 http_parser.rb (0.8.0)
19 i18n (1.14.1)
20 concurrent-ruby (~> 1.0)
21 jekyll (4.3.2)
22 addressable (~> 2.4)
23 colorator (~> 1.0)
24 em-websocket (~> 0.5)
25 i18n (~> 1.0)
26 jekyll-sass-converter (>= 2.0, < 4.0)
27 jekyll-watch (~> 2.0)
28 kramdown (~> 2.3, >= 2.3.1)
29 kramdown-parser-gfm (~> 1.0)
30 liquid (~> 4.0)
31 mercenary (>= 0.3.6, < 0.5)
32 pathutil (~> 0.9)
33 rouge (>= 3.0, < 5.0)
34 safe_yaml (~> 1.0)
35 terminal-table (>= 1.8, < 4.0)
36 webrick (~> 1.7)
37 jekyll-feed (0.17.0)
38 jekyll (>= 3.7, < 5.0)
39 jekyll-minifier (0.1.10)
40 cssminify2 (~> 2.0)
41 htmlcompressor (~> 0.4)
42 jekyll (>= 3.5)
43 json-minify (~> 0.0.3)
44 uglifier (~> 4.1)
45 jekyll-sass-converter (3.0.0)
46 sass-embedded (~> 1.54)
47 jekyll-seo-tag (2.8.0)
48 jekyll (>= 3.8, < 5.0)
49 jekyll-sitemap (1.4.0)
50 jekyll (>= 3.7, < 5.0)
51 jekyll-watch (2.2.1)
52 listen (~> 3.0)
53 json (2.6.3)
54 json-minify (0.0.3)
55 json (> 0)
56 kramdown (2.4.0)
57 rexml
58 kramdown-parser-gfm (1.1.0)
59 kramdown (~> 2.0)
60 liquid (4.0.4)
61 listen (3.8.0)
62 rb-fsevent (~> 0.10, >= 0.10.3)
63 rb-inotify (~> 0.9, >= 0.9.10)
64 mercenary (0.4.0)
65 pathutil (0.16.2)
66 forwardable-extended (~> 2.6)
67 public_suffix (5.0.3)
68 rb-fsevent (0.11.2)
69 rb-inotify (0.10.1)
70 ffi (~> 1.0)
71 rexml (3.2.6)
72 rouge (4.2.0)
73 safe_yaml (1.0.5)
74 sass-embedded (1.69.5-x86_64-linux-gnu)
75 google-protobuf (~> 3.23)
76 terminal-table (3.0.2)
77 unicode-display_width (>= 1.1.1, < 3)
78 uglifier (4.2.0)
79 execjs (>= 0.3.0, < 3)
80 unicode-display_width (2.5.0)
81 webrick (1.8.1)
82
83PLATFORMS
84 x86_64-linux
85
86DEPENDENCIES
87 http_parser.rb (~> 0.6.0)
88 jekyll (~> 4.3.2)
89 jekyll-feed (~> 0.12)
90 jekyll-minifier
91 jekyll-seo-tag
92 jekyll-sitemap
93 tzinfo (>= 1, < 3)
94 tzinfo-data
95 wdm (~> 0.1.1)
96
97BUNDLED WITH
98 2.4.10
diff --git a/Makefile b/Makefile
index a9b391a..15dff2f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,25 +1,9 @@
1MAKEFLAGS+=-j3 1MAKEFLAGS+=-j2
2 2
3dev: watch server 3dev: watch server
4 4
5build: newsboat webring vault
6
7newsboat:
8 cp ~/.newsboat/urls assets/urls.txt
9
10webring:
11 ruby bin/webring.rb
12
13vault:
14 ruby bin/vault.rb
15
16watch: 5watch:
17 jekyll b --watch 6 find . -type f \( -name "*.html" -o -name "*.js" -o -name "*.md" -o -name "*.yaml" -o -name "*.css" -o -name "*.xml" \) | entr jbmafp -b
18 7
19server: 8server:
20 mkdir -p _site && cd _site && python3 -m http.server 6969 9 jbmafp -s
21
22provision:
23 gem install nokogiri
24 gem install htmlentities
25 gem install simple-rss
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 3fa82c7..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,39 +0,0 @@
1title: Mitja Felicijan
2author: Mitja Felicijan
3email: mitja.felicijan@gmail.com
4url: https://mitjafelicijan.com
5lang: en
6
7description: >-
8 You do not learn by relaxing. You learn by violently assaulting your problem
9 until it surrenders its mysteries to you.
10
11markdown: kramdown
12highlighter: rouge
13
14plugins:
15 - jekyll-feed
16 - jekyll-minifier
17 - jekyll-sitemap
18 - jekyll-seo-tag
19
20jekyll-minifier:
21 uglifier_args:
22 harmony: true
23
24feed:
25 posts_limit: 200
26
27exclude:
28 - bin/
29 - Makefile
30 - .sass-cache/
31 - .jekyll-cache/
32 - gemfiles/
33 - Gemfile
34 - Gemfile.lock
35 - node_modules/
36 - vendor/bundle/
37 - vendor/cache/
38 - vendor/gems/
39 - vendor/ruby/
diff --git a/_includes/webring.html b/_includes/webring.html
deleted file mode 100644
index 071d7ef..0000000
--- a/_includes/webring.html
+++ /dev/null
@@ -1,42 +0,0 @@
1 <h2>Posts from blogs I follow around the net</h2>
2 <ul> <li>
3 <div><a href="https://blog.regehr.org/archives/2485" target="_blank" rel="noopener">Why Do Peephole Optimizations Work?</a> — Embedded in Academia</div>
4 <div>In its original form, a peephole optimization applied to a collection of instructions located close together in a program. For example, in a register transfer language we might find this sequence of instructions: r0 = xor r8, -1 r1 = xor r9, -1 r0 = and r0, r1 Here, assuming the two’s complement representation, -1 […]</div>
5 </li>
6 <li>
7 <div><a href="https://www.neilhenning.dev/posts/github-apple-silicon/" target="_blank" rel="noopener">Updating GitHub repos to Apple Silicon</a> — Neil Henning</div>
8 <div>I’ve updated my C/C++ open sources libraries utest.h, utf8.h, ubench.h, hashmap.h, subprocess.h, and json.h to use the new Apple Silicon GitHub CI runners. So how hard is it? Simple! You just add macos-14 to the build -> strategy -> matrix. I took the opportunity to drop macos-latest (which is still set to macos-13, th...</div>
9 </li>
10 <li>
11 <div><a href="https://drewdevault.com/2023/12/26/2023-12-26-Prusa-is-floundering.html" target="_blank" rel="noopener">Why Prusa is floundering, and how you can avoid their fate</a> — Drew DeVault's blog</div>
12 <div>Prusa is a 3D printer manufacturer which has a long history of being admired by the 3D printing community for high quality, open source printers. They have been struggling as of late, and came under criticism for making the firmware of their Mk4 printer non-free.1 Armin Ronacher uses Prusa as a case-study in why open s...</div>
13 </li>
14 <li>
15 <div><a href="http://offbeatpursuit.com:80/blog/?id=31" target="_blank" rel="noopener">Sometimes you just have to</a> — WLOG - blog</div>
16 <div>tags: random Continuing the previously discussed topic, of daring to be stupid for the sake of learning, sometimes you just have to do something for the sake of doing something. So why not a fictional calendar with 17 months, with names based on subatomic particles? Why? Why not? And while we’re at it, let’s try out so...</div>
17 </li>
18 <li>
19 <div><a href="https://mirzapandzo.com/woocommerce-blocks-and-cart-and-order-item-name-filters-problems" target="_blank" rel="noopener">WooCommerce blocks and woocommerce_order_item_name and woocommerce_cart_item_name filter problems</a> — Mirza Pandzo&apos;s Blog</div>
20 <div>Missing filters for cart and order item name in WooCommerce blocks</div>
21 </li>
22 <li>
23 <div><a href="https://journal.valeriansaliou.name/deploy-a-nomad-cluster-on-alpine-linux-with-vultr/" target="_blank" rel="noopener">Deploy a Nomad Cluster on Alpine Linux with Vultr</a> — Valerian Saliou</div>
24 <div>After spending countless hours trying to understand how to deploy my apps on Kubernetes for the first time to host Mirage, an AI API service that I run, I ended up making myself a promise that the next app I work on would be using a more productive & simpler</div>
25 </li>
26 <li>
27 <div><a href="https://neil.computer/notes/chart-of-accounts-for-startups-and-saas-companies/" target="_blank" rel="noopener">Chart of Accounts for Startups and SaaS Companies</a> — Neil Panchal</div>
28 <div>Accounting is fundamental to starting a business. You need to have a basic understanding of accounting principles and essential bookkeeping. I had to learn it. There was no choice. For filing taxes, your CPA is going to ask you for an Income Statement (also known as P/L statement). If</div>
29 </li>
30 <li>
31 <div><a href="https://michael.stapelberg.ch/posts/2024-01-17-systemd-indefinite-service-restarts/" target="_blank" rel="noopener">systemd: enable indefinite service restarts</a> — Michael Stapelbergs Website</div>
32 <div>When a service fails to start up enough times in a row, systemd gives up on it. On servers, this isn’t what I want — in general it’s helpful for automated recovery if daemons are restarted indefinitely. As long as you don’t have circular dependencies between services, all your services will eventually come up after tra...</div>
33 </li>
34 <li>
35 <div><a href="https://utcc.utoronto.ca/~cks/space/blog/linux/MyMachineDesires2024" target="_blank" rel="noopener">What I&#39;d like in a hypothetical new desktop machine in 2024</a> — Chris&#39;s Wiki :: blog</div>
36 <div>My current work desktop and home desktop are getting somewhat long in the tooth, which has caused me to periodically think about what I'd want in new hardware for them. Sometimes I even look at potential hardware choices for such a replacement desktop (which can lead to grumbling). Today I want to write down my ideal b...</div>
37 </li>
38 <li>
39 <div><a href="https://szymonkaliski.com/newsletter/2024-01-01-q4-2023/" target="_blank" rel="noopener">Q4 2023 — Improving Replit's Console and a Database-y Creative Coding Environment</a> — Szymon Kaliski</div>
40 <div>Hi, happy New Year! Tinyletter had an "incredible journey" moment recently, so if you're subscribed, you're receiving this through…</div>
41 </li>
42</ul>
diff --git a/_layouts/base.html b/_layouts/base.html
deleted file mode 100644
index 57d447c..0000000
--- a/_layouts/base.html
+++ /dev/null
@@ -1,262 +0,0 @@
1<!DOCTYPE html>
2<html lang="{{ site.lang }}">
3 <head>
4 <meta charset="utf-8">
5 <meta name="viewport" content="width=device-width,initial-scale=1">
6
7 <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" />
8
9 <title>
10 {% if page.title %}{{ page.title | escape }} - {{ site.title | escape }}
11 {% else %}{{ site.title | escape }}{% endif %}
12 </title>
13
14 {% seo title=false %}
15
16 <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="/feed.xml">
17 <link rel="alternate" type="application/json" title="{{ site.title | escape }}" href="/feed.json" />
18
19 <style>
20 :root {
21 --body-max-width: 860px;
22 --border-color: gainsboro;
23 --border-size: 1px;
24 --border-style: solid;
25 --link-color: blue;
26 --bg-color: #eee;
27 }
28
29 *::selection {
30 background: var(--link-color);
31 color: #ffffff;
32 }
33
34 *::-moz-selection {
35 background: var(--link-color);
36 color: #ffffff;
37 }
38
39 *::-webkit-selection {
40 background: var(--link-color);
41 color: #ffffff;
42 }
43
44 body {
45 padding: 2.5rem;
46 max-width: var(--body-max-width);
47 background: white;
48 font-family: sans-serif;
49 line-height: 1.4rem;
50 font-size: 16px;
51 /* margin: 0 auto; */
52 }
53
54 hr {
55 border: 0;
56 border-bottom: var(--border-size) var(--border-style) var(--border-color);
57 margin-block-start: 1.5rem;
58 margin-block-end: 1.5rem;
59 }
60
61 a {
62 color: var(--link-color);
63 text-decoration: none;
64 }
65
66 a:hover {
67 text-decoration: underline;
68 }
69
70 h1, h2, h3 {
71 line-height: initial;
72 }
73
74 h1 {
75 font-size: xx-large;
76 }
77
78 footer {
79 margin-block-start: 2rem;
80 }
81
82 cap {
83 text-transform: capitalize;
84 }
85
86 blockquote {
87 font-style: italic;
88 }
89
90 table {
91 max-width: 100%;
92 border: var(--border-size) var(--border-style) var(--border-color);
93 border-collapse: separate;
94 border-spacing: 0;
95 }
96
97 table thead tr th {
98 border-bottom: var(--border-size) var(--border-style) var(--border-color);
99 text-align: left;
100 }
101
102 table th, table td {
103 padding: 0.5em 0.8em;
104 }
105
106 ul.list li {
107 padding: 0.2em 0;
108 }
109
110 ul {
111 line-height: 1.35em;
112 }
113
114 pre {
115 text-wrap: nowrap;
116 overflow-x: auto;
117 padding: 1em;
118 border: var(--border-size) var(--border-style) var(--border-color);
119 }
120
121 code {
122 font-family: monospace;
123 background: var(--bg-color);
124 font-size: 14px;
125 padding: 2px 5px;
126 }
127
128 pre code {
129 background: transparent;
130 padding: initial;
131 }
132
133 figure {
134 margin-inline-start: 0;
135 margin-inline-end: 0;
136 }
137
138 figcaption {
139 width: var(--body-max-width);
140 max-width: 100%;
141 text-align: center;
142 }
143
144 figcaption p {
145 margin: 0.3em 0 1.5em 0;
146 font-style: italic;
147 }
148
149 img, video, audio {
150 width: var(--body-max-width);
151 max-width: 100%;
152 }
153
154 header nav {
155 display: flex;
156 gap: 0.9rem;
157 }
158
159 article iframe { /* fixes embeds going to center */
160 margin: 0!important;
161 }
162
163 audio::-webkit-media-controls-enclosure {
164 border-radius: 0;
165 }
166
167 .highlight .hll { background-color: #ffffcc }
168 .highlight { background: #ffffff; }
169 .highlight .c { color: #008000 } /* Comment */
170 .highlight .k { color: #0000ff } /* Keyword */
171 .highlight .ch { color: #008000 } /* Comment.Hashbang */
172 .highlight .cm { color: #008000 } /* Comment.Multiline */
173 .highlight .cp { color: #0000ff } /* Comment.Preproc */
174 .highlight .cpf { color: #008000 } /* Comment.PreprocFile */
175 .highlight .c1 { color: #008000 } /* Comment.Single */
176 .highlight .cs { color: #008000 } /* Comment.Special */
177 .highlight .ge { font-style: italic } /* Generic.Emph */
178 .highlight .gh { font-weight: bold } /* Generic.Heading */
179 .highlight .gp { font-weight: bold } /* Generic.Prompt */
180 .highlight .gs { font-weight: bold } /* Generic.Strong */
181 .highlight .gu { font-weight: bold } /* Generic.Subheading */
182 .highlight .kc { color: #0000ff } /* Keyword.Constant */
183 .highlight .kd { color: #0000ff } /* Keyword.Declaration */
184 .highlight .kn { color: #0000ff } /* Keyword.Namespace */
185 .highlight .kp { color: #0000ff } /* Keyword.Pseudo */
186 .highlight .kr { color: #0000ff } /* Keyword.Reserved */
187 .highlight .kt { color: #2b91af } /* Keyword.Type */
188 .highlight .s { color: #a31515 } /* Literal.String */
189 .highlight .nc { color: #2b91af } /* Name.Class */
190 .highlight .ow { color: #0000ff } /* Operator.Word */
191 .highlight .sa { color: #a31515 } /* Literal.String.Affix */
192 .highlight .sb { color: #a31515 } /* Literal.String.Backtick */
193 .highlight .sc { color: #a31515 } /* Literal.String.Char */
194 .highlight .dl { color: #a31515 } /* Literal.String.Delimiter */
195 .highlight .sd { color: #a31515 } /* Literal.String.Doc */
196 .highlight .s2 { color: #a31515 } /* Literal.String.Double */
197 .highlight .se { color: #a31515 } /* Literal.String.Escape */
198 .highlight .sh { color: #a31515 } /* Literal.String.Heredoc */
199 .highlight .si { color: #a31515 } /* Literal.String.Interpol */
200 .highlight .sx { color: #a31515 } /* Literal.String.Other */
201 .highlight .sr { color: #a31515 } /* Literal.String.Regex */
202 .highlight .s1 { color: #a31515 } /* Literal.String.Single */
203 .highlight .ss { color: #a31515 } /* Literal.String.Symbol */
204
205 @media only screen and (max-width: 600px) {
206 body {
207 padding: 0.5em;
208 word-wrap: break-word;
209 }
210
211 header nav {
212 gap: 0.7rem;
213 }
214
215 header nav .hob {
216 display: none;
217 }
218
219 a {
220 word-wrap: break-word;
221 }
222 }
223 </style>
224 <script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script>
225 </head>
226 <body>
227
228 <header>
229 <nav class="main" itemscope itemtype="http://schema.org/SiteNavigationElement" role="navigation" aria-label="Main navigation">
230 <a href="/">Home</a>
231 <a href="/vault.html">Vault</a>
232 <a href="https://github.com/mitjafelicijan" target="_blank">Code</a>
233 <a href="/assets/mitjafelicijan.pgp.pub.txt" target="_blank" class="hob">PGP</a>
234 <a href="/assets/urls.txt" target="_blank" class="hob">Newsboat</a>
235 <a href="/curriculum-vitae.html">CV</a>
236 <a href="/feed.xml" target="_blank" class="hob">RSS</a>
237 </nav>
238 </header>
239
240 <main role="main">
241 {{ content }}
242 </main>
243
244 <footer>
245 <hr>
246 <p><big><strong>Want to comment or have something to add?</strong></big></p>
247 <p>
248 You can write me an email
249 at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or
250 catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.
251 </p>
252 <hr>
253 <p><small>This page's most recent build occurred on {{ site.time | date: "%A, %-d %B, %Y" }} and is also available as <a href="/feed.xml" target="_blank">RSS feed</a>.</small></p>
254 </footer>
255
256 {% if page.mathjax %}
257 <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
258 <script src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js" async></script>
259 {% endif %}
260
261 </body>
262</html>
diff --git a/_layouts/index.html b/_layouts/index.html
deleted file mode 100644
index 3ce3d8f..0000000
--- a/_layouts/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
1---
2layout: base
3---
4
5<main>
6 {{ content }}
7
8 <hr>
9 {% include webring.html %}
10</main>
diff --git a/_layouts/page.html b/_layouts/page.html
deleted file mode 100644
index a029b8d..0000000
--- a/_layouts/page.html
+++ /dev/null
@@ -1,10 +0,0 @@
1---
2layout: base
3---
4
5<article itemtype="http://schema.org/Article">
6 <h1 itemtype="headline">{{ page.title }}</h1>
7 <div>
8 {{ content }}
9 </div>
10</article>
diff --git a/_layouts/post.html b/_layouts/post.html
deleted file mode 100644
index df77a9d..0000000
--- a/_layouts/post.html
+++ /dev/null
@@ -1,11 +0,0 @@
1---
2layout: base
3---
4
5<article itemtype="http://schema.org/Article">
6 <h1 itemtype="headline">{{ page.title }}</h1>
7 <p><cap><u>{{ page.type }}</u></cap>, {{ page.date | date: '%B %d, %Y' }} on <a href="{{ site.url }}">{{ site.author }}'s blog</a></p>
8 <div>
9 {{ content }}
10 </div>
11</article>
diff --git a/_layouts/vault.md b/_layouts/vault.md
deleted file mode 100644
index 2f10868..0000000
--- a/_layouts/vault.md
+++ /dev/null
@@ -1,25 +0,0 @@
1---
2title: Personal vault
3date: 2022-08-27T12:00:00+02:00
4permalink: /vault.html
5layout: page
6type: page
7draft: false
8---
9
10## Hi traveler!
11
12This curated compilation functions as a dedicated repository where I house an
13assortment of captivating and noteworthy items I've amassed over the years.
14
15Additionally, it serves as a secure haven for preserving binaries and assorted
16assets associated with my personal projects, ensuring easy access and
17organization.
18
19Be kind, this server is bandwidth limited.
20
21*Good luck!*
22
23---
24
25{CONTENT}
diff --git a/_posts/notes/2023-08-05-floods-in-slovenia.md b/_posts/notes/2023-08-05-floods-in-slovenia.md
deleted file mode 100644
index 8b2354a..0000000
--- a/_posts/notes/2023-08-05-floods-in-slovenia.md
+++ /dev/null
@@ -1,20 +0,0 @@
1---
2title: "Floods in Slovenia up close"
3permalink: /floods-in-slovenia.html
4date: 2023-08-05T07:06:50+02:00
5layout: post
6type: note
7draft: false
8---
9
10<video src="/assets/notes/floods/IMG_1471.mp4" controls></video>
11
12<video src="/assets/notes/floods/IMG_1474.mp4" controls></video>
13
14![](/assets/notes/floods/IMG_1469.webp){:loading="lazy"}
15
16![](/assets/notes/floods/IMG_1470.webp){:loading="lazy"}
17
18<video src="/assets/notes/floods/IMG_1461.mp4" controls></video>
19
20<video src="/assets/notes/floods/IMG_1466.mp4" controls></video>
diff --git a/assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3 b/assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3
deleted file mode 100644
index 773323c..0000000
--- a/assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3
+++ /dev/null
Binary files differ
diff --git a/assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3 b/assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3
deleted file mode 100644
index 22e9617..0000000
--- a/assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3
+++ /dev/null
Binary files differ
diff --git a/assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3 b/assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3
deleted file mode 100644
index 7cb6fc9..0000000
--- a/assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3
+++ /dev/null
Binary files differ
diff --git a/assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3 b/assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3
deleted file mode 100644
index 840ceaf..0000000
--- a/assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3
+++ /dev/null
Binary files differ
diff --git a/assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3 b/assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3
deleted file mode 100644
index e64af17..0000000
--- a/assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3
+++ /dev/null
Binary files differ
diff --git a/assets/general/9front-cursor.png b/assets/general/9front-cursor.png
deleted file mode 100644
index 1448a32..0000000
--- a/assets/general/9front-cursor.png
+++ /dev/null
Binary files differ
diff --git a/assets/general/9logo.png b/assets/general/9logo.png
deleted file mode 100644
index b6a8f7c..0000000
--- a/assets/general/9logo.png
+++ /dev/null
Binary files differ
diff --git a/assets/general/alert-dark.svg b/assets/general/alert-dark.svg
deleted file mode 100755
index d453564..0000000
--- a/assets/general/alert-dark.svg
+++ /dev/null
@@ -1,99 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 version="1.1"
13 id="Layer_1"
14 x="0px"
15 y="0px"
16 viewBox="0 0 492.804 492.804"
17 style="enable-background:new 0 0 492.804 492.804;"
18 xml:space="preserve"
19 sodipodi:docname="alert.svg"
20 inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
21 id="metadata43"><rdf:RDF><cc:Work
22 rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
23 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
24 id="defs41" /><sodipodi:namedview
25 pagecolor="#ffffff"
26 bordercolor="#666666"
27 borderopacity="1"
28 objecttolerance="10"
29 gridtolerance="10"
30 guidetolerance="10"
31 inkscape:pageopacity="0"
32 inkscape:pageshadow="2"
33 inkscape:window-width="782"
34 inkscape:window-height="480"
35 id="namedview39"
36 showgrid="false"
37 inkscape:zoom="0.47889223"
38 inkscape:cx="246.40199"
39 inkscape:cy="246.40199"
40 inkscape:window-x="1970"
41 inkscape:window-y="125"
42 inkscape:window-maximized="0"
43 inkscape:current-layer="g4" />
44<g
45 id="g6">
46 <g
47 id="g4">
48 <path
49 d="M482.592,381.614L288.863,69.966c-11.22-18.044-26.348-27.96-42.656-27.96c-16.32,0-31.456,9.924-42.672,27.976 L10.267,381.142c-11.216,18.04-13.316,35.268-5.94,48.564c7.432,13.38,23.36,20.728,44.864,20.752l394.608,0.3h-0.336v0.04 c19.272,0,37.56-7.316,44.984-20.652C495.824,416.89,493.808,399.666,482.592,381.614z M256.96,388.59 c-2.868,2.86-6.736,4.484-10.792,4.484c-4.048,0-7.988-1.64-10.868-4.5c-2.856-2.86-4.476-6.852-4.472-10.932 c0.008-4.056,0.956-8.024,3.82-10.86c2.924-2.888,5.404-4.54,9.26-4.54l0.72-0.008c4.04,0,8.84,1.66,11.744,4.564 c2.872,2.856,4.932,6.812,4.924,10.876C261.292,381.762,259.852,385.742,256.96,388.59z M246.216,331.398 c-4.12,0-7.94-1.6-10.852-4.512c-2.912-2.916-4.488-6.792-4.484-10.92l-1.616-139.068c0.016-8.512,5.972-15.416,13.684-15.416 h1.772c4.124,0,8.88,1.604,11.788,4.52c2.916,2.92,4.932,6.788,4.928,10.916l0.1,139.068 C261.528,324.482,254.724,331.398,246.216,331.398z"
50 id="path2"
51 style="fill:#ffffff" />
52 </g>
53</g>
54<g
55 id="g8">
56</g>
57<g
58 id="g10">
59</g>
60<g
61 id="g12">
62</g>
63<g
64 id="g14">
65</g>
66<g
67 id="g16">
68</g>
69<g
70 id="g18">
71</g>
72<g
73 id="g20">
74</g>
75<g
76 id="g22">
77</g>
78<g
79 id="g24">
80</g>
81<g
82 id="g26">
83</g>
84<g
85 id="g28">
86</g>
87<g
88 id="g30">
89</g>
90<g
91 id="g32">
92</g>
93<g
94 id="g34">
95</g>
96<g
97 id="g36">
98</g>
99</svg>
diff --git a/assets/general/alert-light.svg b/assets/general/alert-light.svg
deleted file mode 100755
index 86658ec..0000000
--- a/assets/general/alert-light.svg
+++ /dev/null
@@ -1,99 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 version="1.1"
13 id="Layer_1"
14 x="0px"
15 y="0px"
16 viewBox="0 0 492.804 492.804"
17 style="enable-background:new 0 0 492.804 492.804;"
18 xml:space="preserve"
19 sodipodi:docname="alert.svg"
20 inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
21 id="metadata43"><rdf:RDF><cc:Work
22 rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
23 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
24 id="defs41" /><sodipodi:namedview
25 pagecolor="#ffffff"
26 bordercolor="#666666"
27 borderopacity="1"
28 objecttolerance="10"
29 gridtolerance="10"
30 guidetolerance="10"
31 inkscape:pageopacity="0"
32 inkscape:pageshadow="2"
33 inkscape:window-width="782"
34 inkscape:window-height="480"
35 id="namedview39"
36 showgrid="false"
37 inkscape:zoom="0.47889223"
38 inkscape:cx="246.40199"
39 inkscape:cy="246.40199"
40 inkscape:window-x="1970"
41 inkscape:window-y="125"
42 inkscape:window-maximized="0"
43 inkscape:current-layer="g4" />
44<g
45 id="g6">
46 <g
47 id="g4">
48 <path
49 d="M482.592,381.614L288.863,69.966c-11.22-18.044-26.348-27.96-42.656-27.96c-16.32,0-31.456,9.924-42.672,27.976 L10.267,381.142c-11.216,18.04-13.316,35.268-5.94,48.564c7.432,13.38,23.36,20.728,44.864,20.752l394.608,0.3h-0.336v0.04 c19.272,0,37.56-7.316,44.984-20.652C495.824,416.89,493.808,399.666,482.592,381.614z M256.96,388.59 c-2.868,2.86-6.736,4.484-10.792,4.484c-4.048,0-7.988-1.64-10.868-4.5c-2.856-2.86-4.476-6.852-4.472-10.932 c0.008-4.056,0.956-8.024,3.82-10.86c2.924-2.888,5.404-4.54,9.26-4.54l0.72-0.008c4.04,0,8.84,1.66,11.744,4.564 c2.872,2.856,4.932,6.812,4.924,10.876C261.292,381.762,259.852,385.742,256.96,388.59z M246.216,331.398 c-4.12,0-7.94-1.6-10.852-4.512c-2.912-2.916-4.488-6.792-4.484-10.92l-1.616-139.068c0.016-8.512,5.972-15.416,13.684-15.416 h1.772c4.124,0,8.88,1.604,11.788,4.52c2.916,2.92,4.932,6.788,4.928,10.916l0.1,139.068 C261.528,324.482,254.724,331.398,246.216,331.398z"
50 id="path2"
51 style="fill:#000000" />
52 </g>
53</g>
54<g
55 id="g8">
56</g>
57<g
58 id="g10">
59</g>
60<g
61 id="g12">
62</g>
63<g
64 id="g14">
65</g>
66<g
67 id="g16">
68</g>
69<g
70 id="g18">
71</g>
72<g
73 id="g20">
74</g>
75<g
76 id="g22">
77</g>
78<g
79 id="g24">
80</g>
81<g
82 id="g26">
83</g>
84<g
85 id="g28">
86</g>
87<g
88 id="g30">
89</g>
90<g
91 id="g32">
92</g>
93<g
94 id="g34">
95</g>
96<g
97 id="g36">
98</g>
99</svg> \ No newline at end of file
diff --git a/assets/general/index.css b/assets/general/index.css
deleted file mode 100644
index d9014f7..0000000
--- a/assets/general/index.css
+++ /dev/null
@@ -1 +0,0 @@
1/*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-3{height:.75rem}.h-6{height:1.5rem}.h-full{height:100%}.w-3{width:.75rem}.w-6{width:1.5rem}.w-full{width:100%}.flex-grow{flex-grow:1}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded{border-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-16{padding-bottom:4rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-2{text-underline-offset:2px}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}*{cursor:url(/general/9front-cursor.png),auto}.container-blog{max-width:740px}::selection{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.blue,a:hover{color:blue}article.single h2{margin-bottom:2rem}article.single h2,article.single.note h2{margin-top:2rem;font-size:1.5rem;line-height:2rem;font-weight:700;line-height:1.25}article.single.note h2{margin-bottom:.25rem}article.single h3{font-size:1.25rem}article.single h3,article.single h4{margin-bottom:1rem;margin-top:2rem;line-height:1.75rem;font-weight:700;line-height:1.25}article.single h4{font-size:1.125rem}article.single p{margin-bottom:1.25rem}article.single a{text-decoration-line:underline;text-underline-offset:2px}article.single .content blockquote{background-image:url(/general/alert-light.svg);background-size:30px 30px;background-repeat:no-repeat;background-position:0 5px;margin-top:2rem;margin-bottom:2rem;padding-left:3rem}article.single .content blockquote p{margin-bottom:.5rem}article.single figure{margin-top:2rem;margin-bottom:2rem}article.single figure figcaption{margin-top:.25rem;text-align:center;font-style:italic}article.single img{image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast}article.single img,article.single video{width:100%;border-radius:.25rem;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important}article.single audio{margin-bottom:1.5rem;width:100%}article.single code{background-color:rgb(254 240 138/var(--tw-bg-opacity))}article.single code,article.single.note code{border-radius:.25rem;--tw-bg-opacity:1;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500}article.single.note code{background-color:rgb(243 244 246/var(--tw-bg-opacity))}article.single pre{margin-bottom:1.5rem;overflow-x:auto;border-radius:.25rem;--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity))!important;padding:1rem;font-size:.75rem;line-height:1rem}article.single pre code,article.single.note pre code{background:unset;padding:unset;line-height:1.625}article.single table{margin-bottom:1rem;width:100%;border-collapse:collapse;border-width:1px;--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}article.single table td,article.single table th,article.single table tr{border-width:1px;padding:.5rem 1rem;text-align:left}article.single .content ul{margin-bottom:1.5rem;list-style-type:disc;padding-left:1.5rem}@media (min-width:768px){article.single .content ul{padding-left:2.5rem}}article.single .content ol{margin-bottom:1.5rem;list-style-type:decimal;padding-left:2rem}@media (min-width:768px){article.single .content ol{padding-left:2.5rem}}article.single #TableOfContents{margin-bottom:2.5rem;margin-left:1rem;line-height:1.625}article.single #TableOfContents ul{list-style-type:decimal;padding-left:1rem}@media (min-width:768px){article.single #TableOfContents ul{padding-left:1.5rem}}article.single .content ul ul{margin-bottom:auto}article.single .katex-display{margin-top:2.5rem;margin-bottom:2.5rem}article.single .ll-iframe{border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}article.single .ll-iframe:before{display:flex;height:100%}@keyframes pulse{50%{opacity:.5}}article.single .ll-iframe:before{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));font-size:.875rem;line-height:1.25rem;font-weight:500;content:"Click here to load resource…"}article.single .ll-iframe.empty:before{content:none}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}@media (min-width:768px){.md\:mb-0{margin-bottom:0}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:w-40{width:10rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-0{gap:0}.md\:border{border-width:1px}.md\:border-b{border-bottom-width:1px}.md\:p-0{padding:0}.md\:p-3{padding:.75rem}.md\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}}@media (min-width:1024px){.lg\:block{display:block}} \ No newline at end of file
diff --git a/assets/general/og-big.jpg b/assets/general/og-big.jpg
deleted file mode 100644
index da8273b..0000000
--- a/assets/general/og-big.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/general/og-big.xcf b/assets/general/og-big.xcf
deleted file mode 100644
index ae0b007..0000000
--- a/assets/general/og-big.xcf
+++ /dev/null
Binary files differ
diff --git a/assets/general/og.jpg b/assets/general/og.jpg
deleted file mode 100644
index 132f62d..0000000
--- a/assets/general/og.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/general/og.xcf b/assets/general/og.xcf
deleted file mode 100644
index 0572715..0000000
--- a/assets/general/og.xcf
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1461.mp4 b/assets/notes/floods/IMG_1461.mp4
deleted file mode 100755
index 6b7f325..0000000
--- a/assets/notes/floods/IMG_1461.mp4
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1466.mp4 b/assets/notes/floods/IMG_1466.mp4
deleted file mode 100755
index f15cdb9..0000000
--- a/assets/notes/floods/IMG_1466.mp4
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1469.webp b/assets/notes/floods/IMG_1469.webp
deleted file mode 100755
index b668039..0000000
--- a/assets/notes/floods/IMG_1469.webp
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1470.webp b/assets/notes/floods/IMG_1470.webp
deleted file mode 100755
index 74496ba..0000000
--- a/assets/notes/floods/IMG_1470.webp
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1471.mp4 b/assets/notes/floods/IMG_1471.mp4
deleted file mode 100755
index ac7f8b5..0000000
--- a/assets/notes/floods/IMG_1471.mp4
+++ /dev/null
Binary files differ
diff --git a/assets/notes/floods/IMG_1474.mp4 b/assets/notes/floods/IMG_1474.mp4
deleted file mode 100755
index e1018d0..0000000
--- a/assets/notes/floods/IMG_1474.mp4
+++ /dev/null
Binary files differ
diff --git a/bin/vault.rb b/bin/vault.rb
deleted file mode 100644
index 1a664ea..0000000
--- a/bin/vault.rb
+++ /dev/null
@@ -1,60 +0,0 @@
1require 'nokogiri'
2require 'net/http'
3require 'uri'
4
5url = "https://mitjafelicijan.fra1.digitaloceanspaces.com/"
6
7def truncate_filename(filename, max_length)
8 return filename if filename.length <= max_length
9
10 file_extension = filename.split('.').last
11 "#{filename[0...max_length - file_extension.length - 5]}….#{file_extension}"
12end
13
14uri = URI(url)
15response = Net::HTTP.get_response(uri)
16
17if response.is_a?(Net::HTTPSuccess)
18 xml_data = response.body
19 root = Nokogiri::XML(xml_data)
20
21 root.remove_namespaces!
22 tree = {}
23
24 root.xpath("//Contents").each do |content|
25 key = content.xpath("Key").text
26 parts = key.split("/")
27 node = tree
28 parts.each do |part|
29 next if part.empty?
30 node[part] ||= {}
31 node = node[part]
32 end
33 end
34
35 def tree_to_md(tree, url, indent = 0, path = "")
36 md = ""
37 tree.each do |k, v|
38 if v.empty? # If the node is empty, it's a file
39 file_url = "#{url}#{path}#{k}"
40 file_name = truncate_filename(k, 500)
41 md += "#{" " * indent}- [#{file_name}](#{file_url})\n"
42 else # If the node has children, it's a directory
43 md += "#{" " * indent}- #{k}\n"
44 md += tree_to_md(v, url, indent + 1, "#{path}#{k}/")
45 end
46 end
47 md
48 end
49
50 md = tree_to_md(tree, url)
51 puts md
52
53 File.open("_layouts/vault.md", "r") do |file|
54 content = file.read
55 new_content = content.gsub("{CONTENT}", md)
56 File.open("vault.md", "w") { |f| f.write(new_content) }
57 end
58else
59 puts "Failed to fetch XML data. Status code: #{response.code}"
60end
diff --git a/bin/webring.rb b/bin/webring.rb
deleted file mode 100644
index 05537a2..0000000
--- a/bin/webring.rb
+++ /dev/null
@@ -1,80 +0,0 @@
1require "erb"
2require "htmlentities"
3require "open-uri"
4require "simple-rss"
5
6summary_max_length = 320
7
8feeds = [
9 "https://blog.regehr.org/feed",
10 "https://www.neilhenning.dev/index.xml",
11 "https://drewdevault.com/blog/index.xml",
12 "https://offbeatpursuit.com/blog/index.rss",
13 "https://mirzapandzo.com/rss.xml",
14 "https://journal.valeriansaliou.name/rss/",
15 "https://neil.computer/rss/",
16 "https://michael.stapelberg.ch/feed.xml",
17 "https://utcc.utoronto.ca/~cks/space/blog/?atom",
18 "https://szymonkaliski.com/feed.xml"
19]
20
21out_html = ""
22decoder = HTMLEntities.new
23
24feeds.each do |feed_url|
25 begin
26 rss_content = URI.open(feed_url).read
27 rss = SimpleRSS.parse(rss_content)
28
29 first = rss.items.first
30 author = rss.channel.title
31 website = rss.channel.link.gsub(%r{</?[^>]+?>}, '')
32 title = first.title
33 link = first.link
34
35 description = first.description
36 summary = description
37 content = first.content
38
39 if not summary
40 summary = content
41 end
42
43 summary.force_encoding("UTF-8")
44 summary = decoder.decode(summary)
45 .gsub(%r{</?[^>]+?>}, '')
46 .gsub(/\s{2,}/, ' ')
47 .gsub("\n", ' ')
48
49 if summary.length > summary_max_length
50 summary = "#{summary[0...summary_max_length]}..."
51 end
52
53 template = ERB.new <<-EOF
54 <li>
55 <div><a href="<%= link %>" target="_blank" rel="noopener"><%= title %></a> — <%= author %></div>
56 <div><%= summary %></div>
57 </li>
58 EOF
59
60 partial = template.result(binding)
61 out_html.concat(partial)
62
63 puts "Feed: #{author}"
64 puts "Title: #{title}"
65 puts "Link: #{link}"
66 puts "Summary: #{summary}"
67 puts
68 rescue OpenURI::HTTPError => e
69 puts "Failed to fetch #{feed_url}: #{e.message}"
70 rescue SimpleRSSError => e
71 puts "Failed to parse #{feed_url}: #{e.message}"
72 end
73end
74
75template = ERB.new <<-EOF
76 <h2>Posts from blogs I follow around the net</h2>
77 <ul><%= out_html %></ul>
78EOF
79out_html = template.result(binding)
80File.write("_includes/webring.html", out_html)
diff --git a/config.yaml b/config.yaml
new file mode 100755
index 0000000..6b49743
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,20 @@
1title: "Mitja Felicijan"
2baseurl: "https://mitjafelicijan.com"
3description: "You do not learn by relaxing. You learn by violently assaulting your problem until it surrenders its mysteries to you."
4language: "en-us"
5
6# Code highlighting.
7# https://swapoff.org/chroma/playground/
8highlighting: "vs"
9
10# Minifies output HTML (including inline CSS, JS).
11minify: true
12
13# Other generaters, in this case RSS generator.
14extras:
15 - template: feed.xml
16 url: feed.xml
17 - template: robots.txt
18 url: robots.txt
19 - template: sitemap.xml
20 url: sitemap.xml
diff --git a/content/.gitkeep b/content/.gitkeep
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/content/.gitkeep
diff --git a/_posts/notes/2022-08-13-algae-spotted-on-river-sava.md b/content/notes/2022-08-13-algae-spotted-on-river-sava.md
index 02314f4..6db8c3c 100644
--- a/_posts/notes/2022-08-13-algae-spotted-on-river-sava.md
+++ b/content/notes/2022-08-13-algae-spotted-on-river-sava.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Aerial photography of algae spotted on river Sava 2title: Aerial photography of algae spotted on river Sava
3permalink: /aerial-photography-of-algae-spotted-on-river-sava.html 3url: /aerial-photography-of-algae-spotted-on-river-sava.html
4date: 2022-08-13T12:00:00+02:00 4date: 2022-08-13T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
@@ -15,17 +14,17 @@ This is the first time I've seen something like this in my whole life.
15 14
16Below are some photographs taken from a DJI drone capturing the event. 15Below are some photographs taken from a DJI drone capturing the event.
17 16
18![Algae on Sava](/assets/posts/algae-sava/dji-algae-0.jpg){:loading="lazy"} 17![Algae on Sava](/assets/posts/algae-sava/dji-algae-0.jpg)
19 18
20![Algae on Sava](/assets/posts/algae-sava/dji-algae-1.jpg){:loading="lazy"} 19![Algae on Sava](/assets/posts/algae-sava/dji-algae-1.jpg)
21 20
22![Algae on Sava](/assets/posts/algae-sava/dji-algae-2.jpg){:loading="lazy"} 21![Algae on Sava](/assets/posts/algae-sava/dji-algae-2.jpg)
23 22
24![Algae on Sava](/assets/posts/algae-sava/dji-algae-3.jpg){:loading="lazy"} 23![Algae on Sava](/assets/posts/algae-sava/dji-algae-3.jpg)
25 24
26![Algae on Sava](/assets/posts/algae-sava/dji-algae-4.jpg){:loading="lazy"} 25![Algae on Sava](/assets/posts/algae-sava/dji-algae-4.jpg)
27 26
28![Algae on Sava](/assets/posts/algae-sava/dji-algae-5.jpg){:loading="lazy"} 27![Algae on Sava](/assets/posts/algae-sava/dji-algae-5.jpg)
29 28
30I will try to get more photos of this in the future days and if something 29I will try to get more photos of this in the future days and if something
31intriguing shows up will post it again on the blog. 30intriguing shows up will post it again on the blog.
diff --git a/_posts/notes/2023-05-01-cachebusting-in-hugo.md b/content/notes/2023-05-01-cachebusting-in-hugo.md
index f8d92b2..588ee69 100644
--- a/_posts/notes/2023-05-01-cachebusting-in-hugo.md
+++ b/content/notes/2023-05-01-cachebusting-in-hugo.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Cache busting in Hugo 2title: Cache busting in Hugo
3permalink: /cachebusting-in-hugo.html 3url: /cachebusting-in-hugo.html
4date: 2023-05-01T12:00:00+02:00 4date: 2023-05-01T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [hugo]
9--- 7---
10 8
11```html 9```html
diff --git a/_posts/notes/2023-05-05-run-9front-in-qemu.md b/content/notes/2023-05-05-run-9front-in-qemu.md
index 853b2c1..4425d7f 100644
--- a/_posts/notes/2023-05-05-run-9front-in-qemu.md
+++ b/content/notes/2023-05-05-run-9front-in-qemu.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Run 9front in Qemu 2title: Run 9front in Qemu
3permalink: /run-9front-in-qemu.html 3url: /run-9front-in-qemu.html
4date: 2023-05-05T12:00:00+02:00 4date: 2023-05-05T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9, qemu]
9--- 7---
10 8
11Run 9front in Qemu. This applies to [Plan9](https://9p.io/plan9/) and 9Run 9front in Qemu. This applies to [Plan9](https://9p.io/plan9/) and
diff --git a/_posts/notes/2023-05-06-git-push-multiple-origins.md b/content/notes/2023-05-06-git-push-multiple-origins.md
index ce7e64b..91429cd 100644
--- a/_posts/notes/2023-05-06-git-push-multiple-origins.md
+++ b/content/notes/2023-05-06-git-push-multiple-origins.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Push to multiple origins at once in Git 2title: Push to multiple origins at once in Git
3permalink: /git-push-multiple-origins.html 3url: /git-push-multiple-origins.html
4date: 2023-05-06T12:00:00+02:00 4date: 2023-05-06T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [git]
9--- 7---
10 8
11Sometimes you want to push to multiple origins at once. This is useful if you 9Sometimes you want to push to multiple origins at once. This is useful if you
diff --git a/_posts/notes/2023-05-07-mount-plan9-over-network.md b/content/notes/2023-05-07-mount-plan9-over-network.md
index ad68e80..f1558a4 100644
--- a/_posts/notes/2023-05-07-mount-plan9-over-network.md
+++ b/content/notes/2023-05-07-mount-plan9-over-network.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Mount Plan9 over network 2title: Mount Plan9 over network
3permalink: /mount-plan9-over-network.html 3url: /mount-plan9-over-network.html
4date: 2023-05-07T12:00:00+02:00 4date: 2023-05-07T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9]
9--- 7---
10 8
11- First install libfuse with sudo apt install libfuse-dev. 9- First install libfuse with sudo apt install libfuse-dev.
diff --git a/_posts/notes/2023-05-08-write-iso-usb.md b/content/notes/2023-05-08-write-iso-usb.md
index 9c0e9fb..35faf1f 100644
--- a/_posts/notes/2023-05-08-write-iso-usb.md
+++ b/content/notes/2023-05-08-write-iso-usb.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Write ISO to USB Key 2title: Write ISO to USB Key
3permalink: /write-iso-usb.html 3url: /write-iso-usb.html
4date: 2023-05-08T12:00:00+02:00 4date: 2023-05-08T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [linux]
9--- 7---
10 8
11Write ISO to USB key. Nothing fancy here. 9Write ISO to USB key. Nothing fancy here.
diff --git a/_posts/notes/2023-05-09-catv-weechat-config.md b/content/notes/2023-05-09-catv-weechat-config.md
index 78d0907..7155c36 100644
--- a/_posts/notes/2023-05-09-catv-weechat-config.md
+++ b/content/notes/2023-05-09-catv-weechat-config.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "#cat-v on weechat configuration" 2title: "#cat-v on weechat configuration"
3permalink: /catv-weechat-config.html 3url: /catv-weechat-config.html
4date: 2023-05-09T12:00:00+02:00 4date: 2023-05-09T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [irc]
9--- 7---
10 8
11Set up weechat to connect to #cat-v on oftc. This applies to 9Set up weechat to connect to #cat-v on oftc. This applies to
diff --git a/_posts/notes/2023-05-10-plan9-screenshot.md b/content/notes/2023-05-10-plan9-screenshot.md
index 5aa11bf..db64e95 100644
--- a/_posts/notes/2023-05-10-plan9-screenshot.md
+++ b/content/notes/2023-05-10-plan9-screenshot.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Take a screenshot in Plan9 2title: Take a screenshot in Plan9
3permalink: /plan9-screenshot.html 3url: /plan9-screenshot.html
4date: 2023-05-10T12:00:00+02:00 4date: 2023-05-10T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9]
9--- 7---
10 8
11Take a screenshot in Plan9. This applies to [Plan9](https://9p.io/plan9/) and 9Take a screenshot in Plan9. This applies to [Plan9](https://9p.io/plan9/) and
diff --git a/_posts/notes/2023-05-11-fix-plan9-bootloader.md b/content/notes/2023-05-11-fix-plan9-bootloader.md
index de030c9..69c4408 100644
--- a/_posts/notes/2023-05-11-fix-plan9-bootloader.md
+++ b/content/notes/2023-05-11-fix-plan9-bootloader.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Fix bootloader not being written in Plan9 2title: Fix bootloader not being written in Plan9
3permalink: /fix-plan9-bootloader.html 3url: /fix-plan9-bootloader.html
4date: 2023-05-11T12:00:00+02:00 4date: 2023-05-11T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9]
9--- 7---
10 8
11If the bootloader is not being written to a disk when installing 9front on real 9If the bootloader is not being written to a disk when installing 9front on real
diff --git a/_posts/notes/2023-05-12-install-plan9port-linux.md b/content/notes/2023-05-12-install-plan9port-linux.md
index c1cce46..2ae5494 100644
--- a/_posts/notes/2023-05-12-install-plan9port-linux.md
+++ b/content/notes/2023-05-12-install-plan9port-linux.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Install Plan9port on Linux 2title: Install Plan9port on Linux
3permalink: /install-plan9port-linux.html 3url: /install-plan9port-linux.html
4date: 2023-05-12T12:00:00+02:00 4date: 2023-05-12T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9]
9--- 7---
10 8
11Install Plan9port on Linux. This applies to 9Install Plan9port on Linux. This applies to
diff --git a/_posts/notes/2023-05-13-download-youtube-videos.md b/content/notes/2023-05-13-download-youtube-videos.md
index 9ed8221..2ac6e76 100644
--- a/_posts/notes/2023-05-13-download-youtube-videos.md
+++ b/content/notes/2023-05-13-download-youtube-videos.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Download list of YouTube files 2title: Download list of YouTube files
3permalink: /download-youtube-videos.html 3url: /download-youtube-videos.html
4date: 2023-05-13T12:00:00+02:00 4date: 2023-05-13T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [youtube]
9--- 7---
10 8
11If you need to download a list of YouTube videos and don't want to download the 9If you need to download a list of YouTube videos and don't want to download the
diff --git a/_posts/notes/2023-05-14-convert-mkv.md b/content/notes/2023-05-14-convert-mkv.md
index 7cc6189..0aa96fd 100644
--- a/_posts/notes/2023-05-14-convert-mkv.md
+++ b/content/notes/2023-05-14-convert-mkv.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Convert all MKV files into other formats 2title: Convert all MKV files into other formats
3permalink: /convert-mkv.html 3url: /convert-mkv.html
4date: 2023-05-14T12:00:00+02:00 4date: 2023-05-14T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [ffmpeg]
9--- 7---
10 8
11You will need `ffmpeg` installed on your system. This will convert all MKV files 9You will need `ffmpeg` installed on your system. This will convert all MKV files
diff --git a/_posts/notes/2023-05-15-preview-troff-man-pages.md b/content/notes/2023-05-15-preview-troff-man-pages.md
index 2f0ca82..f5cbade 100644
--- a/_posts/notes/2023-05-15-preview-troff-man-pages.md
+++ b/content/notes/2023-05-15-preview-troff-man-pages.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Previews how man page written in Troff will look like 2title: Previews how man page written in Troff will look like
3permalink: /preview-troff-man-pages.html 3url: /preview-troff-man-pages.html
4date: 2023-05-15T12:00:00+02:00 4date: 2023-05-15T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [troff]
9--- 7---
10 8
11Troff is used to write man pages and it is difficult to read it so this will 9Troff is used to write man pages and it is difficult to read it so this will
diff --git a/_posts/notes/2023-05-16-mass-set-permission.md b/content/notes/2023-05-16-mass-set-permission.md
index 654d9d1..4a32931 100644
--- a/_posts/notes/2023-05-16-mass-set-permission.md
+++ b/content/notes/2023-05-16-mass-set-permission.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Change permissions of matching files recursively 2title: Change permissions of matching files recursively
3permalink: /mass-set-permission.html 3url: /mass-set-permission.html
4date: 2023-05-16T12:00:00+02:00 4date: 2023-05-16T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [linux]
9--- 7---
10 8
11Replace `*.xml` with your pattern. This will remove executable bit from all 9Replace `*.xml` with your pattern. This will remove executable bit from all
diff --git a/_posts/notes/2023-05-22-non-blocking-shell-exec-csharp.md b/content/notes/2023-05-22-non-blocking-shell-exec-csharp.md
index f8b9c53..afe7491 100644
--- a/_posts/notes/2023-05-22-non-blocking-shell-exec-csharp.md
+++ b/content/notes/2023-05-22-non-blocking-shell-exec-csharp.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Execute not blocking async shell command in C# 2title: Execute not blocking async shell command in C#
3permalink: /non-blocking-shell-exec-csharp.html 3url: /non-blocking-shell-exec-csharp.html
4date: 2023-05-22T12:00:00+02:00 4date: 2023-05-22T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [csharp]
9--- 7---
10 8
11Execute a shell command in async in C# while not blocking the UI thread. 9Execute a shell command in async in C# while not blocking the UI thread.
diff --git a/_posts/notes/2023-05-23-extend-lua-with-custom-c.md b/content/notes/2023-05-23-extend-lua-with-custom-c.md
index 604d359..013616b 100644
--- a/_posts/notes/2023-05-23-extend-lua-with-custom-c.md
+++ b/content/notes/2023-05-23-extend-lua-with-custom-c.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Extend Lua with custom C functions using Clang 2title: Extend Lua with custom C functions using Clang
3permalink: /extend-lua-with-custom-c.html 3url: /extend-lua-with-custom-c.html
4date: 2023-05-23T12:00:00+02:00 4date: 2023-05-23T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [lua, c]
9--- 7---
10 8
11Here is a boilerplate for extending Lua with custom C functions. This requires 9Here is a boilerplate for extending Lua with custom C functions. This requires
diff --git a/_posts/notes/2023-05-23-parse-rss-with-lua.md b/content/notes/2023-05-23-parse-rss-with-lua.md
index ea8ce8c..7802c31 100644
--- a/_posts/notes/2023-05-23-parse-rss-with-lua.md
+++ b/content/notes/2023-05-23-parse-rss-with-lua.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Parse RSS feeds with Lua 2title: Parse RSS feeds with Lua
3permalink: /parse-rss-with-lua.html 3url: /parse-rss-with-lua.html
4date: 2023-05-23T12:00:00+02:00 4date: 2023-05-23T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [lua, rss]
9--- 7---
10 8
11Example of parsing RSS feeds with Lua. Before running the script install: 9Example of parsing RSS feeds with Lua. Before running the script install:
diff --git a/_posts/notes/2023-05-24-fresh-9front-desktop.md b/content/notes/2023-05-24-fresh-9front-desktop.md
index 5da89e7..1d8deed 100644
--- a/_posts/notes/2023-05-24-fresh-9front-desktop.md
+++ b/content/notes/2023-05-24-fresh-9front-desktop.md
@@ -1,15 +1,13 @@
1--- 1---
2title: My brand new Plan9/9front desktop 2title: My brand new Plan9/9front desktop
3permalink: /fresh-9front-desktop.html 3url: /fresh-9front-desktop.html
4date: 2023-05-24T12:00:00+02:00 4date: 2023-05-24T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9]
9--- 7---
10 8
11I have been experimenting with Plan9/9front for a week now. Noice! This is how 9I have been experimenting with Plan9/9front for a week now. Noice! This is how
12my desktop looks like. 10my desktop looks like.
13 11
14![9front desktop](/assets/notes/9front-desktop.png){:loading="lazy"} 12![9front desktop](/assets/notes/9front-desktop.png)
15 13
diff --git a/_posts/notes/2023-05-25-dcss-new-player-guide.md b/content/notes/2023-05-25-dcss-new-player-guide.md
index dd63f79..a19e2ea 100644
--- a/_posts/notes/2023-05-25-dcss-new-player-guide.md
+++ b/content/notes/2023-05-25-dcss-new-player-guide.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Dungeon Crawl Stone Soup - New player guide 2title: Dungeon Crawl Stone Soup - New player guide
3permalink: /dcss-new-player-guide.html 3url: /dcss-new-player-guide.html
4date: 2023-05-25T22:00:00+02:00 4date: 2023-05-25T22:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [dcss]
9--- 7---
10 8
11An amazing game deserves an amazing guide. All this material can be find in some 9An amazing game deserves an amazing guide. All this material can be find in some
@@ -15,7 +13,7 @@ form on another on [craw's](https://github.com/crawl/crawl) official repository.
15 game 13 game
16- [DCSS Manual](/assets/notes/dcss_manual.pdf) - Extensive manual about the game 14- [DCSS Manual](/assets/notes/dcss_manual.pdf) - Extensive manual about the game
17 15
18![Dungeon Crawl Stone Soup](/assets/notes/dcss.jpg){:loading="lazy"} 16![Dungeon Crawl Stone Soup](/assets/notes/dcss.jpg)
19 17
20**Movement and Exploration** 18**Movement and Exploration**
21 19
diff --git a/_posts/notes/2023-05-25-show-xterm-colors.md b/content/notes/2023-05-25-show-xterm-colors.md
index 56050fd..79781e2 100644
--- a/_posts/notes/2023-05-25-show-xterm-colors.md
+++ b/content/notes/2023-05-25-show-xterm-colors.md
@@ -1,17 +1,15 @@
1--- 1---
2title: Display xterm color palette 2title: Display xterm color palette
3permalink: /xterm-color-palette.html 3url: /xterm-color-palette.html
4date: 2023-05-25T12:00:00+02:00 4date: 2023-05-25T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [linux]
9--- 7---
10 8
11- `bash xterm-palette.sh` - will show you number of max colors available 9- `bash xterm-palette.sh` - will show you number of max colors available
12- `bash xterm-palette.sh -v` - will create a list of all colors with codes 10- `bash xterm-palette.sh -v` - will create a list of all colors with codes
13 11
14![xterm color palette](/assets/notes/xterm-palette.png){:loading="lazy"} 12![xterm color palette](/assets/notes/xterm-palette.png)
15 13
16```sh 14```sh
17#!/usr/bin/env bash 15#!/usr/bin/env bash
diff --git a/_posts/notes/2023-05-25-tmux-sane-defaults.md b/content/notes/2023-05-25-tmux-sane-defaults.md
index 3d0f304..2840af8 100644
--- a/_posts/notes/2023-05-25-tmux-sane-defaults.md
+++ b/content/notes/2023-05-25-tmux-sane-defaults.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Sane defaults for tmux with more visible statusbar 2title: Sane defaults for tmux with more visible statusbar
3permalink: /tmux-sane-defaults.html 3url: /tmux-sane-defaults.html
4date: 2023-05-25T12:00:00+02:00 4date: 2023-05-25T12:00:00+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [tmux]
9--- 7---
10 8
11```conf 9```conf
diff --git a/_posts/notes/2023-05-27-cronjobs-github-with-actions.md b/content/notes/2023-05-27-cronjobs-github-with-actions.md
index 3fd2fdc..8d44761 100644
--- a/_posts/notes/2023-05-27-cronjobs-github-with-actions.md
+++ b/content/notes/2023-05-27-cronjobs-github-with-actions.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Cronjobs on Github with Github Actions" 2title: "Cronjobs on Github with Github Actions"
3permalink: /cronjobs-github-with-actions.html 3url: /cronjobs-github-with-actions.html
4date: 2023-05-27T00:35:36+02:00 4date: 2023-05-27T00:35:36+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [github]
9--- 7---
10 8
11In the root of your repository create a folder `.github/workflows` and in that 9In the root of your repository create a folder `.github/workflows` and in that
diff --git a/_posts/notes/2023-05-27-dcss-on-4k-displays.md b/content/notes/2023-05-27-dcss-on-4k-displays.md
index ba46099..3298c5c 100644
--- a/_posts/notes/2023-05-27-dcss-on-4k-displays.md
+++ b/content/notes/2023-05-27-dcss-on-4k-displays.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Make DCSS playable on 4k displays" 2title: "Make DCSS playable on 4k displays"
3permalink: /dcss-on-4k-display.html 3url: /dcss-on-4k-display.html
4date: 2023-05-27T19:35:11+02:00 4date: 2023-05-27T19:35:11+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [dcss]
9--- 7---
10 8
11Dungeon Crawl Stone Soup has a a very small font by default. On a 4k display, it 9Dungeon Crawl Stone Soup has a a very small font by default. On a 4k display, it
diff --git a/_posts/notes/2023-05-27-drawing-pixels-in-plan9.md b/content/notes/2023-05-27-drawing-pixels-in-plan9.md
index 3d37a2c..5b5115d 100644
--- a/_posts/notes/2023-05-27-drawing-pixels-in-plan9.md
+++ b/content/notes/2023-05-27-drawing-pixels-in-plan9.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Drawing Pixels in Plan9" 2title: "Drawing Pixels in Plan9"
3permalink: /drawing-pixels-in-plan9.html 3url: /drawing-pixels-in-plan9.html
4date: 2023-05-27T17:41:33+02:00 4date: 2023-05-27T17:41:33+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [plan9, graphics]
9--- 7---
10 8
11I have started exploring Plan9's graphics capabilities. This is a hello world 9I have started exploring Plan9's graphics capabilities. This is a hello world
@@ -22,7 +20,7 @@ More information:
22- [all man pages](https://9fans.github.io/plan9port/man/man3/) 20- [all man pages](https://9fans.github.io/plan9port/man/man3/)
23 can be a valuable resource for learning about the system 21 can be a valuable resource for learning about the system
24 22
25![Plan9 Howdy World!](/assets/notes/plan9-pixels.png){:loading="lazy"} 23![Plan9 Howdy World!](/assets/notes/plan9-pixels.png)
26 24
27```c 25```c
28// main.c 26// main.c
diff --git a/_posts/notes/2023-05-28-easy-time-took-in-bash.md b/content/notes/2023-05-28-easy-time-took-in-bash.md
index 958da72..42f2091 100644
--- a/_posts/notes/2023-05-28-easy-time-took-in-bash.md
+++ b/content/notes/2023-05-28-easy-time-took-in-bash.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Easy measure time took in a bash script" 2title: "Easy measure time took in a bash script"
3permalink: /easy-time-took-in-bash.html 3url: /easy-time-took-in-bash.html
4date: 2023-05-28T17:53:20+02:00 4date: 2023-05-28T17:53:20+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [bash]
9--- 7---
10 8
11In Bash, the `$SECONDS` variable is a special variable that automatically keeps 9In Bash, the `$SECONDS` variable is a special variable that automatically keeps
diff --git a/_posts/notes/2023-05-29-grep-to-less-maintain-colors.md b/content/notes/2023-05-29-grep-to-less-maintain-colors.md
index b1421b9..718dda8 100644
--- a/_posts/notes/2023-05-29-grep-to-less-maintain-colors.md
+++ b/content/notes/2023-05-29-grep-to-less-maintain-colors.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Grep to Less that maintain colors" 2title: "Grep to Less that maintain colors"
3permalink: /grep-to-less-maintain-colors.html 3url: /grep-to-less-maintain-colors.html
4date: 2023-05-29T21:27:07+02:00 4date: 2023-05-29T21:27:07+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [bash]
9--- 7---
10 8
11I often use `grep` to search for todo's in my code and other people's code and 9I often use `grep` to search for todo's in my code and other people's code and
@@ -23,4 +21,4 @@ string.
23grep --color=always -rni "TODO:" | less -R 21grep --color=always -rni "TODO:" | less -R
24``` 22```
25 23
26![Less and grep](/assets/notes/grep-less.png){:loading="lazy"} 24![Less and grep](/assets/notes/grep-less.png)
diff --git a/_posts/notes/2023-05-31-extending-dte-editor.md b/content/notes/2023-05-31-extending-dte-editor.md
index e9f02a4..8135bdc 100644
--- a/_posts/notes/2023-05-31-extending-dte-editor.md
+++ b/content/notes/2023-05-31-extending-dte-editor.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Extending dte editor" 2title: "Extending dte editor"
3permalink: /extending-dte-editor.html 3url: /extending-dte-editor.html
4date: 2023-05-31T08:12:45+02:00 4date: 2023-05-31T08:12:45+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [dte]
9--- 7---
10 8
11[`dte`](https://craigbarnes.gitlab.io/dte/) is an interesting editor I started 9[`dte`](https://craigbarnes.gitlab.io/dte/) is an interesting editor I started
diff --git a/_posts/notes/2023-06-01-ewd-manuscripts-ebook.md b/content/notes/2023-06-01-ewd-manuscripts-ebook.md
index a78526c..ac58fe0 100644
--- a/_posts/notes/2023-06-01-ewd-manuscripts-ebook.md
+++ b/content/notes/2023-06-01-ewd-manuscripts-ebook.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Edsger W. Dijkstra Manuscripts ebook" 2title: "Edsger W. Dijkstra Manuscripts ebook"
3permalink: /ewd-manuscripts-ebook.html 3url: /ewd-manuscripts-ebook.html
4date: 2023-06-01T22:47:56+02:00 4date: 2023-06-01T22:47:56+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [random]
9--- 7---
10 8
11I love reading the original manuscripts of Edsger W. Dijkstra. They are 9I love reading the original manuscripts of Edsger W. Dijkstra. They are
diff --git a/_posts/notes/2023-06-04-bulk-make-thumbnails.md b/content/notes/2023-06-04-bulk-make-thumbnails.md
index 0a502a9..d3a7d62 100644
--- a/_posts/notes/2023-06-04-bulk-make-thumbnails.md
+++ b/content/notes/2023-06-04-bulk-make-thumbnails.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Bulk thumbnails" 2title: "Bulk thumbnails"
3permalink: /bulk-make-thumbnails.html 3url: /bulk-make-thumbnails.html
4date: 2023-06-04T20:46:56+02:00 4date: 2023-06-04T20:46:56+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [bash]
9--- 7---
10 8
11Make bulk thumbnails of JPGs with ImageMagick. 9Make bulk thumbnails of JPGs with ImageMagick.
diff --git a/_posts/notes/2023-06-21-presentations-with-markdown.md b/content/notes/2023-06-21-presentations-with-markdown.md
index 9c4fa22..a264eec 100644
--- a/_posts/notes/2023-06-21-presentations-with-markdown.md
+++ b/content/notes/2023-06-21-presentations-with-markdown.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Simple presentations with Markdown" 2title: "Simple presentations with Markdown"
3permalink: /presentations-with-markdown.html 3url: /presentations-with-markdown.html
4date: 2023-06-21T08:54:48+02:00 4date: 2023-06-21T08:54:48+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [random]
9--- 7---
10 8
11A simple way to make presentations without using desktop apps or using online 9A simple way to make presentations without using desktop apps or using online
diff --git a/_posts/notes/2023-06-24-making-cgit-look-nicer.md b/content/notes/2023-06-24-making-cgit-look-nicer.md
index 0140a3e..d145cb5 100644
--- a/_posts/notes/2023-06-24-making-cgit-look-nicer.md
+++ b/content/notes/2023-06-24-making-cgit-look-nicer.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Making cgit look nicer" 2title: "Making cgit look nicer"
3permalink: /making-cgit-look-nicer.html 3url: /making-cgit-look-nicer.html
4date: 2023-06-24T13:33:58+02:00 4date: 2023-06-24T13:33:58+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [git]
9--- 7---
10 8
11For personal use I have a [private Git server](https://git.mitjafelicijan.com) 9For personal use I have a [private Git server](https://git.mitjafelicijan.com)
diff --git a/_posts/notes/2023-06-25-alacritty-open-links-with-modifier.md b/content/notes/2023-06-25-alacritty-open-links-with-modifier.md
index a26dd14..c805053 100644
--- a/_posts/notes/2023-06-25-alacritty-open-links-with-modifier.md
+++ b/content/notes/2023-06-25-alacritty-open-links-with-modifier.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Alacritty open links with modifier" 2title: "Alacritty open links with modifier"
3permalink: /alacritty-open-links-with-modifier.html 3url: /alacritty-open-links-with-modifier.html
4date: 2023-06-25T17:17:16+02:00 4date: 2023-06-25T17:17:16+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [linux]
9--- 7---
10 8
11Alacritty by default makes all links in the terminal output clickable and this 9Alacritty by default makes all links in the terminal output clickable and this
diff --git a/_posts/notes/2023-06-25-development-environments-with-nix.md b/content/notes/2023-06-25-development-environments-with-nix.md
index a905f10..8aa104c 100644
--- a/_posts/notes/2023-06-25-development-environments-with-nix.md
+++ b/content/notes/2023-06-25-development-environments-with-nix.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Development environments with Nix" 2title: "Development environments with Nix"
3permalink: /development-environments-with-nix.html 3url: /development-environments-with-nix.html
4date: 2023-06-25T16:38:10+02:00 4date: 2023-06-25T16:38:10+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [random]
9--- 7---
10 8
11Nix is amazing for making reproducible cross OS development environment. 9Nix is amazing for making reproducible cross OS development environment.
@@ -59,7 +57,7 @@ export PS1="[\033[38;5;9m\]\u@\h\[$(tput sgr0)\]]$(is_inside_nix_shell)\[\033[33
59And this is what it looks like when you are in a Nix shell. Otherwise that part 57And this is what it looks like when you are in a Nix shell. Otherwise that part
60of prompt is omitted 58of prompt is omitted
61 59
62![PS1 Prompt](/assets/notes/ps1-prompt.png){:loading="lazy"} 60![PS1 Prompt](/assets/notes/ps1-prompt.png)
63 61
64More resources: 62More resources:
65 63
diff --git a/_posts/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md b/content/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md
index d4b8e54..cb012d4 100644
--- a/_posts/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md
+++ b/content/notes/2023-06-29-10gui-10-finger-multitouch-user-interface.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "10/GUI 10 Finger Multitouch User Interface" 2title: "10/GUI 10 Finger Multitouch User Interface"
3permalink: /10gui-10-finger-multitouch-user-interface.html 3url: /10gui-10-finger-multitouch-user-interface.html
4date: 2023-06-29T14:51:39+02:00 4date: 2023-06-29T14:51:39+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [graphics]
9--- 7---
10 8
11Message from 10/GUI team (page 10gui.com does not exist anymore): 9Message from 10/GUI team (page 10gui.com does not exist anymore):
diff --git a/_posts/notes/2023-06-29-60s-ibm-computers-commercial.md b/content/notes/2023-06-29-60s-ibm-computers-commercial.md
index bddca2a..9c4328b 100644
--- a/_posts/notes/2023-06-29-60s-ibm-computers-commercial.md
+++ b/content/notes/2023-06-29-60s-ibm-computers-commercial.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "60's IBM Computers Commercial" 2title: "60's IBM Computers Commercial"
3permalink: /60s-ibm-computers-commercial.html 3url: /60s-ibm-computers-commercial.html
4date: 2023-06-29T22:13:45+02:00 4date: 2023-06-29T22:13:45+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [random]
9--- 7---
10 8
11Likely aired during an hour-long program during the 1960s, long commercials such 9Likely aired during an hour-long program during the 1960s, long commercials such
diff --git a/_posts/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md b/content/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md
index fa88d99..dbc3abd 100644
--- a/_posts/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md
+++ b/content/notes/2023-07-10-fix-screen-tearing-on-debian-12-xorg-and-i3.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Fix screen tearing on Debian 12 Xorg and i3" 2title: "Fix screen tearing on Debian 12 Xorg and i3"
3permalink: /fix-screen-tearing-on-debian-12-xorg-and-i3.html 3url: /fix-screen-tearing-on-debian-12-xorg-and-i3.html
4date: 2023-07-10T04:21:48+02:00 4date: 2023-07-10T04:21:48+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md b/content/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md
index 60daca8..37b0715 100644
--- a/_posts/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md
+++ b/content/notes/2023-07-10-online-radio-streaming-with-mpv-from-terminal.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Online radio streaming with MPV from terminal" 2title: "Online radio streaming with MPV from terminal"
3permalink: /online-radio-streaming-with-mpv-from-terminal.html 3url: /online-radio-streaming-with-mpv-from-terminal.html
4date: 2023-07-10T03:34:45+02:00 4date: 2023-07-10T03:34:45+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md b/content/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md
index 4618581..171be4e 100644
--- a/_posts/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md
+++ b/content/notes/2023-07-14-set-color-temperature-of-displays-on-i3.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Set color temperature of displays on i3" 2title: "Set color temperature of displays on i3"
3permalink: /set-color-temperature-of-displays-on-i3.html 3url: /set-color-temperature-of-displays-on-i3.html
4date: 2023-07-14T09:19:31+02:00 4date: 2023-07-14T09:19:31+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md b/content/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md
index 461842d..84fb5e4 100644
--- a/_posts/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md
+++ b/content/notes/2023-08-01-make-b-w-svg-charts-with-matplotlib.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Make B/W SVG charts with matplotlib" 2title: "Make B/W SVG charts with matplotlib"
3permalink: /make-b-w-svg-charts-with-matplotlib.html 3url: /make-b-w-svg-charts-with-matplotlib.html
4date: 2023-08-01T17:04:10+02:00 4date: 2023-08-01T17:04:10+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
@@ -66,6 +65,6 @@ legend.get_frame().set_linewidth(0)
66plt.savefig("plot.svg", format="svg") 65plt.savefig("plot.svg", format="svg")
67``` 66```
68 67
69![SVG Chart](/assets/notes/plot.svg){:loading="lazy"} 68![SVG Chart](/assets/notes/plot.svg)
70 69
71The image above is SVG and you can zoom in and out and check that the image is vector. 70The image above is SVG and you can zoom in and out and check that the image is vector.
diff --git a/_posts/notes/2023-09-18-aws-eb-pyyaml-fix.md b/content/notes/2023-09-18-aws-eb-pyyaml-fix.md
index b1dd0cd..b394eaf 100644
--- a/_posts/notes/2023-09-18-aws-eb-pyyaml-fix.md
+++ b/content/notes/2023-09-18-aws-eb-pyyaml-fix.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "AWS EB PyYAML fix" 2title: "AWS EB PyYAML fix"
3permalink: /aws-eb-pyyaml-fix.html 3url: /aws-eb-pyyaml-fix.html
4date: 2023-09-18T07:27:29+02:00 4date: 2023-09-18T07:27:29+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2023-09-25-compile-drawterm-on-fedora-38.md b/content/notes/2023-09-25-compile-drawterm-on-fedora-38.md
index 57e1719..a369c66 100644
--- a/_posts/notes/2023-09-25-compile-drawterm-on-fedora-38.md
+++ b/content/notes/2023-09-25-compile-drawterm-on-fedora-38.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Compile drawterm on Fedora 38" 2title: "Compile drawterm on Fedora 38"
3permalink: /compile-drawterm-on-fedora-38.html 3url: /compile-drawterm-on-fedora-38.html
4date: 2023-09-25T09:04:28+02:00 4date: 2023-09-25T09:04:28+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md b/content/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md
index c47a726..294f77b 100644
--- a/_posts/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md
+++ b/content/notes/2023-11-04-using-ffmpeg-to-combine-video-side-by-side.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Using ffmpeg to combine videos side by side" 2title: "Using ffmpeg to combine videos side by side"
3permalink: /using-ffmpeg-to-combine-video-side-by-side.html 3url: /using-ffmpeg-to-combine-video-side-by-side.html
4date: 2023-11-04T09:04:28+02:00 4date: 2023-11-04T09:04:28+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
@@ -38,4 +37,4 @@ ffmpeg -y \
38- This will also cap frame rate to 6 (refer to `fps=6`) since that is enough and 37- This will also cap frame rate to 6 (refer to `fps=6`) since that is enough and
39 this makes playback of GIFs smoother in a browser. 38 this makes playback of GIFs smoother in a browser.
40 39
41![Result](./assets/notes/trigraphs.gif){:loading="lazy"} 40![Result](./assets/notes/trigraphs.gif)
diff --git a/_posts/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md b/content/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md
index 8293a4d..5d6dae4 100644
--- a/_posts/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md
+++ b/content/notes/2023-11-05-add-lazy-loading-to-jekyll-posts.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Add lazy loading of images in Jekyll posts" 2title: "Add lazy loading of images in Jekyll posts"
3permalink: /add-lazy-loading-to-jekyll-posts.html 3url: /add-lazy-loading-to-jekyll-posts.html
4date: 2023-11-05T09:04:28+02:00 4date: 2023-11-05T09:04:28+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
@@ -10,7 +9,7 @@ draft: false
10Normally you define images with `![]()` in markdown files. But jekyll also 9Normally you define images with `![]()` in markdown files. But jekyll also
11provides a way to adding custom attributes to tags with `{:attr="value"}`. 10provides a way to adding custom attributes to tags with `{:attr="value"}`.
12 11
13If you have lots of posts this command will append `{:loading="lazy"}` to all 12If you have lots of posts this command will append `` to all
14images in all your markdown files. 13images in all your markdown files.
15 14
16```md 15```md
@@ -20,13 +19,13 @@ images in all your markdown files.
20will become 19will become
21 20
22```md 21```md
23![image-title](/path/to/your/image.jpg){:loading="lazy"} 22![image-title](/path/to/your/image.jpg)
24``` 23```
25 24
26Shell line bellow. Go into the folder where your posts are (probably `_posts`). 25Shell line bellow. Go into the folder where your posts are (probably `_posts`).
27 26
28```sh 27```sh
29find . -type f -name "*.md" -exec sed -i -E 's/(\!\[.*\]\((.*?)\))$/\1{:loading="lazy"}/' {} \; 28find . -type f -name "*.md" -exec sed -i -E 's/(\!\[.*\]\((.*?)\))$/\1/' {} \;
30``` 29```
31 30
32Under the hood this adds `loading="lazy"` to HTML `img` nodes. 31Under the hood this adds `loading="lazy"` to HTML `img` nodes.
diff --git a/_posts/notes/2023-11-07-personal-sane-vim-defaults.md b/content/notes/2023-11-07-personal-sane-vim-defaults.md
index be8b2ae..a9157ad 100644
--- a/_posts/notes/2023-11-07-personal-sane-vim-defaults.md
+++ b/content/notes/2023-11-07-personal-sane-vim-defaults.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Personal sane Vim defaults" 2title: "Personal sane Vim defaults"
3permalink: /apersonal-sane-vim-defaults.html 3url: /apersonal-sane-vim-defaults.html
4date: 2023-11-07T01:04:28+02:00 4date: 2023-11-07T01:04:28+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2024-02-15-extract-lines-from-file.md b/content/notes/2024-02-15-extract-lines-from-file.md
index 45df9da..09d3937 100644
--- a/_posts/notes/2024-02-15-extract-lines-from-file.md
+++ b/content/notes/2024-02-15-extract-lines-from-file.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Extract lines from a file with sed" 2title: "Extract lines from a file with sed"
3permalink: /extract-lines-from-file-with-sed.html 3url: /extract-lines-from-file-with-sed.html
4date: 2024-02-15T10:04:28+02:00 4date: 2024-02-15T10:04:28+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/notes/2024-02-21-dcss-online-rc-defaults.md b/content/notes/2024-02-21-dcss-online-rc-defaults.md
index cf12109..5085b1c 100644
--- a/_posts/notes/2024-02-21-dcss-online-rc-defaults.md
+++ b/content/notes/2024-02-21-dcss-online-rc-defaults.md
@@ -1,11 +1,9 @@
1--- 1---
2title: "Sane default for Dungeon Crawl Stone Soup Online edition" 2title: "Sane default for Dungeon Crawl Stone Soup Online edition"
3permalink: /dcss-online-rc-defaults.html 3url: /dcss-online-rc-defaults.html
4date: 2024-02-21T06:35:11+02:00 4date: 2024-02-21T06:35:11+02:00
5layout: post
6type: note 5type: note
7draft: false 6draft: false
8tags: [dcss]
9--- 7---
10 8
11I mostly play Dungeon Crawl Stone Soup online on Ohio, USA: cbro.berotato.org server and 9I mostly play Dungeon Crawl Stone Soup online on Ohio, USA: cbro.berotato.org server and
diff --git a/_posts/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md b/content/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md
index fffd458..a597c54 100644
--- a/_posts/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md
+++ b/content/notes/2024-02-23-uninstall-ollama-from-a-linux-box.md
@@ -1,10 +1,9 @@
1--- 1---
2title: Uninstall Ollama from a Linux box 2title: Uninstall Ollama from a Linux box
3permalink: /uninstall-ollama-from-a-linux-box.html 3url: /uninstall-ollama-from-a-linux-box.html
4type: note
4date: 2024-02-23 5date: 2024-02-23
5layout: post
6draft: false 6draft: false
7type: note
8--- 7---
9I have had some issues with Ollama not being up-to-date. If Ollama is installed with a curl command, it adds a systemd service. 8I have had some issues with Ollama not being up-to-date. If Ollama is installed with a curl command, it adds a systemd service.
10 9
@@ -23,4 +22,4 @@ rm -r ~/.ollama
23sudo rm -rf /usr/share/ollama 22sudo rm -rf /usr/share/ollama
24``` 23```
25 24
26That is about it. \ No newline at end of file 25That is about it.
diff --git a/curriculum-vitae.md b/content/pages/curriculum-vitae.md
index f23fef5..5d5a5e7 100644
--- a/curriculum-vitae.md
+++ b/content/pages/curriculum-vitae.md
@@ -1,11 +1,38 @@
1--- 1---
2title: Curriculum Vitae 2title: Curriculum Vitae
3date: 2022-08-27T12:00:00+02:00 3date: 2022-08-27T12:00:00+02:00
4permalink: /curriculum-vitae.html 4url: curriculum-vitae.html
5layout: page
6type: page 5type: page
6draft: false
7--- 7---
8 8
9<style>
10 img {
11 width: auto !important;
12 left: initial !important;
13 margin: initial !important;
14 border: 0 !important;
15 }
16</style>
17
18<div class="cv-picture">
19
20![](/posts/cv/avatar.gif)
21
22</div>
23
24<script>
25 window.addEventListener('load', async () => {
26 // flip CV image on mouse over
27 const cvImage = document.querySelector('.cv-picture img');
28 if (cvImage) {
29 setInterval(() => {
30 cvImage.style.transform = cvImage.style.transform === 'scaleX(1)' ? 'scaleX(-1)' : 'scaleX(1)';
31 }, 1000);
32 }
33 });
34</script>
35
9**Mitja Felicijan** 36**Mitja Felicijan**
10 37
11Email me at *[mitja.felicijan@gmail.com](mailto:mitja.felicijan@gmail.com?subject=Website+CV+Contact)* 38Email me at *[mitja.felicijan@gmail.com](mailto:mitja.felicijan@gmail.com?subject=Website+CV+Contact)*
diff --git a/_posts/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md b/content/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md
index de90494..ce54b75 100644
--- a/_posts/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md
+++ b/content/posts/2011-01-13-most-likely-to-succeed-in-year-of-2011.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Most likely to succeed in the year of 2011 2title: Most likely to succeed in the year of 2011
3permalink: /most-likely-to-succeed-in-year-of-2011.html 3url: /most-likely-to-succeed-in-year-of-2011.html
4date: 2011-01-13T12:00:00+02:00 4date: 2011-01-13T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2012-03-09-led-technology-not-so-eco.md b/content/posts/2012-03-09-led-technology-not-so-eco.md
index 4c5fda3..205ddd3 100644
--- a/_posts/posts/2012-03-09-led-technology-not-so-eco.md
+++ b/content/posts/2012-03-09-led-technology-not-so-eco.md
@@ -1,8 +1,7 @@
1--- 1---
2title: LED technology might not be as eco-friendly as you think 2title: LED technology might not be as eco-friendly as you think
3permalink: /led-technology-not-so-eco.html 3url: /led-technology-not-so-eco.html
4date: 2012-03-09T12:00:00+02:00 4date: 2012-03-09T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2013-10-24-wireless-sensor-networks.md b/content/posts/2013-10-24-wireless-sensor-networks.md
index 6eb3fe1..67dc688 100644
--- a/_posts/posts/2013-10-24-wireless-sensor-networks.md
+++ b/content/posts/2013-10-24-wireless-sensor-networks.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Wireless sensor networks 2title: Wireless sensor networks
3permalink: /wireless-sensor-networks.html 3url: /wireless-sensor-networks.html
4date: 2013-10-24T12:00:00+02:00 4date: 2013-10-24T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2015-11-10-software-development-pitfalls.md b/content/posts/2015-11-10-software-development-pitfalls.md
index d7b9c1b..a003d5b 100644
--- a/_posts/posts/2015-11-10-software-development-pitfalls.md
+++ b/content/posts/2015-11-10-software-development-pitfalls.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Software development and my favorite pitfalls 2title: Software development and my favorite pitfalls
3permalink: /software-development-pitfalls.html 3url: /software-development-pitfalls.html
4date: 2015-11-10T12:00:00+02:00 4date: 2015-11-10T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2017-03-07-golang-profiling-simplified.md b/content/posts/2017-03-07-golang-profiling-simplified.md
index aeea956..a9a63e1 100644
--- a/_posts/posts/2017-03-07-golang-profiling-simplified.md
+++ b/content/posts/2017-03-07-golang-profiling-simplified.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Golang profiling simplified 2title: Golang profiling simplified
3permalink: /golang-profiling-simplified.html 3url: /golang-profiling-simplified.html
4date: 2017-03-07T12:00:00+02:00 4date: 2017-03-07T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md b/content/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md
index 10aca0d..966788a 100644
--- a/_posts/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md
+++ b/content/posts/2017-04-17-what-i-ve-learned-developing-ad-server.md
@@ -1,8 +1,7 @@
1--- 1---
2title: What I've learned developing ad server 2title: What I've learned developing ad server
3permalink: /what-i-ve-learned-developing-ad-server.html 3url: /what-i-ve-learned-developing-ad-server.html
4date: 2017-04-17T12:00:00+02:00 4date: 2017-04-17T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md b/content/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md
index 2e2ec70..8795933 100644
--- a/_posts/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md
+++ b/content/posts/2017-04-21-profiling-python-web-applications-with-visual-tools.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Profiling Python web applications with visual tools 2title: Profiling Python web applications with visual tools
3permalink: /profiling-python-web-applications-with-visual-tools.html 3url: /profiling-python-web-applications-with-visual-tools.html
4date: 2017-04-21T12:00:00+02:00 4date: 2017-04-21T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -22,7 +21,7 @@ If you are using MacOS you should check out [Profiling
22Viewer](http://www.profilingviewer.com/) or 21Viewer](http://www.profilingviewer.com/) or
23[MacCallGrind](http://www.maccallgrind.com/). 22[MacCallGrind](http://www.maccallgrind.com/).
24 23
25![KCachegrind](/assets/posts/python-profiling/kcachegrind.png){:loading="lazy"} 24![KCachegrind](/assets/posts/python-profiling/kcachegrind.png)
26 25
27We will be dividing this post into two main categories: 26We will be dividing this post into two main categories:
28 27
@@ -147,7 +146,7 @@ will be using Profilling Viewer under MacOS. You can open image in new tab. As
147you can see from this example there is hierarchy of execution order of your 146you can see from this example there is hierarchy of execution order of your
148code. 147code.
149 148
150![Profilling Viewer](/assets/posts/python-profiling/profiling-viewer.png){:loading="lazy"} 149![Profilling Viewer](/assets/posts/python-profiling/profiling-viewer.png)
151 150
152> Make sure you convert output of the cProfile output every time you want to 151> Make sure you convert output of the cProfile output every time you want to
153refresh and take a look at your possible optimizations because cProfile updates 152refresh and take a look at your possible optimizations because cProfile updates
@@ -178,7 +177,7 @@ $ snakeviz awesome_random_number.prof
178# shows visualized profile 177# shows visualized profile
179``` 178```
180 179
181![SnakeViz](/assets/posts/python-profiling/snakeviz.png){:loading="lazy"} 180![SnakeViz](/assets/posts/python-profiling/snakeviz.png)
182 181
183Reddit user [ccharles](https://www.reddit.com/user/ccharles) suggested a better 182Reddit user [ccharles](https://www.reddit.com/user/ccharles) suggested a better
184way for installing pip software by targeting user level instead of using sudo. 183way for installing pip software by targeting user level instead of using sudo.
diff --git a/_posts/posts/2017-08-11-simple-iot-application.md b/content/posts/2017-08-11-simple-iot-application.md
index b552e8f..874f3df 100644
--- a/_posts/posts/2017-08-11-simple-iot-application.md
+++ b/content/posts/2017-08-11-simple-iot-application.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Simple IOT application supported by real-time monitoring and data history 2title: Simple IOT application supported by real-time monitoring and data history
3permalink: /simple-iot-application.html 3url: /simple-iot-application.html
4date: 2017-08-11T12:00:00+02:00 4date: 2017-08-11T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -51,7 +50,7 @@ to API and another to serving HTML with chart.
51Schema below represents what we will try to achieve and how different parts 50Schema below represents what we will try to achieve and how different parts
52correlates to each other. 51correlates to each other.
53 52
54![Overview](/assets/posts/iot-application/simple-iot-application-overview.svg){:loading="lazy"} 53![Overview](/assets/posts/iot-application/simple-iot-application-overview.svg)
55 54
56## Simple Python API 55## Simple Python API
57 56
@@ -219,12 +218,12 @@ available via POST method on /api route.
219After testing the service with Restlet Client you should be able to view your 218After testing the service with Restlet Client you should be able to view your
220data in a database file ```data.db```. 219data in a database file ```data.db```.
221 220
222![REST settings example](/assets/posts/iot-application/iot-rest-example.png){:loading="lazy"} 221![REST settings example](/assets/posts/iot-application/iot-rest-example.png)
223 222
224You can also check the contents of new database file by using desktop client 223You can also check the contents of new database file by using desktop client
225for SQLite → [DB Browser for SQLite](http://sqlitebrowser.org/). 224for SQLite → [DB Browser for SQLite](http://sqlitebrowser.org/).
226 225
227![SQLite database example](/assets/posts/iot-application/iot-sqlite-db.png){:loading="lazy"} 226![SQLite database example](/assets/posts/iot-application/iot-sqlite-db.png)
228 227
229Table structure is as simple as it can be. We have ts (timestamp) and value 228Table structure is as simple as it can be. We have ts (timestamp) and value
230(value from Arduino). As you can see timestamp is generated on API side. If you 229(value from Arduino). As you can see timestamp is generated on API side. If you
@@ -586,7 +585,7 @@ every 5 seconds.
586If you navigate to ```http://0.0.0.0:5000``` you should see rendered chart as 585If you navigate to ```http://0.0.0.0:5000``` you should see rendered chart as
587shown on picture below. 586shown on picture below.
588 587
589![Application output](/assets/posts/iot-application/iot-app-output.png){:loading="lazy"} 588![Application output](/assets/posts/iot-application/iot-app-output.png)
590 589
591Complete application with all the code is available for 590Complete application with all the code is available for
592[download](/assets/posts/iot-application/simple-iot-application.zip). 591[download](/assets/posts/iot-application/simple-iot-application.zip).
diff --git a/_posts/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md b/content/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
index d29bd09..9b6ca37 100644
--- a/_posts/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
+++ b/content/posts/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Using DigitalOcean Spaces Object Storage with FUSE 2title: Using DigitalOcean Spaces Object Storage with FUSE
3permalink: /using-digitalocean-spaces-object-storage-with-fuse.html 3url: /using-digitalocean-spaces-object-storage-with-fuse.html
4date: 2018-01-16T12:00:00+02:00 4date: 2018-01-16T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -56,7 +55,7 @@ Instuctions on how to use SSH keys and how to setup them are available in
56article [How To Use SSH Keys with DigitalOcean 55article [How To Use SSH Keys with DigitalOcean
57Droplets](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets). 56Droplets](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets).
58 57
59![DigitalOcean Droplets](/assets/posts/do-fuse/fuse-droplets.png){:loading="lazy"} 58![DigitalOcean Droplets](/assets/posts/do-fuse/fuse-droplets.png)
60 59
61After we created Droplet it's time to create new Space. This is done by clicking 60After we created Droplet it's time to create new Space. This is done by clicking
62on a button [Create](https://cloud.digitalocean.com/spaces/new) (right top 61on a button [Create](https://cloud.digitalocean.com/spaces/new) (right top
@@ -69,7 +68,7 @@ key](https://cloud.digitalocean.com/settings/api/tokens). This link will guide
69to the page when you can generate this key. After you create new one, please 68to the page when you can generate this key. After you create new one, please
70save provided Key and Secret because Secret will not be shown again. 69save provided Key and Secret because Secret will not be shown again.
71 70
72![DigitalOcean Spaces](/assets/posts/do-fuse/fuse-spaces.png){:loading="lazy"} 71![DigitalOcean Spaces](/assets/posts/do-fuse/fuse-spaces.png)
73 72
74Now that we have new Space and Access key we should SSH into our machine. 73Now that we have new Space and Access key we should SSH into our machine.
75 74
diff --git a/_posts/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md b/content/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md
index 6980ed1..ba2dd5b 100644
--- a/_posts/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md
+++ b/content/posts/2019-01-03-encoding-binary-data-into-dna-sequence.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Encoding binary data into DNA sequence 2title: Encoding binary data into DNA sequence
3permalink: /encoding-binary-data-into-dna-sequence.html 3url: /encoding-binary-data-into-dna-sequence.html
4date: 2019-01-03T12:00:00+02:00 4date: 2019-01-03T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -110,7 +109,7 @@ The nucleotide in DNA consists of a sugar (deoxyribose), one of four bases
110Cytosine and thymine are pyrimidine bases, while adenine and guanine are purine 109Cytosine and thymine are pyrimidine bases, while adenine and guanine are purine
111bases. The sugar and the base together are called a nucleoside. 110bases. The sugar and the base together are called a nucleoside.
112 111
113![DNA](/assets/posts/dna-sequence/dna-basics.jpg){:loading="lazy"} 112![DNA](/assets/posts/dna-sequence/dna-basics.jpg)
114 113
115*DNA (a) forms a double stranded helix, and (b) adenine pairs with thymine and 114*DNA (a) forms a double stranded helix, and (b) adenine pairs with thymine and
116cytosine pairs with guanine. (credit a: modification of work by Jerome Walker, 115cytosine pairs with guanine. (credit a: modification of work by Jerome Walker,
@@ -301,7 +300,7 @@ Then we encode FASTA file from previous operation to encode this data into PNG.
301 300
302After encoding into PNG format this file looks like this. 301After encoding into PNG format this file looks like this.
303 302
304![Encoded Quote in PNG format](/assets/posts/dna-sequence/quote.png){:loading="lazy"} 303![Encoded Quote in PNG format](/assets/posts/dna-sequence/quote.png)
305 304
306The larger the input stream is the larger the PNG file would be. 305The larger the input stream is the larger the PNG file would be.
307 306
@@ -370,7 +369,7 @@ First we generate some binary sample data with dd.
370dd if=<(openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero) of=1KB.bin bs=1KB count=1 iflag=fullblock 369dd if=<(openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero) of=1KB.bin bs=1KB count=1 iflag=fullblock
371``` 370```
372 371
373![Sample binary file 1KB](/assets/posts/dna-sequence/sample-binary-file.png){:loading="lazy"} 372![Sample binary file 1KB](/assets/posts/dna-sequence/sample-binary-file.png)
374 373
375Our freshly generated 1KB file looks something like this (its full of 374Our freshly generated 1KB file looks something like this (its full of
376garbage data as intended). 375garbage data as intended).
@@ -397,11 +396,11 @@ Then we GZIP all the FASTA files to see how much the can be compressed.
397gzip -9 < 10MB.fa > 10MB.fa.gz 396gzip -9 < 10MB.fa > 10MB.fa.gz
398``` 397```
399 398
400![Encode to FASTA](/assets/posts/dna-sequence/chart-speed.svg){:loading="lazy"} 399![Encode to FASTA](/assets/posts/dna-sequence/chart-speed.svg)
401 400
402The speed increase that occurs when encoding to FASTA format. 401The speed increase that occurs when encoding to FASTA format.
403 402
404![File sizes](/assets/posts/dna-sequence/chart-size.svg){:loading="lazy"} 403![File sizes](/assets/posts/dna-sequence/chart-size.svg)
405 404
406Size of the out file after encoding. 405Size of the out file after encoding.
407 406
diff --git a/_posts/posts/2019-10-14-simplifying-and-reducing-clutter.md b/content/posts/2019-10-14-simplifying-and-reducing-clutter.md
index e804ecb..603faf1 100644
--- a/_posts/posts/2019-10-14-simplifying-and-reducing-clutter.md
+++ b/content/posts/2019-10-14-simplifying-and-reducing-clutter.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Simplifying and reducing clutter in my life and work 2title: Simplifying and reducing clutter in my life and work
3permalink: /simplifying-and-reducing-clutter.html 3url: /simplifying-and-reducing-clutter.html
4date: 2019-10-14T12:00:00+02:00 4date: 2019-10-14T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md b/content/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md
index a1b237b..1e43554 100644
--- a/_posts/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md
+++ b/content/posts/2019-10-19-using-sentiment-analysis-for-clickbait-detection.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Using sentiment analysis for clickbait detection in RSS feeds 2title: Using sentiment analysis for clickbait detection in RSS feeds
3permalink: /using-sentiment-analysis-for-clickbait-detection-in-rss-feeds.html 3url: /using-sentiment-analysis-for-clickbait-detection-in-rss-feeds.html
4date: 2019-10-19T12:00:00+02:00 4date: 2019-10-19T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -93,7 +92,7 @@ plt.show()
93 longer period of time and then perform analysis again and use either machine 92 longer period of time and then perform analysis again and use either machine
94 learning or deep learning on top of it. 93 learning or deep learning on top of it.
95 94
96![Relationship between title and description](/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png){:loading="lazy"} 95![Relationship between title and description](/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png)
97 96
98Figure above displays difference between title and description sentiment for 97Figure above displays difference between title and description sentiment for
99specific RSS feed item. 1 means positive and -1 means negative sentiment. 98specific RSS feed item. 1 means positive and -1 means negative sentiment.
diff --git a/_posts/posts/2020-03-22-simple-sse-based-pubsub-server.md b/content/posts/2020-03-22-simple-sse-based-pubsub-server.md
index ffb7285..40909b4 100644
--- a/_posts/posts/2020-03-22-simple-sse-based-pubsub-server.md
+++ b/content/posts/2020-03-22-simple-sse-based-pubsub-server.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Simple Server-Sent Events based PubSub Server 2title: Simple Server-Sent Events based PubSub Server
3permalink: /simple-server-sent-events-based-pubsub-server.html 3url: /simple-server-sent-events-based-pubsub-server.html
4date: 2020-03-22T12:00:00+02:00 4date: 2020-03-22T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -39,7 +38,7 @@ simple. We have subscribers that receive messages, and we have publishers that
39create and post messages. Similar model is also well know pattern that works on 38create and post messages. Similar model is also well know pattern that works on
40a premise of consumers and producers, and they take similar roles. 39a premise of consumers and producers, and they take similar roles.
41 40
42![How PubSub works](/assets/posts/simple-pubsub-server/pubsub-overview.png){:loading="lazy"} 41![How PubSub works](/assets/posts/simple-pubsub-server/pubsub-overview.png)
43 42
44**These are some naive characteristics we want to achieve:** 43**These are some naive characteristics we want to achieve:**
45 44
@@ -75,7 +74,7 @@ page](https://html.spec.whatwg.org/multipage/server-sent-events.html).
75 74
76### Current browser support 75### Current browser support
77 76
78![Browser support](/assets/posts/simple-pubsub-server/caniuse.png){:loading="lazy"} 77![Browser support](/assets/posts/simple-pubsub-server/caniuse.png)
79 78
80Check 79Check
81[https://caniuse.com/#feat=eventsource](https://caniuse.com/#feat=eventsource) 80[https://caniuse.com/#feat=eventsource](https://caniuse.com/#feat=eventsource)
@@ -143,7 +142,7 @@ which is quite nice and available from Developer Tools under Network tab.
143> ones. For debugging server events add `console.log` to `server.js` code and 142> ones. For debugging server events add `console.log` to `server.js` code and
144> print out events. 143> print out events.
145 144
146![Google Chrome Developer Tools EventStream](/assets/posts/simple-pubsub-server/chrome-debugging.png){:loading="lazy"} 145![Google Chrome Developer Tools EventStream](/assets/posts/simple-pubsub-server/chrome-debugging.png)
147 146
148## Server implementation 147## Server implementation
149 148
diff --git a/_posts/posts/2020-03-27-create-placeholder-images-with-sharp.md b/content/posts/2020-03-27-create-placeholder-images-with-sharp.md
index c129396..2441ada 100644
--- a/_posts/posts/2020-03-27-create-placeholder-images-with-sharp.md
+++ b/content/posts/2020-03-27-create-placeholder-images-with-sharp.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Create placeholder images with sharp Node.js image processing library 2title: Create placeholder images with sharp Node.js image processing library
3permalink: /create-placeholder-images-with-sharp.html 3url: /create-placeholder-images-with-sharp.html
4date: 2020-03-27T12:00:00+02:00 4date: 2020-03-27T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md b/content/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md
index 1aa3536..23ee27d 100644
--- a/_posts/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md
+++ b/content/posts/2020-03-29-the-strange-case-of-elasticsearch-allocation-failure.md
@@ -1,8 +1,7 @@
1--- 1---
2title: The strange case of Elasticsearch allocation failure 2title: The strange case of Elasticsearch allocation failure
3permalink: /the-strange-case-of-elasticsearch-allocation-failure.html 3url: /the-strange-case-of-elasticsearch-allocation-failure.html
4date: 2020-03-29T12:00:00+02:00 4date: 2020-03-29T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md b/content/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md
index 0299d9d..3b9f629 100644
--- a/_posts/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md
+++ b/content/posts/2020-03-30-my-love-and-hate-relationship-with-nodejs.md
@@ -1,8 +1,7 @@
1--- 1---
2title: My love and hate relationship with Node.js 2title: My love and hate relationship with Node.js
3permalink: /my-love-and-hate-relationship-with-nodejs.html 3url: /my-love-and-hate-relationship-with-nodejs.html
4date: 2020-03-30T12:00:00+02:00 4date: 2020-03-30T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2020-05-05-remote-work.md b/content/posts/2020-05-05-remote-work.md
index 8eb75d2..b6c09c3 100644
--- a/_posts/posts/2020-05-05-remote-work.md
+++ b/content/posts/2020-05-05-remote-work.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Remote work and how it affects the daily lives of people 2title: Remote work and how it affects the daily lives of people
3permalink: /remote-work.html 3url: /remote-work.html
4date: 2020-05-05T12:00:00+02:00 4date: 2020-05-05T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2020-08-15-systemd-disable-wake-onmouse.md b/content/posts/2020-08-15-systemd-disable-wake-onmouse.md
index 8122322..51195af 100644
--- a/_posts/posts/2020-08-15-systemd-disable-wake-onmouse.md
+++ b/content/posts/2020-08-15-systemd-disable-wake-onmouse.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Disable mouse wake from suspend with systemd service 2title: Disable mouse wake from suspend with systemd service
3permalink: /disable-mouse-wake-from-suspend-with-systemd-service.html 3url: /disable-mouse-wake-from-suspend-with-systemd-service.html
4date: 2020-08-15T12:00:00+02:00 4date: 2020-08-15T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2020-09-06-esp-and-micropython.md b/content/posts/2020-09-06-esp-and-micropython.md
index bfd05d9..ea01d12 100644
--- a/_posts/posts/2020-09-06-esp-and-micropython.md
+++ b/content/posts/2020-09-06-esp-and-micropython.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Getting started with MicroPython and ESP8266 2title: Getting started with MicroPython and ESP8266
3permalink: /esp8266-and-micropython-guide.html 3url: /esp8266-and-micropython-guide.html
4date: 2020-09-06T12:00:00+02:00 4date: 2020-09-06T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -20,7 +19,7 @@ but I could easily choose
20contains which tools I use and how I prepared my workspace to code for 19contains which tools I use and how I prepared my workspace to code for
21[ESP8266](https://www.espressif.com/en/products/socs/esp8266). 20[ESP8266](https://www.espressif.com/en/products/socs/esp8266).
22 21
23![ESP8266 and ESP32 boards](/assets/posts/esp8366-micropython/boards.jpg){:loading="lazy"} 22![ESP8266 and ESP32 boards](/assets/posts/esp8366-micropython/boards.jpg)
24 23
25This guide covers: 24This guide covers:
26 25
diff --git a/_posts/posts/2020-09-08-bind-warning-on-login.md b/content/posts/2020-09-08-bind-warning-on-login.md
index 4b2c983..f13ffff 100644
--- a/_posts/posts/2020-09-08-bind-warning-on-login.md
+++ b/content/posts/2020-09-08-bind-warning-on-login.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Fix bind warning in .profile on login in Ubuntu 2title: Fix bind warning in .profile on login in Ubuntu
3permalink: /bind-warning-on-login-in-ubuntu.html 3url: /bind-warning-on-login-in-ubuntu.html
4date: 2020-09-08T12:00:00+02:00 4date: 2020-09-08T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -31,7 +30,7 @@ bind '"\e[Z":menu-complete-backward'
31I haven't noticed anything wrong with this and all was working fine until I 30I haven't noticed anything wrong with this and all was working fine until I
32restarted my machine and then I got this error. 31restarted my machine and then I got this error.
33 32
34![Profile bind error](/assets/posts/profile-bind-error/error.jpg){:loading="lazy"} 33![Profile bind error](/assets/posts/profile-bind-error/error.jpg)
35 34
36When I pressed OK, I got into the [Gnome 35When I pressed OK, I got into the [Gnome
37shell](https://wiki.gnome.org/Projects/GnomeShell) and all was working fine, but 36shell](https://wiki.gnome.org/Projects/GnomeShell) and all was working fine, but
diff --git a/_posts/posts/2020-09-09-digitalocean-sync.md b/content/posts/2020-09-09-digitalocean-sync.md
index 38696a9..8836c3b 100644
--- a/_posts/posts/2020-09-09-digitalocean-sync.md
+++ b/content/posts/2020-09-09-digitalocean-sync.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Using Digitalocean Spaces to sync between computers 2title: Using Digitalocean Spaces to sync between computers
3permalink: /digitalocean-spaces-to-sync-between-computers.html 3url: /digitalocean-spaces-to-sync-between-computers.html
4date: 2020-09-09T12:00:00+02:00 4date: 2020-09-09T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2021-01-24-replacing-dropbox-with-s3.md b/content/posts/2021-01-24-replacing-dropbox-with-s3.md
index 7599949..61754df 100644
--- a/_posts/posts/2021-01-24-replacing-dropbox-with-s3.md
+++ b/content/posts/2021-01-24-replacing-dropbox-with-s3.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Replacing Dropbox in favor of DigitalOcean spaces 2title: Replacing Dropbox in favor of DigitalOcean spaces
3permalink: /replacing-dropbox-in-favor-of-digitalocean-spaces.html 3url: /replacing-dropbox-in-favor-of-digitalocean-spaces.html
4date: 2021-01-24T12:00:00+02:00 4date: 2021-01-24T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -106,7 +105,7 @@ You can use this script in a combination with [Cron](https://en.wikipedia.org/wi
106When you start syncing your local stuff with a remote server you can review your 105When you start syncing your local stuff with a remote server you can review your
107items on DigitalOcean. 106items on DigitalOcean.
108 107
109![Dropbox Spaces](/assets/posts/dropbox-sync/dropbox-spaces.png){:loading="lazy"} 108![Dropbox Spaces](/assets/posts/dropbox-sync/dropbox-spaces.png)
110 109
111I have been using this script now for quite some time, and it's working 110I have been using this script now for quite some time, and it's working
112flawlessly. I also uninstalled Dropbox and stopped using it completely. 111flawlessly. I also uninstalled Dropbox and stopped using it completely.
diff --git a/_posts/posts/2021-01-25-goaccess.md b/content/posts/2021-01-25-goaccess.md
index 779bce5..0f6f1a6 100644
--- a/_posts/posts/2021-01-25-goaccess.md
+++ b/content/posts/2021-01-25-goaccess.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Using GoAccess with Nginx to replace Google Analytics 2title: Using GoAccess with Nginx to replace Google Analytics
3permalink: /using-goaccess-with-nginx-to-replace-google-analytics.html 3url: /using-goaccess-with-nginx-to-replace-google-analytics.html
4date: 2021-01-25T12:00:00+02:00 4date: 2021-01-25T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -42,11 +41,11 @@ all the functionalities I need, and it's a single binary. Written in Go.
42 41
43GoAccess can be used in two different modes. 42GoAccess can be used in two different modes.
44 43
45![GoAccess Terminal](/assets/posts/goaccess/goaccess-dash-term.png){:loading="lazy"} 44![GoAccess Terminal](/assets/posts/goaccess/goaccess-dash-term.png)
46 45
47*Running in a terminal* 46*Running in a terminal*
48 47
49![GoAccess HTML](/assets/posts/goaccess/goaccess-dash-html.png){:loading="lazy"} 48![GoAccess HTML](/assets/posts/goaccess/goaccess-dash-html.png)
50 49
51*Running in a browser* 50*Running in a browser*
52 51
diff --git a/_posts/posts/2021-06-26-simple-world-clock.md b/content/posts/2021-06-26-simple-world-clock.md
index d1b53b4..e72744c 100644
--- a/_posts/posts/2021-06-26-simple-world-clock.md
+++ b/content/posts/2021-06-26-simple-world-clock.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Simple world clock with eInk display and Raspberry Pi Zero 2title: Simple world clock with eInk display and Raspberry Pi Zero
3permalink: /simple-world-clock-with-eiink-display-and-raspberry-pi-zero.html 3url: /simple-world-clock-with-eiink-display-and-raspberry-pi-zero.html
4date: 2021-06-26T12:00:00+02:00 4date: 2021-06-26T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -24,7 +23,7 @@ have a bunch of [Raspberry Pi's
24Zero](https://www.raspberrypi.org/products/raspberry-pi-zero/) lying around that 23Zero](https://www.raspberrypi.org/products/raspberry-pi-zero/) lying around that
25I really need to use. 24I really need to use.
26 25
27![Inky pHAT, Raspberry Pi Zero](/assets/posts/world-clock/hardware.jpg){:loading="lazy"} 26![Inky pHAT, Raspberry Pi Zero](/assets/posts/world-clock/hardware.jpg)
28 27
29Since the Inky [Inky 28Since the Inky [Inky
30pHAT](https://shop.pimoroni.com/products/inky-phat?variant=12549254217811) is 29pHAT](https://shop.pimoroni.com/products/inky-phat?variant=12549254217811) is
@@ -95,7 +94,7 @@ Then we add a cronjob with `crontab -e`.
95 94
96So, we end up with a result like this. 95So, we end up with a result like this.
97 96
98![World Clock](/assets/posts/world-clock/world-clock.jpg){:loading="lazy"} 97![World Clock](/assets/posts/world-clock/world-clock.jpg)
99 98
100And for the enclosure that can be 3D printed, but I haven't yet something like 99And for the enclosure that can be 3D printed, but I haven't yet something like
101this can be used. 100this can be used.
diff --git a/_posts/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md b/content/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md
index cbcca37..67c7481 100644
--- a/_posts/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md
+++ b/content/posts/2021-07-30-from-internet-consumer-to-full-hominum-again.md
@@ -1,8 +1,7 @@
1--- 1---
2title: My journey from being an internet über consumer to being a full hominum again 2title: My journey from being an internet über consumer to being a full hominum again
3permalink: /from-internet-consumer-to-full-hominum-again.html 3url: /from-internet-consumer-to-full-hominum-again.html
4date: 2021-07-30T12:00:00+02:00 4date: 2021-07-30T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2021-08-01-linux-cheatsheet.md b/content/posts/2021-08-01-linux-cheatsheet.md
index b416ffa..7bafb74 100644
--- a/_posts/posts/2021-08-01-linux-cheatsheet.md
+++ b/content/posts/2021-08-01-linux-cheatsheet.md
@@ -1,8 +1,7 @@
1--- 1---
2title: List of essential Linux commands for server management 2title: List of essential Linux commands for server management
3permalink: /linux-cheatsheet.html 3url: /linux-cheatsheet.html
4date: 2021-08-01T12:00:00+02:00 4date: 2021-08-01T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md b/content/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md
index 4f9bc09..1de3dd1 100644
--- a/_posts/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md
+++ b/content/posts/2021-12-03-debian-based-riced-up-distribution-for-developers.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Debian based riced up distribution for Developers and DevOps folks 2title: Debian based riced up distribution for Developers and DevOps folks
3permalink: /debian-based-riced-up-distribution-for-developers-and-devops-folks.html 3url: /debian-based-riced-up-distribution-for-developers-and-devops-folks.html
4date: 2021-12-03T12:00:00+02:00 4date: 2021-12-03T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -77,35 +76,35 @@ Fonts being applied across the distro and things like that.
77First, I choose terminal installer and left it to load additional components. 76First, I choose terminal installer and left it to load additional components.
78Avoid using graphical installer in this case. 77Avoid using graphical installer in this case.
79 78
80![](/assets/posts/dfd-rice/install-00.png){:loading="lazy"} 79![](/assets/posts/dfd-rice/install-00.png)
81 80
82After that I selected hostname and created a normal user and set password for 81After that I selected hostname and created a normal user and set password for
83that user and root user and choose guided mode for disk partitioning. 82that user and root user and choose guided mode for disk partitioning.
84 83
85![](/assets/posts/dfd-rice/install-01.png){:loading="lazy"} 84![](/assets/posts/dfd-rice/install-01.png)
86 85
87I left it run to install all the things required for the base system and opted 86I left it run to install all the things required for the base system and opted
88out of scanning additional media for use by the package manager. Those will be 87out of scanning additional media for use by the package manager. Those will be
89downloaded from the internet during installation. 88downloaded from the internet during installation.
90 89
91![](/assets/posts/dfd-rice/install-02.png){:loading="lazy"} 90![](/assets/posts/dfd-rice/install-02.png)
92 91
93I opted out of the popularity contest, and **now comes the important part**. 92I opted out of the popularity contest, and **now comes the important part**.
94Uncheck all the boxes in Software selection and only leave 'standard system 93Uncheck all the boxes in Software selection and only leave 'standard system
95utilities'. I also left an SSH server, so I was able to log in to the machine 94utilities'. I also left an SSH server, so I was able to log in to the machine
96from my main PC. 95from my main PC.
97 96
98![](/assets/posts/dfd-rice/install-03.png){:loading="lazy"} 97![](/assets/posts/dfd-rice/install-03.png)
99 98
100At this point, I installed GRUB bootloader on the disk where I installed the 99At this point, I installed GRUB bootloader on the disk where I installed the
101system. 100system.
102 101
103![](/assets/posts/dfd-rice/install-04.png){:loading="lazy"} 102![](/assets/posts/dfd-rice/install-04.png)
104 103
105That concluded the installation of base Debian and after restarting the computer 104That concluded the installation of base Debian and after restarting the computer
106I was prompted with the login screen. 105I was prompted with the login screen.
107 106
108![](/assets/posts/dfd-rice/install-05.png){:loading="lazy"} 107![](/assets/posts/dfd-rice/install-05.png)
109 108
110Now that I had the base installation, it was time to choose what software do I 109Now that I had the base installation, it was time to choose what software do I
111want to include in this so-called distribution. I wanted out of the box 110want to include in this so-called distribution. I wanted out of the box
@@ -142,7 +141,7 @@ What I was doing in Gnome was having windows in a layout like the diagram
142below. This is my common practice. And if you look at it you can clearly see I 141below. This is my common practice. And if you look at it you can clearly see I
143was replicating tiling window manager setup in Gnome. 142was replicating tiling window manager setup in Gnome.
144 143
145![](/assets/posts/dfd-rice/layout.png){:loading="lazy"} 144![](/assets/posts/dfd-rice/layout.png)
146 145
147That made me look into a bunch of tiling window managers and then tested them 146That made me look into a bunch of tiling window managers and then tested them
148out. Candidates I was looking at were: 147out. Candidates I was looking at were:
@@ -212,7 +211,7 @@ something similar.
212 211
213This is some of the output from the installation script. 212This is some of the output from the installation script.
214 213
215![](/assets/posts/dfd-rice/script.png){:loading="lazy"} 214![](/assets/posts/dfd-rice/script.png)
216 215
217Let's take a look at some examples in the installation script. 216Let's take a look at some examples in the installation script.
218 217
@@ -274,4 +273,4 @@ And this is how it looks with two terminals side by side. I really like the
274simplicity and clean interface. I will polish the colors and stuff like that, 273simplicity and clean interface. I will polish the colors and stuff like that,
275but I really do like the results. 274but I really do like the results.
276 275
277![](/assets/posts/dfd-rice/desktop.png){:loading="lazy"} 276![](/assets/posts/dfd-rice/desktop.png)
diff --git a/_posts/posts/2021-12-25-running-golang-application-as-pid1.md b/content/posts/2021-12-25-running-golang-application-as-pid1.md
index edd5a57..c84578d 100644
--- a/_posts/posts/2021-12-25-running-golang-application-as-pid1.md
+++ b/content/posts/2021-12-25-running-golang-application-as-pid1.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Running Golang application as PID 1 with Linux kernel 2title: Running Golang application as PID 1 with Linux kernel
3permalink: /running-golang-application-as-pid1.html 3url: /running-golang-application-as-pid1.html
4date: 2021-12-25T12:00:00+02:00 4date: 2021-12-25T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -24,7 +23,7 @@ Really worth a read.
24If we compare a normal operating system to a unikernel side by side, they would 23If we compare a normal operating system to a unikernel side by side, they would
25look something like this. 24look something like this.
26 25
27![Virtual machines vs Containers vs Unikernels](/assets/posts/pid1/unikernels.webp){:loading="lazy"} 26![Virtual machines vs Containers vs Unikernels](/assets/posts/pid1/unikernels.webp)
28 27
29From this image, we can see how the complexity significantly decreases with 28From this image, we can see how the complexity significantly decreases with
30the use of Unikernels. This comes with a price, of course. Unikernels are hard 29the use of Unikernels. This comes with a price, of course. Unikernels are hard
diff --git a/_posts/posts/2021-12-30-wap-mobile-web-before-the-web.md b/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
index 665be0f..66634c6 100644
--- a/_posts/posts/2021-12-30-wap-mobile-web-before-the-web.md
+++ b/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Wireless Application Protocol and the mobile web before the web 2title: Wireless Application Protocol and the mobile web before the web
3permalink: /wap-mobile-web-before-the-web.html 3url: /wap-mobile-web-before-the-web.html
4date: 2021-12-30T12:00:00+02:00 4date: 2021-12-30T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -33,7 +32,7 @@ These phones were rocking:
33 32
34Let's take a look at these beauties. 33Let's take a look at these beauties.
35 34
36![Old phones](/assets/posts/wap/phones.gif){:loading="lazy"} 35![Old phones](/assets/posts/wap/phones.gif)
37 36
38## WAP - Wireless Application Protocol 37## WAP - Wireless Application Protocol
39 38
diff --git a/_posts/posts/2022-06-30-trying-out-helix-editor.md b/content/posts/2022-06-30-trying-out-helix-editor.md
index be369a1..817b042 100644
--- a/_posts/posts/2022-06-30-trying-out-helix-editor.md
+++ b/content/posts/2022-06-30-trying-out-helix-editor.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Trying out Helix code editor as my main editor 2title: Trying out Helix code editor as my main editor
3permalink: /tying-out-helix-code-editor.html 3url: /tying-out-helix-code-editor.html
4date: 2022-06-30T12:00:00+02:00 4date: 2022-06-30T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -49,7 +48,7 @@ popups that show you what the keyboard shortcuts are.
49And it comes us packed with many 48And it comes us packed with many
50[really good themes](https://github.com/helix-editor/helix/wiki/Themes). 49[really good themes](https://github.com/helix-editor/helix/wiki/Themes).
51 50
52![Editor](/assets/posts/helix-editor/editor.png){:loading="lazy"} 51![Editor](/assets/posts/helix-editor/editor.png)
53 52
54It's still young but has this mature feeling to it. It has sane defaults and 53It's still young but has this mature feeling to it. It has sane defaults and
55mimics Vim (works a bit differently, but the overall idea is similar). 54mimics Vim (works a bit differently, but the overall idea is similar).
diff --git a/_posts/posts/2022-07-05-what-would-dna-sound-if-synthesized.md b/content/posts/2022-07-05-what-would-dna-sound-if-synthesized.md
index 6efe559..1b82cb6 100644
--- a/_posts/posts/2022-07-05-what-would-dna-sound-if-synthesized.md
+++ b/content/posts/2022-07-05-what-would-dna-sound-if-synthesized.md
@@ -1,8 +1,7 @@
1--- 1---
2title: What would DNA sound if synthesized to an audio file 2title: What would DNA sound if synthesized to an audio file
3permalink: /what-would-dna-sound-if-synthesized.html 3url: /what-would-dna-sound-if-synthesized.html
4date: 2022-07-05T12:00:00+02:00 4date: 2022-07-05T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
@@ -178,7 +177,7 @@ An example spectrogram of Ludwig van Beethoven Symphony No. 6 First movement.
178 <source src="/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3" type="audio/mpeg"> 177 <source src="/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3" type="audio/mpeg">
179</audio> 178</audio>
180 179
181![Ludwig van Beethoven Symphony No. 6 First movement](/assets/posts/dna-synthesized/symphony-no6-1st-movement.png){:loading="lazy"} 180![Ludwig van Beethoven Symphony No. 6 First movement](/assets/posts/dna-synthesized/symphony-no6-1st-movement.png)
182 181
183The other option could also be in combination with 182The other option could also be in combination with
184[gnuplot](http://www.gnuplot.info/). This would require an intermediary step, 183[gnuplot](http://www.gnuplot.info/). This would require an intermediary step,
@@ -233,7 +232,7 @@ spectrogram based on a WAV file.
233 <source src="/assets/posts/dna-synthesized/quote/out.mp3" type="audio/mpeg"> 232 <source src="/assets/posts/dna-synthesized/quote/out.mp3" type="audio/mpeg">
234</audio> 233</audio>
235 234
236![Spectogram](/assets/posts/dna-synthesized/quote/spectogram.png){:loading="lazy"} 235![Spectogram](/assets/posts/dna-synthesized/quote/spectogram.png)
237 236
238### Mouse 237### Mouse
239 238
@@ -245,7 +244,7 @@ here](http://ftp.ensembl.org/pub/release-106/fasta/mus_musculus/dna/).
245 <source src="/assets/posts/dna-synthesized/mouse/out.mp3" type="audio/mpeg"> 244 <source src="/assets/posts/dna-synthesized/mouse/out.mp3" type="audio/mpeg">
246</audio> 245</audio>
247 246
248![Spectogram](/assets/posts/dna-synthesized/mouse/spectogram.png){:loading="lazy"} 247![Spectogram](/assets/posts/dna-synthesized/mouse/spectogram.png)
249 248
250### Bison 249### Bison
251 250
@@ -257,7 +256,7 @@ here](http://ftp.ensembl.org/pub/release-106/fasta/bison_bison_bison/cdna/).
257 <source src="/assets/posts/dna-synthesized/bison/out.mp3" type="audio/mpeg"> 256 <source src="/assets/posts/dna-synthesized/bison/out.mp3" type="audio/mpeg">
258</audio> 257</audio>
259 258
260![Spectogram](/assets/posts/dna-synthesized/bison/spectogram.png){:loading="lazy"} 259![Spectogram](/assets/posts/dna-synthesized/bison/spectogram.png)
261 260
262### Taurus 261### Taurus
263 262
@@ -269,7 +268,7 @@ here](http://ftp.ensembl.org/pub/release-106/fasta/bos_taurus/cdna/).
269 <source src="/assets/posts/dna-synthesized/taurus/out.mp3" type="audio/mpeg"> 268 <source src="/assets/posts/dna-synthesized/taurus/out.mp3" type="audio/mpeg">
270</audio> 269</audio>
271 270
272![Spectogram](/assets/posts/dna-synthesized/taurus/spectogram.png){:loading="lazy"} 271![Spectogram](/assets/posts/dna-synthesized/taurus/spectogram.png)
273 272
274## Making a drummer out of a DNA sequence 273## Making a drummer out of a DNA sequence
275 274
@@ -282,11 +281,11 @@ Elektron is connected to my MacBook via USB cable and audio out is patched to a
282Sony Bluetooth speaker I have that supports 3.5 mm audio in. Elektron doesn't 281Sony Bluetooth speaker I have that supports 3.5 mm audio in. Elektron doesn't
283have internal speakers. 282have internal speakers.
284 283
285![](/assets/posts/dna-synthesized/elektron/IMG_0619.jpg){:loading="lazy"} 284![](/assets/posts/dna-synthesized/elektron/IMG_0619.jpg)
286 285
287![](/assets/posts/dna-synthesized/elektron/IMG_0620.jpg){:loading="lazy"} 286![](/assets/posts/dna-synthesized/elektron/IMG_0620.jpg)
288 287
289![](/assets/posts/dna-synthesized/elektron/IMG_0622.jpg){:loading="lazy"} 288![](/assets/posts/dna-synthesized/elektron/IMG_0622.jpg)
290 289
291For communicating with Elektron, I choose `pygame` Python module that has MIDI 290For communicating with Elektron, I choose `pygame` Python module that has MIDI
292built in. With this, it was rather simple to send notes to the device. All I did 291built in. With this, it was rather simple to send notes to the device. All I did
@@ -295,7 +294,7 @@ was map MIDI notes to the actual Nucleotides.
295Before all of this I also checked Audio MIDI Setup app under MacOS and checked 294Before all of this I also checked Audio MIDI Setup app under MacOS and checked
296MIDI Studio by pressing ⌘-2. 295MIDI Studio by pressing ⌘-2.
297 296
298![](/assets/posts/dna-synthesized/elektron/midi-studio.jpg){:loading="lazy"} 297![](/assets/posts/dna-synthesized/elektron/midi-studio.jpg)
299 298
300The whole script that parses and send notes to the Elektron looks like this. 299The whole script that parses and send notes to the Elektron looks like this.
301 300
diff --git a/_posts/posts/2022-10-06-state-of-web-technologies-in-year-2022.md b/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
index e7c8d62..fc00ea0 100644
--- a/_posts/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
+++ b/content/posts/2022-10-06-state-of-web-technologies-in-year-2022.md
@@ -1,8 +1,7 @@
1--- 1---
2title: State of Web Technologies and Web development in year 2022 2title: State of Web Technologies and Web development in year 2022
3permalink: /state-of-web-technologies-and-web-development-in-year-2022.html 3url: /state-of-web-technologies-and-web-development-in-year-2022.html
4date: 2022-10-06T12:00:00+02:00 4date: 2022-10-06T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md b/content/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md
index 7b019e9..1b8799f 100644
--- a/_posts/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md
+++ b/content/posts/2022-10-16-that-sound-that-machine-makes-when-struggling.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Microsoundtrack — That sound that machine makes when struggling 2title: Microsoundtrack — That sound that machine makes when struggling
3permalink: /that-sound-that-machine-makes-when-struggling.html 3url: /that-sound-that-machine-makes-when-struggling.html
4date: 2022-10-16T12:00:00+02:00 4date: 2022-10-16T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md b/content/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md
index ced58bb..067f381 100644
--- a/_posts/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md
+++ b/content/posts/2023-01-26-trying-to-build-a-new-kind-of-terminal-emulator.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Trying to build a New kind of terminal emulator for the modern age 2title: Trying to build a New kind of terminal emulator for the modern age
3permalink: /trying-to-build-a-new-kind-of-terminal-emulator.html 3url: /trying-to-build-a-new-kind-of-terminal-emulator.html
4date: 2023-01-26T12:00:00+02:00 4date: 2023-01-26T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-05-16-rekindling-my-love-for-programming.md b/content/posts/2023-05-16-rekindling-my-love-for-programming.md
index dc5344f..69f8c7a 100644
--- a/_posts/posts/2023-05-16-rekindling-my-love-for-programming.md
+++ b/content/posts/2023-05-16-rekindling-my-love-for-programming.md
@@ -1,8 +1,7 @@
1--- 1---
2title: Rekindling my love for programming and enjoying the act of creating 2title: Rekindling my love for programming and enjoying the act of creating
3permalink: /rekindling-my-love-for-programming.html 3url: /rekindling-my-love-for-programming.html
4date: 2023-05-16T12:00:00+02:00 4date: 2023-05-16T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-05-23-i-was-wrong-about-git-workflows.md b/content/posts/2023-05-23-i-was-wrong-about-git-workflows.md
index 57d887c..c0ac6ea 100644
--- a/_posts/posts/2023-05-23-i-was-wrong-about-git-workflows.md
+++ b/content/posts/2023-05-23-i-was-wrong-about-git-workflows.md
@@ -1,11 +1,9 @@
1--- 1---
2title: I think I was completely wrong about Git workflows 2title: I think I was completely wrong about Git workflows
3permalink: /i-was-wrong-about-git-workflows.html 3url: /i-was-wrong-about-git-workflows.html
4date: 2023-05-23T12:00:00+02:00 4date: 2023-05-23T12:00:00+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8tags: []
9--- 7---
10 8
11I have been using some approximation of [Git 9I have been using some approximation of [Git
diff --git a/_posts/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md b/content/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md
index c595905..b311509 100644
--- a/_posts/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md
+++ b/content/posts/2023-05-31-re-inventing-task-runner-that-i-actually-used-daily.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Re-Inventing Task Runner That I Actually Used Daily" 2title: "Re-Inventing Task Runner That I Actually Used Daily"
3permalink: /re-inventing-task-runner-that-i-actually-used-daily.html 3url: /re-inventing-task-runner-that-i-actually-used-daily.html
4date: 2023-05-31T12:21:10+02:00 4date: 2023-05-31T12:21:10+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md b/content/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md
index 4bc45ce..61a3dcc 100644
--- a/_posts/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md
+++ b/content/posts/2023-07-01-bringing-all-of-my-projects-together-under-one-umbrella.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Bringing all of my projects together under one umbrella" 2title: "Bringing all of my projects together under one umbrella"
3permalink: /bringing-all-of-my-projects-together-under-one-umbrella.html 3url: /bringing-all-of-my-projects-together-under-one-umbrella.html
4date: 2023-07-01T18:49:07+02:00 4date: 2023-07-01T18:49:07+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md b/content/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md
index c7d52d5..21e2f11 100644
--- a/_posts/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md
+++ b/content/posts/2023-07-08-who-knows-what-the-world-will-look-like-tomorrow.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Who knows what the world will look like tomorrow" 2title: "Who knows what the world will look like tomorrow"
3permalink: /who-knows-what-the-world-will-look-like-tomorrow.html 3url: /who-knows-what-the-world-will-look-like-tomorrow.html
4date: 2023-07-08T18:49:07+02:00 4date: 2023-07-08T18:49:07+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md b/content/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md
index ccee72b..7ff292e 100644
--- a/_posts/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md
+++ b/content/posts/2023-11-05-elitist-attitudes-are-sapping-the-fun-from-programming.md
@@ -1,8 +1,7 @@
1--- 1---
2title: "Elitist attitudes are sapping all the fun from programming" 2title: "Elitist attitudes are sapping all the fun from programming"
3permalink: /elitist-attitudes-are-sapping-all-the-fun-from-programming.html 3url: /elitist-attitudes-are-sapping-all-the-fun-from-programming.html
4date: 2023-11-05T09:04:28+02:00 4date: 2023-11-05T09:04:28+02:00
5layout: post
6type: post 5type: post
7draft: false 6draft: false
8--- 7---
diff --git a/_posts/posts/2024-02-11-k-mer.md b/content/posts/2024-02-11-k-mer.md
index 254b5df..984e9de 100644
--- a/_posts/posts/2024-02-11-k-mer.md
+++ b/content/posts/2024-02-11-k-mer.md
@@ -1,12 +1,9 @@
1--- 1---
2title: "Navigating the genome using k-mers for DNA analysis and visualization" 2title: "Navigating the genome using k-mers for DNA analysis and visualization"
3permalink: /navigating-the-genome-using-k-mers-for-dna-analysis-and-visualization.html 3url: /navigating-the-genome-using-k-mers-for-dna-analysis-and-visualization.html
4date: 2024-02-11T01:04:28+02:00 4date: 2024-02-11T01:04:28+02:00
5layout: post
6type: post 5type: post
7mathjax: yes
8draft: true 6draft: true
9published: false
10--- 7---
11 8
12## Brief introduction to K-mer 9## Brief introduction to K-mer
diff --git a/_posts/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md b/content/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md
index 0475066..42c20c0 100644
--- a/_posts/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md
+++ b/content/posts/2024-02-28-converting-valgrind-callgrinds-to-svg-format.md
@@ -1,11 +1,9 @@
1--- 1---
2title: Converting Valgrind callgrinds to SVG format 2title: Converting Valgrind callgrinds to SVG format
3permalink: /converting-valgrind-callgrinds-to-svg-format.html 3url: /converting-valgrind-callgrinds-to-svg-format.html
4date: 2024-02-28T03:23:00+01:00 4date: 2024-02-28T03:23:00+01:00
5layout: post
6draft: false
7published: true
8type: post 5type: post
6draft: false
9--- 7---
10 8
11Lately I have been doing a lot of systems programming and profiling is 9Lately I have been doing a lot of systems programming and profiling is
diff --git a/feed.json b/feed.json
deleted file mode 100644
index 110f216..0000000
--- a/feed.json
+++ /dev/null
@@ -1,61 +0,0 @@
1---
2layout: null
3---
4{
5 "version": "https://jsonfeed.org/version/1",
6 "title": "{{ site.title | xml_escape }}",
7 "home_page_url": "{{ "/" | absolute_url }}",
8 "feed_url": "{{ "/feed.json" | absolute_url }}",
9 "description": {{ site.description | jsonify }},
10 "icon": "{{ "/apple-touch-icon.png" | absolute_url }}",
11 "favicon": "{{ "/favicon.ico" | absolute_url }}",
12 "expired": false,
13 {% if site.author %}
14 "author": {% if site.author.name %} {
15 "name": "{{ site.author.name }}",
16 "url": {% if site.author.url %}"{{ site.author.url }}"{% else %}null{% endif %},
17 "avatar": {% if site.author.avatar %}"{{ site.author.avatar }}"{% else %}null{% endif %}
18 },{% else %}"{{ site.author }}",{% endif %}
19 {% endif %}
20"items": [
21 {% for post in site.posts limit:500 %}
22 {
23 "id": "{{ post.url | absolute_url | sha1 }}",
24 "title": {{ post.title | jsonify }},
25 "summary": {{ post.seo_description | jsonify }},
26 "content_text": {{ post.content | strip_html | strip_newlines | jsonify }},
27 "content_html": {{ post.content | strip_newlines | jsonify }},
28 "url": "{{ post.url | absolute_url }}",
29 {% if post.image.size > 1 %}"image": {{ post.image | jsonify }},{% endif %}
30 {% if post.link.size > 1 %}"external_url": "{{ post.link }}",{% endif %}
31 {% if post.banner.size > 1 %}"banner_image": "{{ post.banner }}",{% endif %}
32 {% if post.tags.size > 1 %}"tags": {{ post.tags | jsonify }},{% endif %}
33 {% if post.enclosure.size > 1 %}"attachments": [
34 {
35 "url": "{{ post.enclosure }}",
36 "mime_type": "{{ post.enclosure_type }}",
37 "size_in_bytes": "{{ post.enclosure_length }}"
38 },{% endif %}
39 "date_published": "{{ post.date | date_to_xmlschema }}",
40 "date_modified": "{{ post.date | date_to_xmlschema }}",
41 {% if post.author %}
42 "author": {% if post.author.name %} {
43 "name": "{{ post.author.name }}",
44 "url": {% if post.author.url %}"{{ post.author.url }}"{% else %}null{% endif %},
45 "avatar": {% if post.author.avatar %}"{{ post.author.avatar }}"{% else %}null{% endif %}
46 }
47 {% else %}"{{ post.author }}"{% endif %}
48 {% else %}
49 "author": {% if site.author.name %} {
50 "name": "{{ site.author.name }}",
51 "url": {% if site.author.url %}"{{ site.author.url }}"{% else %}null{% endif %},
52 "avatar": {% if site.author.avatar %}"{{ site.author.avatar }}"{% else %}null{% endif %}
53 }
54 {% else %}
55 "{{ site.author }}"
56 {% endif %}
57 {% endif %}
58 }{% if forloop.last == false %},{% endif %}
59 {% endfor %}
60 ]
61}
diff --git a/index.html b/index.html
deleted file mode 100644
index c3cbf05..0000000
--- a/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
1---
2layout: index
3---
4
5<p><i>You do not learn by relaxing. You learn by violently assaulting your problem
6until it surrenders its mysteries to you.</i></p>
7
8<a style="max-width:650px;display:inline-block;background:blue;color:white;padding:1em;" href="https://mitjafelicijan.github.io/binary-visualization/" target="_blank">
9 <strong>Latest experiment:</strong> Examine graphical representations of
10 binary files using diagrams that illustrate connections between pairs of bytes
11 (digraphs) and triplets of bytes (trigraphs).
12</a>
13
14<h2>More long form, ramblings etc</h2>
15<ul itemscope itemtype="https://schema.org/SiteNavigationElement" role="list" aria-label="Articles" class="list">
16 <meta itemprop="name" content="Article list">
17 {% for post in site.posts %}
18 {% if post.type == "post" and post.draft == false %}
19 <li>
20 <a href="{{ post.url }}">{{ post.title }}</a>
21 </li>
22 {% endif %}
23 {% endfor %}
24</ul>
25
26<h2>Notes?! Maybe useful</h2>
27<ul itemscope itemtype="https://schema.org/SiteNavigationElement" role="list" aria-label="Notes" class="list">
28 <meta itemprop="name" content="Note list">
29 {% for post in site.posts %}
30 {% if post.type == "note" and post.draft == false %}
31 <li>
32 <a href="{{ post.url }}">{{ post.title }}</a>
33 </li>
34 {% endif %}
35 {% endfor %}
36</ul>
37
38<h2>Small side projects I work/worked on</h2>
39<ul itemscope itemtype="https://schema.org/SiteNavigationElement" role="list" aria-label="Side projects" class="list">
40 <meta itemprop="name" content="Side projects">
41 <li role="listitem"><a href="https://github.com/mitjafelicijan/binary-visualization" target="_blank">binary-visualization </a> — Visualizations and exploration of binary files</li>
42 <li role="listitem"><a href="https://github.com/mitjafelicijan/p9tree" target="_blank">p9tree</a> — Tree utility for 9front/Plan9 operating systems</li>
43 <li role="listitem"><a href="https://github.com/mitjafelicijan/errand" target="_blank">errand</a> — Task runner for the command line</li>
44 <li role="listitem"><a href="https://github.com/mitjafelicijan/i3blocks" target="_blank">i3blocks</a> — Minimal i3blocks indicators</li>
45 <li role="listitem"><a href="https://github.com/mitjafelicijan/cord.h" target="_blank">cord.h</a> — Small C library for handling strings</li>
46 <li role="listitem"><a href="https://github.com/mitjafelicijan/mprogress" target="_blank">mprogress</a> — Tiny utility that displays progress bar in terminal</li>
47 <li role="listitem"><a href="https://github.com/mitjafelicijan/qli" target="_blank">qli</a> — Quantum Lorem Ipsum generator for command line</li>
48 <li role="listitem"><a href="https://github.com/mitjafelicijan/mod-tinycache" target="_blank">mod-tinycache</a> — Apache 2 caching module</li>
49 <li role="listitem"><a href="https://github.com/mitjafelicijan/journalctl-proxy" target="_blank">journalctl-proxy</a> — Exposes your systemd logs to web via web interface</li>
50 <li role="listitem"><a href="https://github.com/mitjafelicijan/redis-marshal" target="_blank">redis-marshal</a> — Lightweight Redis UI tool</li>
51 <li role="listitem"><a href="https://github.com/mitjafelicijan/vertex" target="_blank">vertex</a> — Create mock API's and add basic logic to simplify prototyping</li>
52 <li role="listitem"><a href="https://github.com/mitjafelicijan/dna-encoding" target="_blank">dna-encoding</a> — Tools for encoding files to DNA sequences</li>
53 <li role="listitem"><a href="https://github.com/mitjafelicijan/scarecrow" target="_blank">scarecrow</a> — Minimal configuration reverse proxy</li>
54</ul>
55
56<h2>Audio experimentation</h2>
57
58<p>Neobrutalism and the search for a monolith</p>
59<audio controls>
60 <source src="/assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3" type="audio/mpeg">
61</audio>
62
63<p>A bunch of inter-dimensional people with loud clocks</p>
64<audio controls>
65 <source src="/assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3" type="audio/mpeg">
66</audio>
67
68<p>A planet where every organism is a plant</p>
69<audio controls>
70 <source src="/assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3" type="audio/mpeg">
71</audio>
72
73<p>Bio implants having a fit and reprogramming your brain</p>
74<audio controls>
75 <source src="/assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3" type="audio/mpeg">
76</audio>
77
78<p>Two black holes conversing about the weather</p>
79<audio controls>
80 <source src="/assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3" type="audio/mpeg">
81</audio>
diff --git a/static/.gitkeep b/static/.gitkeep
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/static/.gitkeep
diff --git a/assets/mitjafelicijan.pgp.pub.txt b/static/assets/mitjafelicijan.pgp.pub.txt
index ee10621..ee10621 100644
--- a/assets/mitjafelicijan.pgp.pub.txt
+++ b/static/assets/mitjafelicijan.pgp.pub.txt
diff --git a/assets/notes/10gui-10-finger-multitouch-user-interface.jpg b/static/assets/notes/10gui-10-finger-multitouch-user-interface.jpg
index 270b4ea..270b4ea 100644
--- a/assets/notes/10gui-10-finger-multitouch-user-interface.jpg
+++ b/static/assets/notes/10gui-10-finger-multitouch-user-interface.jpg
Binary files differ
diff --git a/assets/notes/10gui-10-finger-multitouch-user-interface.mp4 b/static/assets/notes/10gui-10-finger-multitouch-user-interface.mp4
index 8afdbf8..8afdbf8 100644
--- a/assets/notes/10gui-10-finger-multitouch-user-interface.mp4
+++ b/static/assets/notes/10gui-10-finger-multitouch-user-interface.mp4
Binary files differ
diff --git a/assets/notes/60s-ibm-computers-commercial.jpg b/static/assets/notes/60s-ibm-computers-commercial.jpg
index 1d49e93..1d49e93 100644
--- a/assets/notes/60s-ibm-computers-commercial.jpg
+++ b/static/assets/notes/60s-ibm-computers-commercial.jpg
Binary files differ
diff --git a/assets/notes/60s-ibm-computers-commercial.mp4 b/static/assets/notes/60s-ibm-computers-commercial.mp4
index 9ff1567..9ff1567 100644
--- a/assets/notes/60s-ibm-computers-commercial.mp4
+++ b/static/assets/notes/60s-ibm-computers-commercial.mp4
Binary files differ
diff --git a/assets/notes/9front-desktop.png b/static/assets/notes/9front-desktop.png
index 3a0964b..3a0964b 100644
--- a/assets/notes/9front-desktop.png
+++ b/static/assets/notes/9front-desktop.png
Binary files differ
diff --git a/assets/notes/dcss-quickstart.pdf b/static/assets/notes/dcss-quickstart.pdf
index 1b70615..1b70615 100644
--- a/assets/notes/dcss-quickstart.pdf
+++ b/static/assets/notes/dcss-quickstart.pdf
Binary files differ
diff --git a/assets/notes/dcss.jpg b/static/assets/notes/dcss.jpg
index ffe7c6a..ffe7c6a 100644
--- a/assets/notes/dcss.jpg
+++ b/static/assets/notes/dcss.jpg
Binary files differ
diff --git a/assets/notes/dcss_manual.pdf b/static/assets/notes/dcss_manual.pdf
index 03cafd2..03cafd2 100644
--- a/assets/notes/dcss_manual.pdf
+++ b/static/assets/notes/dcss_manual.pdf
Binary files differ
diff --git a/assets/notes/grep-less.png b/static/assets/notes/grep-less.png
index f69a935..f69a935 100644
--- a/assets/notes/grep-less.png
+++ b/static/assets/notes/grep-less.png
Binary files differ
diff --git a/assets/notes/plan9-pixels.png b/static/assets/notes/plan9-pixels.png
index 536dd82..536dd82 100644
--- a/assets/notes/plan9-pixels.png
+++ b/static/assets/notes/plan9-pixels.png
Binary files differ
diff --git a/assets/notes/plot.svg b/static/assets/notes/plot.svg
index f7cc7a4..f7cc7a4 100644
--- a/assets/notes/plot.svg
+++ b/static/assets/notes/plot.svg
diff --git a/assets/notes/ps1-prompt.png b/static/assets/notes/ps1-prompt.png
index e27c714..e27c714 100644
--- a/assets/notes/ps1-prompt.png
+++ b/static/assets/notes/ps1-prompt.png
Binary files differ
diff --git a/assets/notes/trigraphs.gif b/static/assets/notes/trigraphs.gif
index f579b9d..f579b9d 100644
--- a/assets/notes/trigraphs.gif
+++ b/static/assets/notes/trigraphs.gif
Binary files differ
diff --git a/assets/notes/xterm-palette.png b/static/assets/notes/xterm-palette.png
index e286c5e..e286c5e 100644
--- a/assets/notes/xterm-palette.png
+++ b/static/assets/notes/xterm-palette.png
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-0.jpg b/static/assets/posts/algae-sava/dji-algae-0.jpg
index d444c80..d444c80 100755
--- a/assets/posts/algae-sava/dji-algae-0.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-0.jpg
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-1.jpg b/static/assets/posts/algae-sava/dji-algae-1.jpg
index 26ee43c..26ee43c 100755
--- a/assets/posts/algae-sava/dji-algae-1.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-1.jpg
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-2.jpg b/static/assets/posts/algae-sava/dji-algae-2.jpg
index d38f8cd..d38f8cd 100755
--- a/assets/posts/algae-sava/dji-algae-2.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-2.jpg
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-3.jpg b/static/assets/posts/algae-sava/dji-algae-3.jpg
index 9706fa0..9706fa0 100755
--- a/assets/posts/algae-sava/dji-algae-3.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-3.jpg
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-4.jpg b/static/assets/posts/algae-sava/dji-algae-4.jpg
index b0db4a2..b0db4a2 100755
--- a/assets/posts/algae-sava/dji-algae-4.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-4.jpg
Binary files differ
diff --git a/assets/posts/algae-sava/dji-algae-5.jpg b/static/assets/posts/algae-sava/dji-algae-5.jpg
index f3c1b3b..f3c1b3b 100755
--- a/assets/posts/algae-sava/dji-algae-5.jpg
+++ b/static/assets/posts/algae-sava/dji-algae-5.jpg
Binary files differ
diff --git a/assets/posts/cv/avatar.gif b/static/assets/posts/cv/avatar.gif
index 82e5f39..82e5f39 100755
--- a/assets/posts/cv/avatar.gif
+++ b/static/assets/posts/cv/avatar.gif
Binary files differ
diff --git a/assets/posts/dfd-rice/desktop.png b/static/assets/posts/dfd-rice/desktop.png
index 8dcfd51..8dcfd51 100755
--- a/assets/posts/dfd-rice/desktop.png
+++ b/static/assets/posts/dfd-rice/desktop.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-00.png b/static/assets/posts/dfd-rice/install-00.png
index 2660f90..2660f90 100755
--- a/assets/posts/dfd-rice/install-00.png
+++ b/static/assets/posts/dfd-rice/install-00.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-01.png b/static/assets/posts/dfd-rice/install-01.png
index 1281be1..1281be1 100755
--- a/assets/posts/dfd-rice/install-01.png
+++ b/static/assets/posts/dfd-rice/install-01.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-02.png b/static/assets/posts/dfd-rice/install-02.png
index 9cac5e3..9cac5e3 100755
--- a/assets/posts/dfd-rice/install-02.png
+++ b/static/assets/posts/dfd-rice/install-02.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-03.png b/static/assets/posts/dfd-rice/install-03.png
index dc7cbd1..dc7cbd1 100755
--- a/assets/posts/dfd-rice/install-03.png
+++ b/static/assets/posts/dfd-rice/install-03.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-04.png b/static/assets/posts/dfd-rice/install-04.png
index 675a78f..675a78f 100755
--- a/assets/posts/dfd-rice/install-04.png
+++ b/static/assets/posts/dfd-rice/install-04.png
Binary files differ
diff --git a/assets/posts/dfd-rice/install-05.png b/static/assets/posts/dfd-rice/install-05.png
index 8b580b9..8b580b9 100755
--- a/assets/posts/dfd-rice/install-05.png
+++ b/static/assets/posts/dfd-rice/install-05.png
Binary files differ
diff --git a/assets/posts/dfd-rice/installation.svg b/static/assets/posts/dfd-rice/installation.svg
index bb9560b..bb9560b 100755
--- a/assets/posts/dfd-rice/installation.svg
+++ b/static/assets/posts/dfd-rice/installation.svg
diff --git a/assets/posts/dfd-rice/layout.png b/static/assets/posts/dfd-rice/layout.png
index a44d2cd..a44d2cd 100755
--- a/assets/posts/dfd-rice/layout.png
+++ b/static/assets/posts/dfd-rice/layout.png
Binary files differ
diff --git a/assets/posts/dfd-rice/layout.svg b/static/assets/posts/dfd-rice/layout.svg
index 5a9031c..5a9031c 100755
--- a/assets/posts/dfd-rice/layout.svg
+++ b/static/assets/posts/dfd-rice/layout.svg
diff --git a/assets/posts/dfd-rice/script.png b/static/assets/posts/dfd-rice/script.png
index 09be37a..09be37a 100755
--- a/assets/posts/dfd-rice/script.png
+++ b/static/assets/posts/dfd-rice/script.png
Binary files differ
diff --git a/assets/posts/dna-sequence/benchmarks.csv b/static/assets/posts/dna-sequence/benchmarks.csv
index 8645d5e..8645d5e 100644
--- a/assets/posts/dna-sequence/benchmarks.csv
+++ b/static/assets/posts/dna-sequence/benchmarks.csv
diff --git a/assets/posts/dna-sequence/chart-size.py b/static/assets/posts/dna-sequence/chart-size.py
index 4fc408d..4fc408d 100644
--- a/assets/posts/dna-sequence/chart-size.py
+++ b/static/assets/posts/dna-sequence/chart-size.py
diff --git a/assets/posts/dna-sequence/chart-size.svg b/static/assets/posts/dna-sequence/chart-size.svg
index 1a2d127..1a2d127 100644
--- a/assets/posts/dna-sequence/chart-size.svg
+++ b/static/assets/posts/dna-sequence/chart-size.svg
diff --git a/assets/posts/dna-sequence/chart-speed.py b/static/assets/posts/dna-sequence/chart-speed.py
index c07b057..c07b057 100644
--- a/assets/posts/dna-sequence/chart-speed.py
+++ b/static/assets/posts/dna-sequence/chart-speed.py
diff --git a/assets/posts/dna-sequence/chart-speed.svg b/static/assets/posts/dna-sequence/chart-speed.svg
index 7bb0c29..7bb0c29 100644
--- a/assets/posts/dna-sequence/chart-speed.svg
+++ b/static/assets/posts/dna-sequence/chart-speed.svg
diff --git a/assets/posts/dna-sequence/dna-basics.jpg b/static/assets/posts/dna-sequence/dna-basics.jpg
index c2e7f52..c2e7f52 100755
--- a/assets/posts/dna-sequence/dna-basics.jpg
+++ b/static/assets/posts/dna-sequence/dna-basics.jpg
Binary files differ
diff --git a/assets/posts/dna-sequence/quote.png b/static/assets/posts/dna-sequence/quote.png
index 09fb01c..09fb01c 100755
--- a/assets/posts/dna-sequence/quote.png
+++ b/static/assets/posts/dna-sequence/quote.png
Binary files differ
diff --git a/assets/posts/dna-sequence/sample-binary-file.png b/static/assets/posts/dna-sequence/sample-binary-file.png
index 1e4622a..1e4622a 100755
--- a/assets/posts/dna-sequence/sample-binary-file.png
+++ b/static/assets/posts/dna-sequence/sample-binary-file.png
Binary files differ
diff --git a/assets/posts/dna-sequence/sample.png b/static/assets/posts/dna-sequence/sample.png
index 30f12da..30f12da 100755
--- a/assets/posts/dna-sequence/sample.png
+++ b/static/assets/posts/dna-sequence/sample.png
Binary files differ
diff --git a/assets/posts/dna-synthesized/bison/in.txt b/static/assets/posts/dna-synthesized/bison/in.txt
index fd1eea6..fd1eea6 100755
--- a/assets/posts/dna-synthesized/bison/in.txt
+++ b/static/assets/posts/dna-synthesized/bison/in.txt
diff --git a/assets/posts/dna-synthesized/bison/out.mp3 b/static/assets/posts/dna-synthesized/bison/out.mp3
index d6408ca..d6408ca 100755
--- a/assets/posts/dna-synthesized/bison/out.mp3
+++ b/static/assets/posts/dna-synthesized/bison/out.mp3
Binary files differ
diff --git a/assets/posts/dna-synthesized/bison/spectogram.png b/static/assets/posts/dna-synthesized/bison/spectogram.png
index 959902b..959902b 100755
--- a/assets/posts/dna-synthesized/bison/spectogram.png
+++ b/static/assets/posts/dna-synthesized/bison/spectogram.png
Binary files differ
diff --git a/assets/posts/dna-synthesized/elektron/IMG_0619.jpg b/static/assets/posts/dna-synthesized/elektron/IMG_0619.jpg
index ebf60b0..ebf60b0 100755
--- a/assets/posts/dna-synthesized/elektron/IMG_0619.jpg
+++ b/static/assets/posts/dna-synthesized/elektron/IMG_0619.jpg
Binary files differ
diff --git a/assets/posts/dna-synthesized/elektron/IMG_0620.jpg b/static/assets/posts/dna-synthesized/elektron/IMG_0620.jpg
index c9aa398..c9aa398 100755
--- a/assets/posts/dna-synthesized/elektron/IMG_0620.jpg
+++ b/static/assets/posts/dna-synthesized/elektron/IMG_0620.jpg
Binary files differ
diff --git a/assets/posts/dna-synthesized/elektron/IMG_0622.jpg b/static/assets/posts/dna-synthesized/elektron/IMG_0622.jpg
index 98acee4..98acee4 100755
--- a/assets/posts/dna-synthesized/elektron/IMG_0622.jpg
+++ b/static/assets/posts/dna-synthesized/elektron/IMG_0622.jpg
Binary files differ
diff --git a/assets/posts/dna-synthesized/elektron/elektron.mp4 b/static/assets/posts/dna-synthesized/elektron/elektron.mp4
index f8e39b9..f8e39b9 100755
--- a/assets/posts/dna-synthesized/elektron/elektron.mp4
+++ b/static/assets/posts/dna-synthesized/elektron/elektron.mp4
Binary files differ
diff --git a/assets/posts/dna-synthesized/elektron/midi-studio.jpg b/static/assets/posts/dna-synthesized/elektron/midi-studio.jpg
index 59075cd..59075cd 100755
--- a/assets/posts/dna-synthesized/elektron/midi-studio.jpg
+++ b/static/assets/posts/dna-synthesized/elektron/midi-studio.jpg
Binary files differ
diff --git a/assets/posts/dna-synthesized/mouse/in.txt b/static/assets/posts/dna-synthesized/mouse/in.txt
index abd34a2..abd34a2 100755
--- a/assets/posts/dna-synthesized/mouse/in.txt
+++ b/static/assets/posts/dna-synthesized/mouse/in.txt
diff --git a/assets/posts/dna-synthesized/mouse/out.mp3 b/static/assets/posts/dna-synthesized/mouse/out.mp3
index e66e87b..e66e87b 100755
--- a/assets/posts/dna-synthesized/mouse/out.mp3
+++ b/static/assets/posts/dna-synthesized/mouse/out.mp3
Binary files differ
diff --git a/assets/posts/dna-synthesized/mouse/spectogram.png b/static/assets/posts/dna-synthesized/mouse/spectogram.png
index 8b7f63f..8b7f63f 100755
--- a/assets/posts/dna-synthesized/mouse/spectogram.png
+++ b/static/assets/posts/dna-synthesized/mouse/spectogram.png
Binary files differ
diff --git a/assets/posts/dna-synthesized/quote/in.txt b/static/assets/posts/dna-synthesized/quote/in.txt
index 81e8eb9..81e8eb9 100755
--- a/assets/posts/dna-synthesized/quote/in.txt
+++ b/static/assets/posts/dna-synthesized/quote/in.txt
diff --git a/assets/posts/dna-synthesized/quote/out.mp3 b/static/assets/posts/dna-synthesized/quote/out.mp3
index 985871d..985871d 100755
--- a/assets/posts/dna-synthesized/quote/out.mp3
+++ b/static/assets/posts/dna-synthesized/quote/out.mp3
Binary files differ
diff --git a/assets/posts/dna-synthesized/quote/spectogram.png b/static/assets/posts/dna-synthesized/quote/spectogram.png
index c460ffd..c460ffd 100755
--- a/assets/posts/dna-synthesized/quote/spectogram.png
+++ b/static/assets/posts/dna-synthesized/quote/spectogram.png
Binary files differ
diff --git a/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3 b/static/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3
index 8c5a609..8c5a609 100755
--- a/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3
+++ b/static/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3
Binary files differ
diff --git a/assets/posts/dna-synthesized/symphony-no6-1st-movement.png b/static/assets/posts/dna-synthesized/symphony-no6-1st-movement.png
index 8269f08..8269f08 100755
--- a/assets/posts/dna-synthesized/symphony-no6-1st-movement.png
+++ b/static/assets/posts/dna-synthesized/symphony-no6-1st-movement.png
Binary files differ
diff --git a/assets/posts/dna-synthesized/taurus/in.txt b/static/assets/posts/dna-synthesized/taurus/in.txt
index 8c5bddb..8c5bddb 100755
--- a/assets/posts/dna-synthesized/taurus/in.txt
+++ b/static/assets/posts/dna-synthesized/taurus/in.txt
diff --git a/assets/posts/dna-synthesized/taurus/out.mp3 b/static/assets/posts/dna-synthesized/taurus/out.mp3
index ea7ae1a..ea7ae1a 100755
--- a/assets/posts/dna-synthesized/taurus/out.mp3
+++ b/static/assets/posts/dna-synthesized/taurus/out.mp3
Binary files differ
diff --git a/assets/posts/dna-synthesized/taurus/spectogram.png b/static/assets/posts/dna-synthesized/taurus/spectogram.png
index 3be9b58..3be9b58 100755
--- a/assets/posts/dna-synthesized/taurus/spectogram.png
+++ b/static/assets/posts/dna-synthesized/taurus/spectogram.png
Binary files differ
diff --git a/assets/posts/do-fuse/copy-benchmarks.tsv b/static/assets/posts/do-fuse/copy-benchmarks.tsv
index c7a7af4..c7a7af4 100755
--- a/assets/posts/do-fuse/copy-benchmarks.tsv
+++ b/static/assets/posts/do-fuse/copy-benchmarks.tsv
diff --git a/assets/posts/do-fuse/fuse-droplets.png b/static/assets/posts/do-fuse/fuse-droplets.png
index d7ce243..d7ce243 100755
--- a/assets/posts/do-fuse/fuse-droplets.png
+++ b/static/assets/posts/do-fuse/fuse-droplets.png
Binary files differ
diff --git a/assets/posts/do-fuse/fuse-spaces.png b/static/assets/posts/do-fuse/fuse-spaces.png
index 4dcc1c5..4dcc1c5 100755
--- a/assets/posts/do-fuse/fuse-spaces.png
+++ b/static/assets/posts/do-fuse/fuse-spaces.png
Binary files differ
diff --git a/assets/posts/do-fuse/sqlite-benchmarks.tsv b/static/assets/posts/do-fuse/sqlite-benchmarks.tsv
index daa2c21..daa2c21 100755
--- a/assets/posts/do-fuse/sqlite-benchmarks.tsv
+++ b/static/assets/posts/do-fuse/sqlite-benchmarks.tsv
diff --git a/assets/posts/dropbox-sync/dropbox-spaces.png b/static/assets/posts/dropbox-sync/dropbox-spaces.png
index c90f99f..c90f99f 100755
--- a/assets/posts/dropbox-sync/dropbox-spaces.png
+++ b/static/assets/posts/dropbox-sync/dropbox-spaces.png
Binary files differ
diff --git a/assets/posts/esp8366-micropython/boards.jpg b/static/assets/posts/esp8366-micropython/boards.jpg
index 89e2b30..89e2b30 100755
--- a/assets/posts/esp8366-micropython/boards.jpg
+++ b/static/assets/posts/esp8366-micropython/boards.jpg
Binary files differ
diff --git a/assets/posts/go-profiling/golang-profiling-cpu.pdf b/static/assets/posts/go-profiling/golang-profiling-cpu.pdf
index 15241cb..15241cb 100755
--- a/assets/posts/go-profiling/golang-profiling-cpu.pdf
+++ b/static/assets/posts/go-profiling/golang-profiling-cpu.pdf
Binary files differ
diff --git a/assets/posts/go-profiling/golang-profiling-mem.pdf b/static/assets/posts/go-profiling/golang-profiling-mem.pdf
index 822e445..822e445 100755
--- a/assets/posts/go-profiling/golang-profiling-mem.pdf
+++ b/static/assets/posts/go-profiling/golang-profiling-mem.pdf
Binary files differ
diff --git a/assets/posts/goaccess/goaccess-dash-html.png b/static/assets/posts/goaccess/goaccess-dash-html.png
index 917d959..917d959 100755
--- a/assets/posts/goaccess/goaccess-dash-html.png
+++ b/static/assets/posts/goaccess/goaccess-dash-html.png
Binary files differ
diff --git a/assets/posts/goaccess/goaccess-dash-term.png b/static/assets/posts/goaccess/goaccess-dash-term.png
index e3f6357..e3f6357 100755
--- a/assets/posts/goaccess/goaccess-dash-term.png
+++ b/static/assets/posts/goaccess/goaccess-dash-term.png
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm b/static/assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm
index 579f2f3..579f2f3 100644
--- a/assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm
+++ b/static/assets/posts/godot-dynamic-tile-loading/2d-player-movement.webm
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/cellular-automata.png b/static/assets/posts/godot-dynamic-tile-loading/cellular-automata.png
index 1b28242..1b28242 100644
--- a/assets/posts/godot-dynamic-tile-loading/cellular-automata.png
+++ b/static/assets/posts/godot-dynamic-tile-loading/cellular-automata.png
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png b/static/assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png
index 880ae2d..880ae2d 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.apple-touch-icon.png
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js b/static/assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js
index ea4d8cb..ea4d8cb 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.audio.worklet.js
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.html b/static/assets/posts/godot-dynamic-tile-loading/example1/index.html
index e96af24..e96af24 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.html
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.html
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.icon.png b/static/assets/posts/godot-dynamic-tile-loading/example1/index.icon.png
index c98fbb6..c98fbb6 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.icon.png
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.icon.png
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.js b/static/assets/posts/godot-dynamic-tile-loading/example1/index.js
index 1c18e52..1c18e52 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.js
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.js
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.pck b/static/assets/posts/godot-dynamic-tile-loading/example1/index.pck
index 07ac55c..07ac55c 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.pck
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.pck
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.png b/static/assets/posts/godot-dynamic-tile-loading/example1/index.png
index 766b0b6..766b0b6 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.png
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.png
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/example1/index.wasm b/static/assets/posts/godot-dynamic-tile-loading/example1/index.wasm
index 5151d56..5151d56 100644
--- a/assets/posts/godot-dynamic-tile-loading/example1/index.wasm
+++ b/static/assets/posts/godot-dynamic-tile-loading/example1/index.wasm
Binary files differ
diff --git a/assets/posts/godot-dynamic-tile-loading/village-creator.png b/static/assets/posts/godot-dynamic-tile-loading/village-creator.png
index bb5b468..bb5b468 100644
--- a/assets/posts/godot-dynamic-tile-loading/village-creator.png
+++ b/static/assets/posts/godot-dynamic-tile-loading/village-creator.png
Binary files differ
diff --git a/assets/posts/helix-editor/editor.png b/static/assets/posts/helix-editor/editor.png
index 2648364..2648364 100755
--- a/assets/posts/helix-editor/editor.png
+++ b/static/assets/posts/helix-editor/editor.png
Binary files differ
diff --git a/assets/posts/iot-application/iot-app-output.png b/static/assets/posts/iot-application/iot-app-output.png
index 1c80589..1c80589 100755
--- a/assets/posts/iot-application/iot-app-output.png
+++ b/static/assets/posts/iot-application/iot-app-output.png
Binary files differ
diff --git a/assets/posts/iot-application/iot-rest-example.png b/static/assets/posts/iot-application/iot-rest-example.png
index 3ed86aa..3ed86aa 100755
--- a/assets/posts/iot-application/iot-rest-example.png
+++ b/static/assets/posts/iot-application/iot-rest-example.png
Binary files differ
diff --git a/assets/posts/iot-application/iot-sqlite-db.png b/static/assets/posts/iot-application/iot-sqlite-db.png
index 82e1e29..82e1e29 100755
--- a/assets/posts/iot-application/iot-sqlite-db.png
+++ b/static/assets/posts/iot-application/iot-sqlite-db.png
Binary files differ
diff --git a/assets/posts/iot-application/kcachegrind.png b/static/assets/posts/iot-application/kcachegrind.png
index 0dc48ab..0dc48ab 100755
--- a/assets/posts/iot-application/kcachegrind.png
+++ b/static/assets/posts/iot-application/kcachegrind.png
Binary files differ
diff --git a/assets/posts/iot-application/profiling-viewer.png b/static/assets/posts/iot-application/profiling-viewer.png
index a450513..a450513 100755
--- a/assets/posts/iot-application/profiling-viewer.png
+++ b/static/assets/posts/iot-application/profiling-viewer.png
Binary files differ
diff --git a/assets/posts/iot-application/simple-iot-application-overview.svg b/static/assets/posts/iot-application/simple-iot-application-overview.svg
index 817666d..817666d 100755
--- a/assets/posts/iot-application/simple-iot-application-overview.svg
+++ b/static/assets/posts/iot-application/simple-iot-application-overview.svg
diff --git a/assets/posts/iot-application/simple-iot-application.zip b/static/assets/posts/iot-application/simple-iot-application.zip
index 46d3205..46d3205 100755
--- a/assets/posts/iot-application/simple-iot-application.zip
+++ b/static/assets/posts/iot-application/simple-iot-application.zip
Binary files differ
diff --git a/assets/posts/iot-application/snakeviz.png b/static/assets/posts/iot-application/snakeviz.png
index 5bab395..5bab395 100755
--- a/assets/posts/iot-application/snakeviz.png
+++ b/static/assets/posts/iot-application/snakeviz.png
Binary files differ
diff --git a/assets/posts/microsoundtrack/cow.m4v b/static/assets/posts/microsoundtrack/cow.m4v
index 1b2461b..1b2461b 100644
--- a/assets/posts/microsoundtrack/cow.m4v
+++ b/static/assets/posts/microsoundtrack/cow.m4v
Binary files differ
diff --git a/assets/posts/pid1/boxes.mp4 b/static/assets/posts/pid1/boxes.mp4
index eb647ff..eb647ff 100755
--- a/assets/posts/pid1/boxes.mp4
+++ b/static/assets/posts/pid1/boxes.mp4
Binary files differ
diff --git a/assets/posts/pid1/qemu.log b/static/assets/posts/pid1/qemu.log
index 11be312..11be312 100755
--- a/assets/posts/pid1/qemu.log
+++ b/static/assets/posts/pid1/qemu.log
diff --git a/assets/posts/pid1/unikernels.png b/static/assets/posts/pid1/unikernels.png
index 4396d02..4396d02 100644
--- a/assets/posts/pid1/unikernels.png
+++ b/static/assets/posts/pid1/unikernels.png
Binary files differ
diff --git a/assets/posts/pid1/unikernels.svg b/static/assets/posts/pid1/unikernels.svg
index 47ad8f0..47ad8f0 100755
--- a/assets/posts/pid1/unikernels.svg
+++ b/static/assets/posts/pid1/unikernels.svg
diff --git a/assets/posts/pid1/unikernels.webp b/static/assets/posts/pid1/unikernels.webp
index c823d00..c823d00 100644
--- a/assets/posts/pid1/unikernels.webp
+++ b/static/assets/posts/pid1/unikernels.webp
Binary files differ
diff --git a/assets/posts/profile-bind-error/error.jpg b/static/assets/posts/profile-bind-error/error.jpg
index c2e4e8f..c2e4e8f 100755
--- a/assets/posts/profile-bind-error/error.jpg
+++ b/static/assets/posts/profile-bind-error/error.jpg
Binary files differ
diff --git a/assets/posts/python-profiling/kcachegrind.png b/static/assets/posts/python-profiling/kcachegrind.png
index 0dc48ab..0dc48ab 100755
--- a/assets/posts/python-profiling/kcachegrind.png
+++ b/static/assets/posts/python-profiling/kcachegrind.png
Binary files differ
diff --git a/assets/posts/python-profiling/profiling-viewer.png b/static/assets/posts/python-profiling/profiling-viewer.png
index a450513..a450513 100755
--- a/assets/posts/python-profiling/profiling-viewer.png
+++ b/static/assets/posts/python-profiling/profiling-viewer.png
Binary files differ
diff --git a/assets/posts/python-profiling/snakeviz.png b/static/assets/posts/python-profiling/snakeviz.png
index 5bab395..5bab395 100755
--- a/assets/posts/python-profiling/snakeviz.png
+++ b/static/assets/posts/python-profiling/snakeviz.png
Binary files differ
diff --git a/assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb b/static/assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb
index e2a85c4..e2a85c4 100755
--- a/assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb
+++ b/static/assets/posts/sentiment-analysis/.ipynb_checkpoints/TF Test-checkpoint.ipynb
diff --git a/assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb b/static/assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb
index 2c0934c..2c0934c 100755
--- a/assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb
+++ b/static/assets/posts/sentiment-analysis/.ipynb_checkpoints/sentiment-analysis-checkpoint.ipynb
diff --git a/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png b/static/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png
index 7195bbf..7195bbf 100755
--- a/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png
+++ b/static/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png
Binary files differ
diff --git a/assets/posts/sentiment-analysis/sentiment-analysis.ipynb b/static/assets/posts/sentiment-analysis/sentiment-analysis.ipynb
index 2c0934c..2c0934c 100755
--- a/assets/posts/sentiment-analysis/sentiment-analysis.ipynb
+++ b/static/assets/posts/sentiment-analysis/sentiment-analysis.ipynb
diff --git a/assets/posts/simple-pubsub-server/caniuse.png b/static/assets/posts/simple-pubsub-server/caniuse.png
index 90f7883..90f7883 100755
--- a/assets/posts/simple-pubsub-server/caniuse.png
+++ b/static/assets/posts/simple-pubsub-server/caniuse.png
Binary files differ
diff --git a/assets/posts/simple-pubsub-server/chrome-debugging.png b/static/assets/posts/simple-pubsub-server/chrome-debugging.png
index 1bdc448..1bdc448 100755
--- a/assets/posts/simple-pubsub-server/chrome-debugging.png
+++ b/static/assets/posts/simple-pubsub-server/chrome-debugging.png
Binary files differ
diff --git a/assets/posts/simple-pubsub-server/clients.m4v b/static/assets/posts/simple-pubsub-server/clients.m4v
index 1342bc6..1342bc6 100755
--- a/assets/posts/simple-pubsub-server/clients.m4v
+++ b/static/assets/posts/simple-pubsub-server/clients.m4v
Binary files differ
diff --git a/assets/posts/simple-pubsub-server/pubsub-overview.png b/static/assets/posts/simple-pubsub-server/pubsub-overview.png
index 0279ec3..0279ec3 100755
--- a/assets/posts/simple-pubsub-server/pubsub-overview.png
+++ b/static/assets/posts/simple-pubsub-server/pubsub-overview.png
Binary files differ
diff --git a/assets/posts/simple-pubsub-server/sse-pubsub-server.zip b/static/assets/posts/simple-pubsub-server/sse-pubsub-server.zip
index 898b290..898b290 100755
--- a/assets/posts/simple-pubsub-server/sse-pubsub-server.zip
+++ b/static/assets/posts/simple-pubsub-server/sse-pubsub-server.zip
Binary files differ
diff --git a/assets/posts/state-of-web/2008-vs-2020.png b/static/assets/posts/state-of-web/2008-vs-2020.png
index 6cf94e5..6cf94e5 100755
--- a/assets/posts/state-of-web/2008-vs-2020.png
+++ b/static/assets/posts/state-of-web/2008-vs-2020.png
Binary files differ
diff --git a/assets/posts/state-of-web/compiling-vs-transpiling.png b/static/assets/posts/state-of-web/compiling-vs-transpiling.png
index afd5000..afd5000 100755
--- a/assets/posts/state-of-web/compiling-vs-transpiling.png
+++ b/static/assets/posts/state-of-web/compiling-vs-transpiling.png
Binary files differ
diff --git a/assets/posts/valgrind-callgrind-svg/kcachegrind.png b/static/assets/posts/valgrind-callgrind-svg/kcachegrind.png
index ce27e87..ce27e87 100644
--- a/assets/posts/valgrind-callgrind-svg/kcachegrind.png
+++ b/static/assets/posts/valgrind-callgrind-svg/kcachegrind.png
Binary files differ
diff --git a/assets/posts/valgrind-callgrind-svg/out.c.svg b/static/assets/posts/valgrind-callgrind-svg/out.c.svg
index 8806756..8806756 100644
--- a/assets/posts/valgrind-callgrind-svg/out.c.svg
+++ b/static/assets/posts/valgrind-callgrind-svg/out.c.svg
diff --git a/assets/posts/valgrind-callgrind-svg/out.zig.svg b/static/assets/posts/valgrind-callgrind-svg/out.zig.svg
index 7a13d3b..7a13d3b 100644
--- a/assets/posts/valgrind-callgrind-svg/out.zig.svg
+++ b/static/assets/posts/valgrind-callgrind-svg/out.zig.svg
diff --git a/assets/posts/wap/emulator.mp4 b/static/assets/posts/wap/emulator.mp4
index e4f59aa..e4f59aa 100755
--- a/assets/posts/wap/emulator.mp4
+++ b/static/assets/posts/wap/emulator.mp4
Binary files differ
diff --git a/assets/posts/wap/phones.gif b/static/assets/posts/wap/phones.gif
index 15f99e2..15f99e2 100755
--- a/assets/posts/wap/phones.gif
+++ b/static/assets/posts/wap/phones.gif
Binary files differ
diff --git a/assets/posts/world-clock/enclosure.stl b/static/assets/posts/world-clock/enclosure.stl
index 99f3d1a..99f3d1a 100755
--- a/assets/posts/world-clock/enclosure.stl
+++ b/static/assets/posts/world-clock/enclosure.stl
Binary files differ
diff --git a/assets/posts/world-clock/hardware.jpg b/static/assets/posts/world-clock/hardware.jpg
index 315a04d..315a04d 100755
--- a/assets/posts/world-clock/hardware.jpg
+++ b/static/assets/posts/world-clock/hardware.jpg
Binary files differ
diff --git a/assets/posts/world-clock/world-clock.jpg b/static/assets/posts/world-clock/world-clock.jpg
index afdb6e2..afdb6e2 100755
--- a/assets/posts/world-clock/world-clock.jpg
+++ b/static/assets/posts/world-clock/world-clock.jpg
Binary files differ
diff --git a/assets/posts/yapyap/hello.png b/static/assets/posts/yapyap/hello.png
index d141cd3..d141cd3 100755
--- a/assets/posts/yapyap/hello.png
+++ b/static/assets/posts/yapyap/hello.png
Binary files differ
diff --git a/assets/posts/yapyap/pid1.jpg b/static/assets/posts/yapyap/pid1.jpg
index 99bc1d8..99bc1d8 100755
--- a/assets/posts/yapyap/pid1.jpg
+++ b/static/assets/posts/yapyap/pid1.jpg
Binary files differ
diff --git a/assets/posts/zed/zed-1.png b/static/assets/posts/zed/zed-1.png
index c4da2f6..c4da2f6 100755
--- a/assets/posts/zed/zed-1.png
+++ b/static/assets/posts/zed/zed-1.png
Binary files differ
diff --git a/assets/posts/zed/zed-2.png b/static/assets/posts/zed/zed-2.png
index 38ce72d..38ce72d 100755
--- a/assets/posts/zed/zed-2.png
+++ b/static/assets/posts/zed/zed-2.png
Binary files differ
diff --git a/assets/urls.txt b/static/assets/urls.txt
index fe02a65..fe02a65 100644
--- a/assets/urls.txt
+++ b/static/assets/urls.txt
diff --git a/templates/.gitkeep b/templates/.gitkeep
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/templates/.gitkeep
diff --git a/templates/base.html b/templates/base.html
new file mode 100755
index 0000000..b66174a
--- /dev/null
+++ b/templates/base.html
@@ -0,0 +1,165 @@
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 <title>{{ block "title" . }}{{ .Config.Title }}{{ end }}</title>
7 <meta name="description" content="{{ block "description" . }}{{ .Config.Description }}{{ end }}"/>
8 <link rel="alternate" type="application/rss+xml" href="{{ .Config.BaseURL }}/index.xml" />
9 <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" />
10 <style>
11 :root {
12 --body-max-width: 860px;
13 --link-color: blue;
14 --code-background: #f8f8f8;
15 --inline-code-background: #f2f2f2;
16 }
17
18 *::selection {
19 background: var(--link-color);
20 color: #ffffff;
21 }
22
23 *::-moz-selection {
24 background: var(--link-color);
25 color: #ffffff;
26 }
27
28 *::-webkit-selection {
29 background: var(--link-color);
30 color: #ffffff;
31 }
32
33 body {
34 padding: 2rem;
35 max-width: var(--body-max-width);
36 background: white;
37 font-family: sans-serif;
38 line-height: 1.4rem;
39 font-size: 16px;
40 display: flex;
41 flex-direction: column;
42 gap: 1em;
43 }
44
45 header nav {
46 display: flex;
47 gap: 1em;
48 }
49
50 h1, h2, h3 {
51 line-height: initial;
52 }
53
54 h1 {
55 font-size: xx-large;
56 }
57
58 cap { text-transform: capitalize; }
59 ul li { padding: 0.2em 0; }
60
61 pre {
62 text-wrap: nowrap;
63 overflow-x: auto;
64 padding: 1em;
65 background: var(--code-background)!important;
66 }
67
68 code {
69 font-family: monospace;
70 font-size: 14px;
71 padding: 2px 5px;
72 background: var(--inline-code-background)!important;
73 }
74
75 pre code {
76 background: transparent;
77 padding: initial;
78 }
79
80 figure {
81 margin-inline-start: 0;
82 margin-inline-end: 0;
83 }
84
85 figcaption {
86 width: var(--body-max-width);
87 max-width: 100%;
88 text-align: center;
89 }
90
91 figcaption p {
92 margin: 0.3em 0 1.5em 0;
93 font-style: italic;
94 }
95
96 img, video, audio {
97 width: var(--body-max-width);
98 max-width: 100%;
99 }
100
101 article iframe { /* fixes embeds going to center */
102 margin: 0!important;
103 }
104
105 audio::-webkit-media-controls-enclosure {
106 border-radius: 0;
107 }
108
109 pre { margin-block-start: 2em; margin-block-end: 2em; }
110 table { max-width: 100%; border: 1px solid black; }
111 table td, table th { padding: 0.3em; }
112
113 .promobox {
114 margin-top: 1em;
115 text-decoration: none;
116 max-width: 650px;
117 display: inline-block;
118 background: blue;
119 color: white;
120 padding: 1em;
121 }
122 .promobox:hover { text-decoration: underline; }
123
124 @media only screen and (max-width: 600px) {
125 body {
126 padding: 0.5em;
127 word-wrap: break-word;
128 }
129
130 header nav {
131 gap: 0.7rem;
132 }
133
134 a {
135 word-wrap: break-word;
136 }
137 }
138 </style>
139 <script defer src="https://app.tinyanalytics.io/pixel/isfRNEahfHiS2Ttp"></script>
140 </head>
141 <body>
142 <header>
143 <nav>
144 <a href="/">Home</a>
145 <a href="https://github.com/mitjafelicijan" target="_blank">Code</a>
146 <a href="/assets/mitjafelicijan.pgp.pub.txt">PGP</a>
147 <a href="/assets/urls.txt">Newsboat</a>
148 <a href="/curriculum-vitae.html">CV</a>
149 <a href="/feed.xml">RSS</a>
150 </nav>
151 </header>
152 <main>{{ block "content" . }}{{ end }}</main>
153 <footer>
154 <hr>
155 <p><big><strong>Want to comment or have something to add?</strong></big></p>
156 <p>
157 You can write me an email
158 at <a href="mailto:mitja.felicijan@gmail.com">mitja.felicijan@gmail.com</a> or
159 catch up with me <a href="https://telegram.me/mitjafelicijan" target="_blank">on Telegram</a>.
160 </p>
161 <hr>
162 <p><small>This page's is also available as <a href="/feed.xml" target="_blank">RSS feed</a>.</small></p>
163 </footer>
164 </body>
165</html>
diff --git a/templates/feed.xml b/templates/feed.xml
new file mode 100755
index 0000000..97507e2
--- /dev/null
+++ b/templates/feed.xml
@@ -0,0 +1,23 @@
1<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
2 <channel>
3 <title>{{ .Config.Title }}'s posts</title>
4 <link>{{ .Config.BaseURL }}</link>
5 <description>{{ .Config.Description }}</description>
6 <language>{{ .Config.Language }}</language>
7
8 {{ range $idx, $page := .Pages }}
9 {{ if or (eq $page.Type "post") (eq $page.Type "note") }}
10 {{ if not .Draft }}
11 <item>
12 <title>{{ $page.Title }}</title>
13 <link>{{ $.Config.BaseURL }}{{ $page.RelPermalink }}</link>
14 <pubDate>{{ $page.Created.Format "Mon, 02 Jan 2006 15:04:05 -0700" }}</pubDate>
15 <guid>{{ $.Config.BaseURL }}{{ $page.RelPermalink }}</guid>
16 <description>{{ $page.Summary }}</description>
17 <content:encoded>{{ $page.Raw }}</content:encoded>
18 </item>
19 {{ end }}
20 {{ end }}
21 {{ end }}
22 </channel>
23</rss>
diff --git a/templates/index.html b/templates/index.html
new file mode 100755
index 0000000..da06fd7
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,35 @@
1{{ template "base.html" . }}
2
3{{ define "content" }}
4<section>
5 <i>You do not learn by relaxing. You learn by violently assaulting your problem until it surrenders its mysteries to you.</i>
6</section>
7
8<a class="promobox" href="https://mitjafelicijan.github.io/binary-visualization/" target="_blank">
9 Examine graphical representations of binary files using diagrams that
10 illustrate connections between pairs of bytes (digraphs) and triplets
11 of bytes (trigraphs).
12</a>
13
14<section>
15 <h2>More long form, ramblings etc</h2>
16 <ul>
17 {{ range .Pages }}
18 {{ if and (eq .Type "post") (not .Draft) }}
19 <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
20 {{ end }}
21 {{ end }}
22 </ul>
23</section>
24
25<section>
26 <h2>Notes?! Maybe useful</h2>
27 <ul>
28 {{ range .Pages }}
29 {{ if and (eq .Type "note") (not .Draft) }}
30 <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
31 {{ end }}
32 {{ end }}
33 </ul>
34</section>
35{{ end }}
diff --git a/templates/note.html b/templates/note.html
new file mode 100755
index 0000000..5289a5e
--- /dev/null
+++ b/templates/note.html
@@ -0,0 +1,14 @@
1{{ template "base.html" . }}
2
3{{ define "title" }}{{ .Page.Title }}{{ end }}
4{{ define "description" }}{{ .Page.Summary }}{{ end }}
5
6{{ define "content" }}
7<div>
8 <h1>{{ .Page.Title }}</h1>
9 <p><cap>{{ .Page.Type }}</cap>, {{ .Page.Created.Format "Jan 2, 2006" }}, on <a href="{{ .Config.BaseURL }}">{{ .Config.Title }}'s blog</a></p>
10 <div>
11 {{ .Page.HTML }}
12 </div>
13</div>
14{{ end }}
diff --git a/templates/page.html b/templates/page.html
new file mode 100644
index 0000000..7ee5219
--- /dev/null
+++ b/templates/page.html
@@ -0,0 +1,13 @@
1{{ template "base.html" . }}
2
3{{ define "title" }}{{ .Page.Title }}{{ end }}
4{{ define "description" }}{{ .Page.Summary }}{{ end }}
5
6{{ define "content" }}
7<div>
8 <h1>{{ .Page.Title }}</h1>
9 <div>
10 {{ .Page.HTML }}
11 </div>
12</div>
13{{ end }}
diff --git a/templates/post.html b/templates/post.html
new file mode 100755
index 0000000..1ed852c
--- /dev/null
+++ b/templates/post.html
@@ -0,0 +1,14 @@
1{{ template "base.html" . }}
2
3{{ define "title" }}{{ .Page.Title }}{{ end }}
4{{ define "description" }}{{ .Page.Summary }}{{ end }}
5
6{{ define "content" }}
7<section>
8 <h1>{{ .Page.Title }}</h1>
9 <p><cap>{{ .Page.Type }}</cap>, {{ .Page.Created.Format "Jan 2, 2006" }}, on <a href="{{ .Config.BaseURL }}">{{ .Config.Title }}'s blog</a></p>
10 <div>
11 {{ .Page.HTML }}
12 </div>
13</section>
14{{ end }}
diff --git a/templates/robots.txt b/templates/robots.txt
new file mode 100644
index 0000000..c2a49f4
--- /dev/null
+++ b/templates/robots.txt
@@ -0,0 +1,2 @@
1User-agent: *
2Allow: /
diff --git a/templates/sitemap.xml b/templates/sitemap.xml
new file mode 100644
index 0000000..4d2617c
--- /dev/null
+++ b/templates/sitemap.xml
@@ -0,0 +1,12 @@
1<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
2 {{ range $idx, $page := .Pages }}
3 {{ if or (eq $page.Type "post") (eq $page.Type "note") }}
4 {{ if not .Draft }}
5 <url>
6 <loc>{{ $.Config.BaseURL }}{{ $page.RelPermalink }}</loc>
7 <lastmod>{{ $page.Created.Format "2006-01-02T15:04:05" }}+00:00</lastmod>
8 </url>
9 {{ end }}
10 {{ end }}
11 {{ end }}
12</urlset>
diff --git a/vault.md b/vault.md
deleted file mode 100644
index a9736ad..0000000
--- a/vault.md
+++ /dev/null
@@ -1,417 +0,0 @@
1---
2title: Personal vault
3date: 2022-08-27T12:00:00+02:00
4permalink: /vault.html
5layout: page
6type: page
7draft: false
8---
9
10## Hi traveler!
11
12This curated compilation functions as a dedicated repository where I house an
13assortment of captivating and noteworthy items I've amassed over the years.
14
15Additionally, it serves as a secure haven for preserving binaries and assorted
16assets associated with my personal projects, ensuring easy access and
17organization.
18
19Be kind, this server is bandwidth limited.
20
21*Good luck!*
22
23---
24
25- audiobooks
26 - [h-g-wells-the-time-machine.ogg](https://mitjafelicijan.fra1.digitaloceanspaces.com/audiobooks/h-g-wells-the-time-machine.ogg)
27 - [philip-francis-nowlan-armageddon-2419-a-d.mp3](https://mitjafelicijan.fra1.digitaloceanspaces.com/audiobooks/philip-francis-nowlan-armageddon-2419-a-d.mp3)
28 - [philip-francis-nowlan-the-airlords-of-han.mp3](https://mitjafelicijan.fra1.digitaloceanspaces.com/audiobooks/philip-francis-nowlan-the-airlords-of-han.mp3)
29- books
30 - [An Introduction to Emacs Lisp Programming.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/An Introduction to Emacs Lisp Programming.pdf)
31 - [Civilized to Death.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/Civilized to Death.pdf)
32 - [Common Sense.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/Common Sense.pdf)
33 - [GNU C Language Introduction.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/GNU C Language Introduction.pdf)
34 - [History of UNIX programs, sycalls, etc.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/History of UNIX programs, sycalls, etc.pdf)
35 - [Ragel State Machine Compiler - User Guide.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/Ragel State Machine Compiler - User Guide.pdf)
36 - [The Maiden Who Travels The Planet.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/The Maiden Who Travels The Planet.pdf)
37 - [The UNIX-HATERS Handbook.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/books/The UNIX-HATERS Handbook.pdf)
38- essays
39 - [Bumbleton.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/essays/Bumbleton.pdf)
40 - [Bumbleton.tex](https://mitjafelicijan.fra1.digitaloceanspaces.com/essays/Bumbleton.tex)
41 - [Lorna the geologist.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/essays/Lorna the geologist.pdf)
42 - [Lorna the geologist.tex](https://mitjafelicijan.fra1.digitaloceanspaces.com/essays/Lorna the geologist.tex)
43- haphazard
44 - [acme.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/acme.pdf)
45 - [antfarm.jpg](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/antfarm.jpg)
46 - [ape.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ape.pdf)
47 - [asciitable.txt](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/asciitable.txt)
48 - [bakingonagrill.jpg](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/bakingonagrill.jpg)
49 - [carules.png](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/carules.png)
50 - [ccompiler.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ccompiler.pdf)
51 - [cellularintro.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/cellularintro.pdf)
52 - [changeresolution.txt](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/changeresolution.txt)
53 - [cord.h](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/cord.h)
54 - [dunescrescent.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/dunescrescent.mp4)
55 - [elisp.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/elisp.pdf)
56 - [ewd-manuscripts.epub](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ewd-manuscripts.epub)
57 - [ewd-manuscripts.mobi](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ewd-manuscripts.mobi)
58 - [ewd831.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ewd831.pdf)
59 - [graphca.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/graphca.pdf)
60 - [inspectorclay.jpg](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/inspectorclay.jpg)
61 - [kaczynski2.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/kaczynski2.pdf)
62 - [marionette.gif](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/marionette.gif)
63 - [mk.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/mk.pdf)
64 - [ncc-1701-a-engine-noise.ogg](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ncc-1701-a-engine-noise.ogg)
65 - [ownership-check-for-c.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/ownership-check-for-c.pdf)
66 - [p9assembler.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/p9assembler.pdf)
67 - [p9fileserver.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/p9fileserver.pdf)
68 - [p9mkfiles.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/p9mkfiles.pdf)
69 - [p9whub.go](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/p9whub.go)
70 - [plan9.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/plan9.pdf)
71 - [plantsystems.jpg](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/plantsystems.jpg)
72 - [rcshell.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/rcshell.pdf)
73 - [rule126.png](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/rule126.png)
74 - [runonqemu.txt](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/runonqemu.txt)
75 - [shred.go](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/shred.go)
76 - [simulator.go](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/simulator.go)
77 - [standard-ml.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/standard-ml.pdf)
78 - [staticserver.txt](https://mitjafelicijan.fra1.digitaloceanspaces.com/haphazard/staticserver.txt)
79- [neptune](https://mitjafelicijan.fra1.digitaloceanspaces.com/neptune)
80- papers
81 - affective-computing
82 - [Theories-Methods-and-Current-Research-on-Emotions.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/affective-computing/Theories-Methods-and-Current-Research-on-Emotions.pdf)
83 - [affective-computing.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/affective-computing/affective-computing.pdf)
84 - api_design
85 - [api-design.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/api_design/api-design.pdf)
86 - artificial-intelligence
87 - [3-bayesian-network-inference-algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/artificial-intelligence/3-bayesian-network-inference-algorithm.pdf)
88 - [efficient-selectivity-and-backup-operators-in-monte-carlo-tree-search.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/artificial-intelligence/efficient-selectivity-and-backup-operators-in-monte-carlo-tree-search.pdf)
89 - audio-comp-sci
90 - [an-ethnographic-and-technological-study-of-breakbeats.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/audio-comp-sci/an-ethnographic-and-technological-study-of-breakbeats.pdf)
91 - [essentia.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/audio-comp-sci/essentia.pdf)
92 - [marsyas.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/audio-comp-sci/marsyas.pdf)
93 - [real-time-chord-detection.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/audio-comp-sci/real-time-chord-detection.pdf)
94 - [shazam-audio-search-algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/audio-comp-sci/shazam-audio-search-algorithm.pdf)
95 - caching
96 - [2q-a-low-overhead-high-performance-buffer-management-replacement-algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/caching/2q-a-low-overhead-high-performance-buffer-management-replacement-algorithm.pdf)
97 - [a-constant-algorithm-for-implementing-the-lfu-cache-eviction-scheme.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/caching/a-constant-algorithm-for-implementing-the-lfu-cache-eviction-scheme.pdf)
98 - [a-program-optimization-for-automatic-database-result-caching.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/caching/a-program-optimization-for-automatic-database-result-caching.pdf)
99 - comp-sci-fundamentals-and-history
100 - [axiomatic-basis-computer-programming.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/comp-sci-fundamentals-and-history/axiomatic-basis-computer-programming.pdf)
101 - [early-lisp-history-1956-1959-herbert-stoyan-html-rendering.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/comp-sci-fundamentals-and-history/early-lisp-history-1956-1959-herbert-stoyan-html-rendering.pdf)
102 - [hints-for-computer-system-design.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/comp-sci-fundamentals-and-history/hints-for-computer-system-design.pdf)
103 - [recursive-functions-of-symbolic-expressions-and-their-computation-by-machine-parti.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/comp-sci-fundamentals-and-history/recursive-functions-of-symbolic-expressions-and-their-computation-by-machine-parti.pdf)
104 - [story-of-squeak-a-practical-smalltalk-written-in-itself.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/comp-sci-fundamentals-and-history/story-of-squeak-a-practical-smalltalk-written-in-itself.pdf)
105 - computational-creativity
106 - [mexica-a-computer-model-of-a-cognitive-account-of-creativing-writing.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/computational-creativity/mexica-a-computer-model-of-a-cognitive-account-of-creativing-writing.pdf)
107 - computer-education
108 - [framework-for-automated-generation-of-questions-across-formal-domains.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/computer-education/framework-for-automated-generation-of-questions-across-formal-domains.pdf)
109 - computer-graphics
110 - [digital_video_stabilization_and_rolling_shutter_correction_using_gyroscopes.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/computer-graphics/digital_video_stabilization_and_rolling_shutter_correction_using_gyroscopes.pdf)
111 - [imaging_vector_fields_using_line_integral_convolution.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/computer-graphics/imaging_vector_fields_using_line_integral_convolution.pdf)
112 - [pushpull++.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/computer-graphics/pushpull++.pdf)
113 - cryptography
114 - [communication-theory-of-secrecy-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/cryptography/communication-theory-of-secrecy-systems.pdf)
115 - [ntru-prime.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/cryptography/ntru-prime.pdf)
116 - data-compression
117 - [Error-Controlled_Lossy_Compression_Optimized_for_High_Compression_Ratios_of_Scientific_Datasets.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/Error-Controlled_Lossy_Compression_Optimized_for_High_Compression_Ratios_of_Scientific_Datasets.pdf)
118 - [Significantly_Improving_Lossy_Compression_for_Scientific_Data_Sets_Based_on_Multidimensional_Prediction_and_Error-Controlled_Quantization.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/Significantly_Improving_Lossy_Compression_for_Scientific_Data_Sets_Based_on_Multidimensional_Prediction_and_Error-Controlled_Quantization.pdf)
119 - [data-compression.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/data-compression.pdf)
120 - [fast_error_bounded_Lossy_hpc_data_compression_with_sz.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/fast_error_bounded_Lossy_hpc_data_compression_with_sz.pdf)
121 - [fixed-rate_compressed_floating_point_arrays.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/fixed-rate_compressed_floating_point_arrays.pdf)
122 - [fpc_a_high_speed_compressor_for_double_precision_floating_point_data.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-compression/fpc_a_high_speed_compressor_for_double_precision_floating_point_data.pdf)
123 - data-fusion
124 - [a-new-approach-to-linear-filtering-and-prediction-problems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-fusion/a-new-approach-to-linear-filtering-and-prediction-problems.pdf)
125 - data-replication
126 - [a-comprehensive-study-of-convergent-and-communative-replicated-data-types.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-replication/a-comprehensive-study-of-convergent-and-communative-replicated-data-types.pdf)
127 - data-science
128 - [tidy_data.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-science/tidy_data.pdf)
129 - data-structures
130 - [b-trees-write-optimization.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-structures/b-trees-write-optimization.pdf)
131 - [epidemic-broadcast-trees.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-structures/epidemic-broadcast-trees.pdf)
132 - [ideal-hash-trees.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-structures/ideal-hash-trees.pdf)
133 - [lca-revisited.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-structures/lca-revisited.pdf)
134 - [level-ancestor-simplified.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/data-structures/level-ancestor-simplified.pdf)
135 - datastores
136 - [bigtable-a-distributed-storage-system-for-structured-data.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/bigtable-a-distributed-storage-system-for-structured-data.pdf)
137 - [database-metatheory--asking-the-big-queries.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/database-metatheory--asking-the-big-queries.pdf)
138 - [dynamo-amazons-highly-available-key-value-store.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/dynamo-amazons-highly-available-key-value-store.pdf)
139 - [elle-inferring-isolation-anomalies-from-experimental-observations.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/elle-inferring-isolation-anomalies-from-experimental-observations.pdf)
140 - [flat-datacenter-storage.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/flat-datacenter-storage.pdf)
141 - [freenet-a-distributed-anonymous-information-and-retrieval-system.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/freenet-a-distributed-anonymous-information-and-retrieval-system.pdf)
142 - [megastore-providing-scalable-highly-available-storage-for-interactive-services.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/megastore-providing-scalable-highly-available-storage-for-interactive-services.pdf)
143 - [network-challenges-of-data-recovery-in-erasure-coded-distributed-storage-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/network-challenges-of-data-recovery-in-erasure-coded-distributed-storage-systems.pdf)
144 - [rados-a-scalable-reliable-storage-service-for-petabyte-scale-storage-clusters.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/rados-a-scalable-reliable-storage-service-for-petabyte-scale-storage-clusters.pdf)
145 - [spanner-google's-globally-distributed-database.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/spanner-google's-globally-distributed-database.pdf)
146 - [spartan-a-distributed-array-framework-with-smart-tiling.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/spartan-a-distributed-array-framework-with-smart-tiling.pdf)
147 - [stasis-flexible-transactional-storage.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/stasis-flexible-transactional-storage.pdf)
148 - [tao-facebook-distributed-datastore.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/tao-facebook-distributed-datastore.pdf)
149 - [the-google-file-system.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/the-google-file-system.pdf)
150 - [transactional-storage-for-geo-replicated-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/transactional-storage-for-geo-replicated-systems.pdf)
151 - [warp-multi-key-transactions-for-key-value-stores.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/datastores/warp-multi-key-transactions-for-key-value-stores.pdf)
152 - design
153 - [out-of-the-tar-pit.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/design/out-of-the-tar-pit.pdf)
154 - digital-currency
155 - [bitcoin.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/digital-currency/bitcoin.pdf)
156 - [peercoin.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/digital-currency/peercoin.pdf)
157 - [primecoin.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/digital-currency/primecoin.pdf)
158 - distributed-systems
159 - [a-history-of-the-virtual-synchrony-replication-model.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-history-of-the-virtual-synchrony-replication-model.pdf)
160 - [a-hundred-impossibility-proofs-for-distributed-computing.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-hundred-impossibility-proofs-for-distributed-computing.pdf)
161 - [a-note-on-distributed-computing.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-note-on-distributed-computing.pdf)
162 - [a-response-to-cheriton-and-skeens-criticism-of-causal-and-totally-ordered-communication.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-response-to-cheriton-and-skeens-criticism-of-causal-and-totally-ordered-communication.pdf)
163 - [a-universal-modular-actor-formalism-for-artificial-intelligence.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-universal-modular-actor-formalism-for-artificial-intelligence.pdf)
164 - [a-versatile-scheme-for-routing-highly-variable-traffic-in-service-overlays-and-ip.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/a-versatile-scheme-for-routing-highly-variable-traffic-in-service-overlays-and-ip.pdf)
165 - [beehive-lookup-performance-for-power-law-query-distributions-in-peer-to-peer-overlays.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/beehive-lookup-performance-for-power-law-query-distributions-in-peer-to-peer-overlays.pdf)
166 - [brewers-conjecture.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/brewers-conjecture.pdf)
167 - [byzantine-chain-replication.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/byzantine-chain-replication.pdf)
168 - [byzantine-fault-tolerant-distributed-commit-protocol.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/byzantine-fault-tolerant-distributed-commit-protocol.pdf)
169 - [chain-replication-for-supporting-high-throughput-and-availability.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/chain-replication-for-supporting-high-throughput-and-availability.pdf)
170 - [commodifying-replicated-state-machines-with-openreplica.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/commodifying-replicated-state-machines-with-openreplica.pdf)
171 - [consensus-in-presence-of-partial-synchrony.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/consensus-in-presence-of-partial-synchrony.pdf)
172 - [consistent-global-states-of-distributed-systems-fundamental-concepts-and-mechanisms.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/consistent-global-states-of-distributed-systems-fundamental-concepts-and-mechanisms.pdf)
173 - [consistent-hashing-and-random-trees.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/consistent-hashing-and-random-trees.pdf)
174 - [copysets-reducing-the-frequency-of-data-loss-in-cloud-storage.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/copysets-reducing-the-frequency-of-data-loss-in-cloud-storage.pdf)
175 - [dapper-a-large-scale-distributed-tracing-infrastructure.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/dapper-a-large-scale-distributed-tracing-infrastructure.pdf)
176 - [distributed-snapshots-determining-global-states-of-distributed-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/distributed-snapshots-determining-global-states-of-distributed-systems.pdf)
177 - [eluding-carnivores-file-sharing-with-strong-anonymity.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/eluding-carnivores-file-sharing-with-strong-anonymity.pdf)
178 - [end-to-end-arguments-in-system-design.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/end-to-end-arguments-in-system-design.pdf)
179 - [epidemic-algorithms-for-replicated-database-maintenance.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/epidemic-algorithms-for-replicated-database-maintenance.pdf)
180 - [harvest-yield-and-scalable-tolerant-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/harvest-yield-and-scalable-tolerant-systems.pdf)
181 - [herbivore-a-scalable-and-efficient-protocol-for-anonymous.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/herbivore-a-scalable-and-efficient-protocol-for-anonymous.pdf)
182 - [high-level-specifications--lessons-from-industry.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/high-level-specifications--lessons-from-industry.pdf)
183 - [how-the-hidden-hand-shapes-the-market-for-software-reliability.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/how-the-hidden-hand-shapes-the-market-for-software-reliability.pdf)
184 - [implementing-the-omega-failure-detector-in-crash-recovery-failure-model.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/implementing-the-omega-failure-detector-in-crash-recovery-failure-model.pdf)
185 - [impossibility-of-consensus-with-one-faulty-process.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/impossibility-of-consensus-with-one-faulty-process.pdf)
186 - [in-search-of-an-understandable-consensus-algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/in-search-of-an-understandable-consensus-algorithm.pdf)
187 - [ironFleet-proving-practical-distributed-systems-correct.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/ironFleet-proving-practical-distributed-systems-correct.pdf)
188 - [join-calculus.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/join-calculus.pdf)
189 - [kelips-building-an-efficient-and-stable-p2p-dht-through-increased-memory-and-background-overhead.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/kelips-building-an-efficient-and-stable-p2p-dht-through-increased-memory-and-background-overhead.pdf)
190 - [large-scale-incremental-processing-using-distributed-transactions-and-notifications.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/large-scale-incremental-processing-using-distributed-transactions-and-notifications.pdf)
191 - [life-beyond-distributed-transactions-an-apostates-opinion.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/life-beyond-distributed-transactions-an-apostates-opinion.pdf)
192 - [mapreduce-simplified-data-processing-on-large-clusters.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/mapreduce-simplified-data-processing-on-large-clusters.pdf)
193 - [mesos-a-platform-for-fine-grained-resource-sharing-in-the-data-center.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/mesos-a-platform-for-fine-grained-resource-sharing-in-the-data-center.pdf)
194 - [oblivious-routing-of-highly-variable-traffic-in-service-overlays-and-ip-backbones.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/oblivious-routing-of-highly-variable-traffic-in-service-overlays-and-ip-backbones.pdf)
195 - [on-proof-and-progress-in-mathematics.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/on-proof-and-progress-in-mathematics.pdf)
196 - [p5-a-protocal-for-scalable-anonymous-communication.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/p5-a-protocal-for-scalable-anonymous-communication.pdf)
197 - [pastry-scalable-decentralized-object-location-and-routing-for-large-scale-peer-to-peer-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/pastry-scalable-decentralized-object-location-and-routing-for-large-scale-peer-to-peer-systems.pdf)
198 - [paxos-made-moderately-complex.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/paxos-made-moderately-complex.pdf)
199 - [paxos-made-simple.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/paxos-made-simple.pdf)
200 - [self-stabilizing-systems-in-spite-of-distributed-control.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/self-stabilizing-systems-in-spite-of-distributed-control.pdf)
201 - [sift-design-and-analysis-of-a-fault-tolerant-computer-for-aircraft-contro.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/sift-design-and-analysis-of-a-fault-tolerant-computer-for-aircraft-contro.pdf)
202 - [signal-&-collect-graph-algorithms-for-the-(semantic)-web.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/signal-&-collect-graph-algorithms-for-the-(semantic)-web.pdf)
203 - [simple-testing-can-prevent-most-critical-failures.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/simple-testing-can-prevent-most-critical-failures.pdf)
204 - [solution-of-a-problem-in-concurrent-programming-control.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/solution-of-a-problem-in-concurrent-programming-control.pdf)
205 - [sparse-partitions.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/sparse-partitions.pdf)
206 - [stronger-semantics-for-low-latency-geo-replicated-storage.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/stronger-semantics-for-low-latency-geo-replicated-storage.pdf)
207 - [the-akamai-network.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/the-akamai-network.pdf)
208 - [the-chubby-lock-service-for-loosely-coupled-distributed-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/the-chubby-lock-service-for-loosely-coupled-distributed-systems.pdf)
209 - [the-dining-cryptographers-problem.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/the-dining-cryptographers-problem.pdf)
210 - [tiered-replication-a-cost-effective-alternative-to-full-cluster-geo-replication.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/tiered-replication-a-cost-effective-alternative-to-full-cluster-geo-replication.pdf)
211 - [tor-the-second-generation-onion-router.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/tor-the-second-generation-onion-router.pdf)
212 - [towards-a-cloud-computing-research-agenda.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/towards-a-cloud-computing-research-agenda.pdf)
213 - [understanding-the-limitations-of-causally-and-totally-ordered-communication.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/understanding-the-limitations-of-causally-and-totally-ordered-communication.pdf)
214 - [viewing-control-structures-as-patterns-of-passing-messages.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/viewing-control-structures-as-patterns-of-passing-messages.pdf)
215 - [zab-high-performance-broadcast-for-primary-backup-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/zab-high-performance-broadcast-for-primary-backup-systems.pdf)
216 - [zookeeper-wait-free-coordination-for-internet-scale-systems.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/distributed-systems/zookeeper-wait-free-coordination-for-internet-scale-systems.pdf)
217 - economics
218 - [online-ad-auctions.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/economics/online-ad-auctions.pdf)
219 - experimental-algorithmics
220 - [a-theoreticians-guide-to-the-experimental-analysis-of-algorithms.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/experimental-algorithmics/a-theoreticians-guide-to-the-experimental-analysis-of-algorithms.pdf)
221 - faults-and-verification
222 - [epitaxis-a-system-for-syntactic-and-semantic-software-queries.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/faults-and-verification/epitaxis-a-system-for-syntactic-and-semantic-software-queries.pdf)
223 - gamification
224 - [gamification-in-education-what-how-why-bother.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/gamification/gamification-in-education-what-how-why-bother.pdf)
225 - [why-students-engage-in-gaming-the-system-behavior-in-interactive-learning-environments.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/gamification/why-students-engage-in-gaming-the-system-behavior-in-interactive-learning-environments.pdf)
226 - garbage-collection
227 - [incremental_mature_garbage_collection_using_the_train_algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/garbage-collection/incremental_mature_garbage_collection_using_the_train_algorithm.pdf)
228 - [parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/garbage-collection/parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf)
229 - [the_lisp_ii_garbage_collector.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/garbage-collection/the_lisp_ii_garbage_collector.pdf)
230 - information-retrieval
231 - [authoritative-sources-in-a-hyperlinked-environment.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/information-retrieval/authoritative-sources-in-a-hyperlinked-environment.pdf)
232 - [graph_of_word_and_tw_idf.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/information-retrieval/graph_of_word_and_tw_idf.pdf)
233 - [okapi-at-trec3.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/information-retrieval/okapi-at-trec3.pdf)
234 - [the-pagerank-citation-ranking-bringing-order-to-the-web.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/information-retrieval/the-pagerank-citation-ranking-bringing-order-to-the-web.pdf)
235 - information-theory
236 - [a-mathematical-theory-of-communication-1948.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/information-theory/a-mathematical-theory-of-communication-1948.pdf)
237 - languages-paradigms
238 - functional_programming
239 - [concatenative-programming-an-overlooked-paradigm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/concatenative-programming-an-overlooked-paradigm.pdf)
240 - [equal-rights-for-functional-objects.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/equal-rights-for-functional-objects.pdf)
241 - [functional-programming-with-bananas-lenses-envelops-and-barbed-wire.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/functional-programming-with-bananas-lenses-envelops-and-barbed-wire.pdf)
242 - [optimal-purely-functional-priority-queues.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/optimal-purely-functional-priority-queues.pdf)
243 - [organizing-programs-without-classes.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/organizing-programs-without-classes.pdf)
244 - [purely-functional-data-structures.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/purely-functional-data-structures.pdf)
245 - [why-functional-programming-matters.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_programming/why-functional-programming-matters.pdf)
246 - functional_reactive_programming
247 - [a-survey-of-functional-reactive-programming.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_reactive_programming/a-survey-of-functional-reactive-programming.pdf)
248 - [deprecating-the observer-pattern.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_reactive_programming/deprecating-the observer-pattern.pdf)
249 - [frp-in-plt-scheme.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_reactive_programming/frp-in-plt-scheme.pdf)
250 - [functional-reactive-animation.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_reactive_programming/functional-reactive-animation.pdf)
251 - [ray-integrating-rx-and-async-for-direct-style-reactive-streams.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/functional_reactive_programming/ray-integrating-rx-and-async-for-direct-style-reactive-streams.pdf)
252 - new_paradigms
253 - [cognitive-computing-programming-paradigm-corelet-language.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-paradigms/new_paradigms/cognitive-computing-programming-paradigm-corelet-language.pdf)
254 - languages-theory
255 - [composable-and-compilable-macros-you-want-it-when.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/composable-and-compilable-macros-you-want-it-when.pdf)
256 - [fundamental-concepts-in-programming-languages.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/fundamental-concepts-in-programming-languages.pdf)
257 - [on-understanding-types-data-abstraction-polymorphism.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/on-understanding-types-data-abstraction-polymorphism.pdf)
258 - [predicate-dispatching.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/predicate-dispatching.pdf)
259 - [principal-type-schemes-for-functional-programs.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/principal-type-schemes-for-functional-programs.pdf)
260 - [programming-languages-application-and-interpretation.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/programming-languages-application-and-interpretation.pdf)
261 - [propositions-as-types.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/propositions-as-types.pdf)
262 - [the-derivative-of-a-regular-type-one-hole-contexts.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/the-derivative-of-a-regular-type-one-hole-contexts.pdf)
263 - [theory-in-programming-practice.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages-theory/theory-in-programming-practice.pdf)
264 - languages
265 - clojure
266 - [a-practical-optional-type-system-for-clojure.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/clojure/a-practical-optional-type-system-for-clojure.pdf)
267 - haskell
268 - [a-poor-mans-concurrency-monad.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/haskell/a-poor-mans-concurrency-monad.pdf)
269 - [making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/haskell/making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf)
270 - [tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/haskell/tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf)
271 - [scp91-felleisen.ps.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/scp91-felleisen.ps.gz)
272 - smalltalk
273 - [Design-Principles-Behind-Smalltalk.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/smalltalk/Design-Principles-Behind-Smalltalk.pdf)
274 - [The-Early-History-Of-Smalltalk.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/languages/smalltalk/The-Early-History-Of-Smalltalk.pdf)
275 - logic-and-programming
276 - [event-calculus.txt](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/logic-and-programming/event-calculus.txt)
277 - [on-the-meanings-of-the-logical-constants.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/logic-and-programming/on-the-meanings-of-the-logical-constants.pdf)
278 - [representing-game-dialogue-as-expressions-in-first-order-logic.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/logic-and-programming/representing-game-dialogue-as-expressions-in-first-order-logic.pdf)
279 - machine-learning
280 - [General-self-similarity--an-overview.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/machine-learning/General-self-similarity--an-overview.pdf)
281 - [Understanding-Deep-Convolutional-Networks.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/machine-learning/Understanding-Deep-Convolutional-Networks.pdf)
282 - dimensionality_reduction
283 - [a-sparse-johnson-lindenstrauss-transform.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/machine-learning/dimensionality_reduction/a-sparse-johnson-lindenstrauss-transform.pdf)
284 - [toward-a-unified-theory-of-sparse-dimensionality-reduction-in-euclidean-space.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/machine-learning/dimensionality_reduction/toward-a-unified-theory-of-sparse-dimensionality-reduction-in-euclidean-space.pdf)
285 - mathematics
286 - [from-dominoes-to-hexagons.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/mathematics/from-dominoes-to-hexagons.pdf)
287 - [graph-isomorphism-and-representation-theory.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/mathematics/graph-isomorphism-and-representation-theory.pdf)
288 - [intro-to-tropical-algebraic-geometry.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/mathematics/intro-to-tropical-algebraic-geometry.pdf)
289 - [tilings.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/mathematics/tilings.pdf)
290 - [transcendence-of-pi.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/mathematics/transcendence-of-pi.pdf)
291 - memory-management
292 - [making-lockless-synchronization-fast.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/memory-management/making-lockless-synchronization-fast.pdf)
293 - [scatteralloc-massively-parallel-dynamic-memory-allocation-for-the-gpu.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/memory-management/scatteralloc-massively-parallel-dynamic-memory-allocation-for-the-gpu.pdf)
294 - non-blocking-algorithms
295 - [a-wait-free-queue-as-fast-as-fetch-and-add.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/non-blocking-algorithms/a-wait-free-queue-as-fast-as-fetch-and-add.pdf)
296 - [a-wait-free-stack.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/non-blocking-algorithms/a-wait-free-stack.pdf)
297 - [efficient-lock-free-b+trees.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/non-blocking-algorithms/efficient-lock-free-b+trees.pdf)
298 - operating-systems
299 - [jails-confining-the-omnipotent-root..pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/operating-systems/jails-confining-the-omnipotent-root..pdf)
300 - [solaris-zones-operating-system-support-for-consolidating-commercial-workloads.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/operating-systems/solaris-zones-operating-system-support-for-consolidating-commercial-workloads.pdf)
301 - [therac.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/operating-systems/therac.pdf)
302 - [unix-time-sharing-system.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/operating-systems/unix-time-sharing-system.pdf)
303 - pattern-matching
304 - [aho-corasick-string-matching.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/pattern-matching/aho-corasick-string-matching.pdf)
305 - [compiling-pattern-matching-to-good-decision-trees.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/pattern-matching/compiling-pattern-matching-to-good-decision-trees.pdf)
306 - [extensible-pattern-matching-extensible-language.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/pattern-matching/extensible-pattern-matching-extensible-language.pdf)
307 - [warnings-for-pattern-matching.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/pattern-matching/warnings-for-pattern-matching.pdf)
308 - physics
309 - [buridans-principle.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/physics/buridans-principle.pdf)
310 - [on-the-attraction-of-two-perfectly-conducting-plates.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/physics/on-the-attraction-of-two-perfectly-conducting-plates.pdf)
311 - [on-the-electrodynamics-of-moving-bodies.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/physics/on-the-electrodynamics-of-moving-bodies.pdf)
312 - processes
313 - [communicating-sequential-processes-paper.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/processes/communicating-sequential-processes-paper.pdf)
314 - [communicating-sequential-processes.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/processes/communicating-sequential-processes.pdf)
315 - quantum-computing
316 - [advance_in_quantum_machine_learning.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/quantum-computing/advance_in_quantum_machine_learning.pdf)
317 - [grovers_algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/quantum-computing/grovers_algorithm.pdf)
318 - [shors_algorithm.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/quantum-computing/shors_algorithm.pdf)
319 - security
320 - [ids-evasion-ptacek-newsham.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/security/ids-evasion-ptacek-newsham.pdf)
321 - [macaroons-cookies-with-contextual-caveats.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/security/macaroons-cookies-with-contextual-caveats.pdf)
322 - [sok-eternal-war-in-memory.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/security/sok-eternal-war-in-memory.pdf)
323 - software-engineering-orgs
324 - [common-ground-and-coordination-in-joint-activity.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/software-engineering-orgs/common-ground-and-coordination-in-joint-activity.pdf)
325 - sports-analytics
326 - [2014-ssac-pointwise-predicting-points-and-valuing-decisions-in-real-time.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/sports-analytics/2014-ssac-pointwise-predicting-points-and-valuing-decisions-in-real-time.pdf)
327 - sublinear-algorithms
328 - [1985-Flajolet-Probabilistic-counting.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/sublinear-algorithms/1985-Flajolet-Probabilistic-counting.pdf)
329 - [An-Elementary-Proof-of-a-Theorem-of-Johnson-and-Lindenstrauss.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/sublinear-algorithms/An-Elementary-Proof-of-a-Theorem-of-Johnson-and-Lindenstrauss.pdf)
330 - systematic-review
331 - [systematic-review-in-software-engineering.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/systematic-review/systematic-review-in-software-engineering.pdf)
332 - time-series
333 - [operators-on-inhomogeneous-time-series.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/time-series/operators-on-inhomogeneous-time-series.pdf)
334 - [ts-asap.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/time-series/ts-asap.pdf)
335 - virtual-machines
336 - [kvm-linux-virtual-machines-monitor.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/virtual-machines/kvm-linux-virtual-machines-monitor.pdf)
337 - [live-migration-of-virtual-machines.pdf](https://mitjafelicijan.fra1.digitaloceanspaces.com/papers/virtual-machines/live-migration-of-virtual-machines.pdf)
338- public-projects
339 - alternator
340 - [alternator-1.0.0-linux-amd64.md](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/alternator/alternator-1.0.0-linux-amd64.md)
341 - [alternator-1.0.0-linux-amd64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/alternator/alternator-1.0.0-linux-amd64.tar.gz)
342 - [alternator-1.0.0-linux-arm64.md](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/alternator/alternator-1.0.0-linux-arm64.md)
343 - [alternator-1.0.0-linux-arm64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/alternator/alternator-1.0.0-linux-arm64.tar.gz)
344 - errand
345 - [errand-0.1.0-darwin-arm64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-darwin-arm64.md5)
346 - [errand-0.1.0-darwin-arm64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-darwin-arm64.tar.gz)
347 - [errand-0.1.0-linux-amd64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-linux-amd64.md5)
348 - [errand-0.1.0-linux-amd64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-linux-amd64.tar.gz)
349 - [errand-0.1.0-linux-arm64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-linux-arm64.md5)
350 - [errand-0.1.0-linux-arm64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/errand/errand-0.1.0-linux-arm64.tar.gz)
351 - jbmafp
352 - [jbmafp-v0.1.tar.xz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/jbmafp/jbmafp-v0.1.tar.xz)
353 - [jbmafp-v0.1.zip](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/jbmafp/jbmafp-v0.1.zip)
354 - simpleapi
355 - [sapi-0.1.0-darwin-amd64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-darwin-amd64.md5)
356 - [sapi-0.1.0-darwin-amd64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-darwin-amd64.tar.gz)
357 - [sapi-0.1.0-darwin-arm64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-darwin-arm64.md5)
358 - [sapi-0.1.0-darwin-arm64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-darwin-arm64.tar.gz)
359 - [sapi-0.1.0-linux-amd64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-linux-amd64.md5)
360 - [sapi-0.1.0-linux-amd64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-linux-amd64.tar.gz)
361 - [sapi-0.1.0-linux-arm64.md5](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-linux-arm64.md5)
362 - [sapi-0.1.0-linux-arm64.tar.gz](https://mitjafelicijan.fra1.digitaloceanspaces.com/public-projects/simpleapi/sapi-0.1.0-linux-arm64.tar.gz)
363- sandbox
364 - [data.json](https://mitjafelicijan.fra1.digitaloceanspaces.com/sandbox/data.json)
365- [tarballs](https://mitjafelicijan.fra1.digitaloceanspaces.com/tarballs)
366- video
367 - [Building the Simplest Possible Linux System - Rob Landley.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/Building the Simplest Possible Linux System - Rob Landley.webm)
368 - [Go webserver, HTMX Integration, Template Fragments.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/Go webserver, HTMX Integration, Template Fragments.webm)
369 - [Toybox vs BusyBox - Rob Landley, hobbyist.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/Toybox vs BusyBox - Rob Landley, hobbyist.webm)
370 - plan9-videos
371 - [9Front Basic Install.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/9Front Basic Install.webm)
372 - [9Front on the Desktop; IRC, web, and video in plan9 terminals.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/9Front on the Desktop; IRC, web, and video in plan9 terminals.webm)
373 - [A Quick Intro to C Programming, for Plan 9 and 9 Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/A Quick Intro to C Programming, for Plan 9 and 9 Front.mp4)
374 - [Adding to the Grid; Listening to CO2 Levels and Speaking to Light Bulbs with Plan9.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Adding to the Grid; Listening to CO2 Levels and Speaking to Light Bulbs with Plan9.webm)
375 - [Alternative 9Front Partition Schemes.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Alternative 9Front Partition Schemes.webm)
376 - [Auth & File Server Setup, using 9Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Auth & File Server Setup, using 9Front.mp4)
377 - [Bonus Pipe Video; funny things you can do locally with named pipes in 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Bonus Pipe Video; funny things you can do locally with named pipes in 9Front.webm)
378 - [Booting a Terminal off a USB drive, New User set up, and Disaster recover, for Plan9 using 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Booting a Terminal off a USB drive, New User set up, and Disaster recover, for Plan9 using 9Front.webm)
379 - [Building a Better Grid with 9Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Building a Better Grid with 9Front.mp4)
380 - [Consorting With Daemons! Running 9Front in bhyve on FreeBSD.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Consorting With Daemons! Running 9Front in bhyve on FreeBSD.webm)
381 - [Doing Custom Work. Basic Configuration Files in Plan9 ⧸ 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Doing Custom Work. Basic Configuration Files in Plan9 ⧸ 9Front.webm)
382 - [Drivers Part 2; Doing some initial reads and writes to a USB device in 9Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Drivers Part 2; Doing some initial reads and writes to a USB device in 9Front.mp4)
383 - [Getting 9 Front to run on an Arm SBC, featuring the Pine A64 LTS.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Getting 9 Front to run on an Arm SBC, featuring the Pine A64 LTS.webm)
384 - [Getting Plan9 and Linux to play (audio) together & Bonus Rant!.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Getting Plan9 and Linux to play (audio) together & Bonus Rant!.webm)
385 - [Grave Robbing my way out of The Global Chip Shortage, feat; 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Grave Robbing my way out of The Global Chip Shortage, feat; 9Front.webm)
386 - [Hot Time with 9Front on Arm.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Hot Time with 9Front on Arm.webm)
387 - [Intro to USB drivers for Plan9 and 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Intro to USB drivers for Plan9 and 9Front.webm)
388 - [Introduction to Grids; or, what can I do with all these Plan9 machines?.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Introduction to Grids; or, what can I do with all these Plan9 machines?.webm)
389 - [Introduction to getting around. The User Interface of Plan9 ⧸ 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Introduction to getting around. The User Interface of Plan9 ⧸ 9Front.webm)
390 - [MIPS Rides Again; my presentation for the International Workshop on Plan 9.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/MIPS Rides Again; my presentation for the International Workshop on Plan 9.webm)
391 - [Making New Namespaces in Plan9 with auth⧸newns.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Making New Namespaces in Plan9 with auth⧸newns.webm)
392 - [Making Your Server Do More; Hosting services on your Plan9 server.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Making Your Server Do More; Hosting services on your Plan9 server.webm)
393 - [Making a sythetic filesystem: making fake files for fun and profit on Plan9 and 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Making a sythetic filesystem: making fake files for fun and profit on Plan9 and 9Front.webm)
394 - [Meanwhile, In the Laboratory; finishing house chores and starting computer projects.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Meanwhile, In the Laboratory; finishing house chores and starting computer projects.webm)
395 - [PXE Boot 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/PXE Boot 9Front.webm)
396 - [Plan9 File Server, pt. 1; Installing 9Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Plan9 File Server, pt. 1; Installing 9Front.mp4)
397 - [Plan9's rio, and how to modify it.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Plan9's rio, and how to modify it.webm)
398 - [Plan9, gpsfs & Raspberry Pi; Using 9Front to get the most out of Soviet Technology.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Plan9, gpsfs & Raspberry Pi; Using 9Front to get the most out of Soviet Technology.mp4)
399 - [Planning a Plan9 Ethernet switch filesystem, feat: a stream of consciousness.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Planning a Plan9 Ethernet switch filesystem, feat: a stream of consciousness.webm)
400 - [Raspberry Pi Plan9 Server; Using a Pi and 9Front to serve up sensor data.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Raspberry Pi Plan9 Server; Using a Pi and 9Front to serve up sensor data.webm)
401 - [Raspberry Pi on your Plan9 Network, featuring 9Front on a Pi 3B.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Raspberry Pi on your Plan9 Network, featuring 9Front on a Pi 3B.webm)
402 - [Reading from a USB Device with 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Reading from a USB Device with 9Front.webm)
403 - [Show and Tell; some stuff to throw 9Front at.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Show and Tell; some stuff to throw 9Front at.webm)
404 - [Some Useful Tools in Plan9. Mouse Chording, VT, and Acme.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Some Useful Tools in Plan9. Mouse Chording, VT, and Acme.mp4)
405 - [Still poking around a USB Device with 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Still poking around a USB Device with 9Front.webm)
406 - [Using Bridges and Network Aliasing in Plan9 & 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Using Bridges and Network Aliasing in Plan9 & 9Front.webm)
407 - [Using Drawterm to access your Plan9 server.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Using Drawterm to access your Plan9 server.webm)
408 - [Using Listen1 on Plan9 to Debug Networking Code.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Using Listen1 on Plan9 to Debug Networking Code.webm)
409 - [Using vmx; Running Linux Mint in a virtual machine on 9Front.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Using vmx; Running Linux Mint in a virtual machine on 9Front.webm)
410 - [When Tech Bubbles Burst & Other Strange Tales.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/When Tech Bubbles Burst & Other Strange Tales.webm)
411 - [Where to Find Kernel Code in 9front and Plan9.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Where to Find Kernel Code in 9front and Plan9.webm)
412 - [Why is Plan9 like this? An intermediate guide to namespaces with rio.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Why is Plan9 like this? An intermediate guide to namespaces with rio.webm)
413 - [Why is Plan9 like this? An introduction to Namespaces.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Why is Plan9 like this? An introduction to Namespaces.webm)
414 - [Working with Kernels; Modifying and Installing a Kernel in 9Front.mp4](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Working with Kernels; Modifying and Installing a Kernel in 9Front.mp4)
415 - [Writing Plan9 Kernels; 9Front on the MT7688.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/Writing Plan9 Kernels; 9Front on the MT7688.webm)
416 - [wizfs: A 9Front file server for Wiz light bulbs.webm](https://mitjafelicijan.fra1.digitaloceanspaces.com/video/plan9-videos/wizfs: A 9Front file server for Wiz light bulbs.webm)
417