diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-03-10 14:59:14 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-03-10 14:59:14 +0100 |
| commit | 1100562e29f6476448b656dbddd4cf22505523f6 (patch) | |
| tree | 442eec492199104bd49dfd74474ce89ade8fcac9 | |
| parent | a40d80be378e46a6c490e1b99b0d8f4acd968503 (diff) | |
| download | mitjafelicijan.com-1100562e29f6476448b656dbddd4cf22505523f6.tar.gz | |
Move back to JBMAFP
| -rw-r--r-- | .editorconfig | 31 | ||||
| -rw-r--r-- | .github/workflows/deploy.yaml | 40 | ||||
| -rw-r--r-- | .gitignore | 6 | ||||
| -rw-r--r-- | .pages.yml | 78 | ||||
| -rw-r--r-- | 404.html | 24 | ||||
| -rw-r--r-- | Gemfile | 24 | ||||
| -rw-r--r-- | Gemfile.lock | 98 | ||||
| -rw-r--r-- | Makefile | 22 | ||||
| -rw-r--r-- | _config.yml | 39 | ||||
| -rw-r--r-- | _includes/webring.html | 42 | ||||
| -rw-r--r-- | _layouts/base.html | 262 | ||||
| -rw-r--r-- | _layouts/index.html | 10 | ||||
| -rw-r--r-- | _layouts/page.html | 10 | ||||
| -rw-r--r-- | _layouts/post.html | 11 | ||||
| -rw-r--r-- | _layouts/vault.md | 25 | ||||
| -rw-r--r-- | _posts/notes/2023-08-05-floods-in-slovenia.md | 20 | ||||
| -rw-r--r-- | assets/audio/mitja-felicijan-a-bunch-of-inter-dimensional-people-with-loud-clocks.mp3 | bin | 7365430 -> 0 bytes | |||
| -rw-r--r-- | assets/audio/mitja-felicijan-a-planet-where-every-organism-is-a-plant.mp3 | bin | 6187459 -> 0 bytes | |||
| -rw-r--r-- | assets/audio/mitja-felicijan-bio-implants-having-a-fit-and-reprogramming-your-brain.mp3 | bin | 7263917 -> 0 bytes | |||
| -rw-r--r-- | assets/audio/mitja-felicijan-neobrutalism-and-the-search-for-a-monolith.mp3 | bin | 4548880 -> 0 bytes | |||
| -rw-r--r-- | assets/audio/mitja-felicijan-two-black-holes-conversing-about-the-weather.mp3 | bin | 7895882 -> 0 bytes | |||
| -rw-r--r-- | assets/general/9front-cursor.png | bin | 249 -> 0 bytes | |||
| -rw-r--r-- | assets/general/9logo.png | bin | 39825 -> 0 bytes | |||
| -rwxr-xr-x | assets/general/alert-dark.svg | 99 | ||||
| -rwxr-xr-x | assets/general/alert-light.svg | 99 | ||||
| -rw-r--r-- | assets/general/index.css | 1 | ||||
| -rw-r--r-- | assets/general/og-big.jpg | bin | 70575 -> 0 bytes | |||
| -rw-r--r-- | assets/general/og-big.xcf | bin | 10025863 -> 0 bytes | |||
| -rw-r--r-- | assets/general/og.jpg | bin | 44366 -> 0 bytes | |||
| -rw-r--r-- | assets/general/og.xcf | bin | 898329 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1461.mp4 | bin | 14410656 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1466.mp4 | bin | 8902148 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1469.webp | bin | 816680 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1470.webp | bin | 933574 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1471.mp4 | bin | 10163115 -> 0 bytes | |||
| -rwxr-xr-x | assets/notes/floods/IMG_1474.mp4 | bin | 14032243 -> 0 bytes | |||
| -rw-r--r-- | bin/vault.rb | 60 | ||||
| -rw-r--r-- | bin/webring.rb | 80 | ||||
| -rwxr-xr-x | config.yaml | 20 | ||||
| -rwxr-xr-x | content/.gitkeep | 0 | ||||
| -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.json | 61 | ||||
| -rw-r--r-- | index.html | 81 | ||||
| -rwxr-xr-x | static/.gitkeep | 0 | ||||
| -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) | bin | 21762 -> 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) | bin | 16587109 -> 16587109 bytes | |||
| -rw-r--r-- | static/assets/notes/60s-ibm-computers-commercial.jpg (renamed from assets/notes/60s-ibm-computers-commercial.jpg) | bin | 32372 -> 32372 bytes | |||
| -rw-r--r-- | static/assets/notes/60s-ibm-computers-commercial.mp4 (renamed from assets/notes/60s-ibm-computers-commercial.mp4) | bin | 35273598 -> 35273598 bytes | |||
| -rw-r--r-- | static/assets/notes/9front-desktop.png (renamed from assets/notes/9front-desktop.png) | bin | 38054 -> 38054 bytes | |||
| -rw-r--r-- | static/assets/notes/dcss-quickstart.pdf (renamed from assets/notes/dcss-quickstart.pdf) | bin | 80328 -> 80328 bytes | |||
| -rw-r--r-- | static/assets/notes/dcss.jpg (renamed from assets/notes/dcss.jpg) | bin | 855457 -> 855457 bytes | |||
| -rw-r--r-- | static/assets/notes/dcss_manual.pdf (renamed from assets/notes/dcss_manual.pdf) | bin | 203302 -> 203302 bytes | |||
| -rw-r--r-- | static/assets/notes/grep-less.png (renamed from assets/notes/grep-less.png) | bin | 178000 -> 178000 bytes | |||
| -rw-r--r-- | static/assets/notes/plan9-pixels.png (renamed from assets/notes/plan9-pixels.png) | bin | 12134 -> 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) | bin | 24272 -> 24272 bytes | |||
| -rw-r--r-- | static/assets/notes/trigraphs.gif (renamed from assets/notes/trigraphs.gif) | bin | 1293557 -> 1293557 bytes | |||
| -rw-r--r-- | static/assets/notes/xterm-palette.png (renamed from assets/notes/xterm-palette.png) | bin | 9524 -> 9524 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-0.jpg (renamed from assets/posts/algae-sava/dji-algae-0.jpg) | bin | 145615 -> 145615 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-1.jpg (renamed from assets/posts/algae-sava/dji-algae-1.jpg) | bin | 154416 -> 154416 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-2.jpg (renamed from assets/posts/algae-sava/dji-algae-2.jpg) | bin | 114347 -> 114347 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-3.jpg (renamed from assets/posts/algae-sava/dji-algae-3.jpg) | bin | 128019 -> 128019 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-4.jpg (renamed from assets/posts/algae-sava/dji-algae-4.jpg) | bin | 217747 -> 217747 bytes | |||
| -rwxr-xr-x | static/assets/posts/algae-sava/dji-algae-5.jpg (renamed from assets/posts/algae-sava/dji-algae-5.jpg) | bin | 264884 -> 264884 bytes | |||
| -rwxr-xr-x | static/assets/posts/cv/avatar.gif (renamed from assets/posts/cv/avatar.gif) | bin | 2174 -> 2174 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/desktop.png (renamed from assets/posts/dfd-rice/desktop.png) | bin | 329498 -> 329498 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-00.png (renamed from assets/posts/dfd-rice/install-00.png) | bin | 35695 -> 35695 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-01.png (renamed from assets/posts/dfd-rice/install-01.png) | bin | 28042 -> 28042 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-02.png (renamed from assets/posts/dfd-rice/install-02.png) | bin | 21638 -> 21638 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-03.png (renamed from assets/posts/dfd-rice/install-03.png) | bin | 34698 -> 34698 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-04.png (renamed from assets/posts/dfd-rice/install-04.png) | bin | 28346 -> 28346 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/install-05.png (renamed from assets/posts/dfd-rice/install-05.png) | bin | 13755 -> 13755 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/installation.svg (renamed from assets/posts/dfd-rice/installation.svg) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dfd-rice/layout.png (renamed from assets/posts/dfd-rice/layout.png) | bin | 9072 -> 9072 bytes | |||
| -rwxr-xr-x | static/assets/posts/dfd-rice/layout.svg (renamed from assets/posts/dfd-rice/layout.svg) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dfd-rice/script.png (renamed from assets/posts/dfd-rice/script.png) | bin | 65747 -> 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-x | static/assets/posts/dna-sequence/dna-basics.jpg (renamed from assets/posts/dna-sequence/dna-basics.jpg) | bin | 165883 -> 165883 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-sequence/quote.png (renamed from assets/posts/dna-sequence/quote.png) | bin | 1068 -> 1068 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-sequence/sample-binary-file.png (renamed from assets/posts/dna-sequence/sample-binary-file.png) | bin | 66417 -> 66417 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-sequence/sample.png (renamed from assets/posts/dna-sequence/sample.png) | bin | 65930 -> 65930 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/bison/in.txt (renamed from assets/posts/dna-synthesized/bison/in.txt) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/bison/out.mp3 (renamed from assets/posts/dna-synthesized/bison/out.mp3) | bin | 960469 -> 960469 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/bison/spectogram.png (renamed from assets/posts/dna-synthesized/bison/spectogram.png) | bin | 52808 -> 52808 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/elektron/IMG_0619.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0619.jpg) | bin | 226025 -> 226025 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/elektron/IMG_0620.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0620.jpg) | bin | 242937 -> 242937 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/elektron/IMG_0622.jpg (renamed from assets/posts/dna-synthesized/elektron/IMG_0622.jpg) | bin | 279234 -> 279234 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/elektron/elektron.mp4 (renamed from assets/posts/dna-synthesized/elektron/elektron.mp4) | bin | 22478213 -> 22478213 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/elektron/midi-studio.jpg (renamed from assets/posts/dna-synthesized/elektron/midi-studio.jpg) | bin | 63633 -> 63633 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/mouse/in.txt (renamed from assets/posts/dna-synthesized/mouse/in.txt) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/mouse/out.mp3 (renamed from assets/posts/dna-synthesized/mouse/out.mp3) | bin | 864547 -> 864547 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/mouse/spectogram.png (renamed from assets/posts/dna-synthesized/mouse/spectogram.png) | bin | 114261 -> 114261 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/quote/in.txt (renamed from assets/posts/dna-synthesized/quote/in.txt) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/quote/out.mp3 (renamed from assets/posts/dna-synthesized/quote/out.mp3) | bin | 678973 -> 678973 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/quote/spectogram.png (renamed from assets/posts/dna-synthesized/quote/spectogram.png) | bin | 108863 -> 108863 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3 (renamed from assets/posts/dna-synthesized/symphony-no6-1st-movement.mp3) | bin | 11650187 -> 11650187 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/symphony-no6-1st-movement.png (renamed from assets/posts/dna-synthesized/symphony-no6-1st-movement.png) | bin | 245694 -> 245694 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/taurus/in.txt (renamed from assets/posts/dna-synthesized/taurus/in.txt) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/taurus/out.mp3 (renamed from assets/posts/dna-synthesized/taurus/out.mp3) | bin | 1056599 -> 1056599 bytes | |||
| -rwxr-xr-x | static/assets/posts/dna-synthesized/taurus/spectogram.png (renamed from assets/posts/dna-synthesized/taurus/spectogram.png) | bin | 109064 -> 109064 bytes | |||
| -rwxr-xr-x | static/assets/posts/do-fuse/copy-benchmarks.tsv (renamed from assets/posts/do-fuse/copy-benchmarks.tsv) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/do-fuse/fuse-droplets.png (renamed from assets/posts/do-fuse/fuse-droplets.png) | bin | 42891 -> 42891 bytes | |||
| -rwxr-xr-x | static/assets/posts/do-fuse/fuse-spaces.png (renamed from assets/posts/do-fuse/fuse-spaces.png) | bin | 32450 -> 32450 bytes | |||
| -rwxr-xr-x | static/assets/posts/do-fuse/sqlite-benchmarks.tsv (renamed from assets/posts/do-fuse/sqlite-benchmarks.tsv) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/dropbox-sync/dropbox-spaces.png (renamed from assets/posts/dropbox-sync/dropbox-spaces.png) | bin | 47661 -> 47661 bytes | |||
| -rwxr-xr-x | static/assets/posts/esp8366-micropython/boards.jpg (renamed from assets/posts/esp8366-micropython/boards.jpg) | bin | 98162 -> 98162 bytes | |||
| -rwxr-xr-x | static/assets/posts/go-profiling/golang-profiling-cpu.pdf (renamed from assets/posts/go-profiling/golang-profiling-cpu.pdf) | bin | 16518 -> 16518 bytes | |||
| -rwxr-xr-x | static/assets/posts/go-profiling/golang-profiling-mem.pdf (renamed from assets/posts/go-profiling/golang-profiling-mem.pdf) | bin | 19221 -> 19221 bytes | |||
| -rwxr-xr-x | static/assets/posts/goaccess/goaccess-dash-html.png (renamed from assets/posts/goaccess/goaccess-dash-html.png) | bin | 16129 -> 16129 bytes | |||
| -rwxr-xr-x | static/assets/posts/goaccess/goaccess-dash-term.png (renamed from assets/posts/goaccess/goaccess-dash-term.png) | bin | 9188 -> 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) | bin | 975421 -> 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) | bin | 373408 -> 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) | bin | 18955 -> 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) | bin | 3305 -> 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) | bin | 7056 -> 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) | bin | 21443 -> 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) | bin | 13789463 -> 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) | bin | 97628 -> 97628 bytes | |||
| -rwxr-xr-x | static/assets/posts/helix-editor/editor.png (renamed from assets/posts/helix-editor/editor.png) | bin | 159442 -> 159442 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/iot-app-output.png (renamed from assets/posts/iot-application/iot-app-output.png) | bin | 23767 -> 23767 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/iot-rest-example.png (renamed from assets/posts/iot-application/iot-rest-example.png) | bin | 33912 -> 33912 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/iot-sqlite-db.png (renamed from assets/posts/iot-application/iot-sqlite-db.png) | bin | 199821 -> 199821 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/kcachegrind.png (renamed from assets/posts/iot-application/kcachegrind.png) | bin | 88486 -> 88486 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/profiling-viewer.png (renamed from assets/posts/iot-application/profiling-viewer.png) | bin | 173672 -> 173672 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/simple-iot-application-overview.svg (renamed from assets/posts/iot-application/simple-iot-application-overview.svg) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/iot-application/simple-iot-application.zip (renamed from assets/posts/iot-application/simple-iot-application.zip) | bin | 6406 -> 6406 bytes | |||
| -rwxr-xr-x | static/assets/posts/iot-application/snakeviz.png (renamed from assets/posts/iot-application/snakeviz.png) | bin | 59601 -> 59601 bytes | |||
| -rw-r--r-- | static/assets/posts/microsoundtrack/cow.m4v (renamed from assets/posts/microsoundtrack/cow.m4v) | bin | 1113250 -> 1113250 bytes | |||
| -rwxr-xr-x | static/assets/posts/pid1/boxes.mp4 (renamed from assets/posts/pid1/boxes.mp4) | bin | 443830 -> 443830 bytes | |||
| -rwxr-xr-x | static/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) | bin | 33009 -> 33009 bytes | |||
| -rwxr-xr-x | static/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) | bin | 23304 -> 23304 bytes | |||
| -rwxr-xr-x | static/assets/posts/profile-bind-error/error.jpg (renamed from assets/posts/profile-bind-error/error.jpg) | bin | 57047 -> 57047 bytes | |||
| -rwxr-xr-x | static/assets/posts/python-profiling/kcachegrind.png (renamed from assets/posts/python-profiling/kcachegrind.png) | bin | 88486 -> 88486 bytes | |||
| -rwxr-xr-x | static/assets/posts/python-profiling/profiling-viewer.png (renamed from assets/posts/python-profiling/profiling-viewer.png) | bin | 173672 -> 173672 bytes | |||
| -rwxr-xr-x | static/assets/posts/python-profiling/snakeviz.png (renamed from assets/posts/python-profiling/snakeviz.png) | bin | 59601 -> 59601 bytes | |||
| -rwxr-xr-x | static/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-x | static/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-x | static/assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png (renamed from assets/posts/sentiment-analysis/guardian-sa-title-desc-relationship.png) | bin | 15404 -> 15404 bytes | |||
| -rwxr-xr-x | static/assets/posts/sentiment-analysis/sentiment-analysis.ipynb (renamed from assets/posts/sentiment-analysis/sentiment-analysis.ipynb) | 0 | ||||
| -rwxr-xr-x | static/assets/posts/simple-pubsub-server/caniuse.png (renamed from assets/posts/simple-pubsub-server/caniuse.png) | bin | 56379 -> 56379 bytes | |||
| -rwxr-xr-x | static/assets/posts/simple-pubsub-server/chrome-debugging.png (renamed from assets/posts/simple-pubsub-server/chrome-debugging.png) | bin | 151160 -> 151160 bytes | |||
| -rwxr-xr-x | static/assets/posts/simple-pubsub-server/clients.m4v (renamed from assets/posts/simple-pubsub-server/clients.m4v) | bin | 369179 -> 369179 bytes | |||
| -rwxr-xr-x | static/assets/posts/simple-pubsub-server/pubsub-overview.png (renamed from assets/posts/simple-pubsub-server/pubsub-overview.png) | bin | 18471 -> 18471 bytes | |||
| -rwxr-xr-x | static/assets/posts/simple-pubsub-server/sse-pubsub-server.zip (renamed from assets/posts/simple-pubsub-server/sse-pubsub-server.zip) | bin | 4158 -> 4158 bytes | |||
| -rwxr-xr-x | static/assets/posts/state-of-web/2008-vs-2020.png (renamed from assets/posts/state-of-web/2008-vs-2020.png) | bin | 126650 -> 126650 bytes | |||
| -rwxr-xr-x | static/assets/posts/state-of-web/compiling-vs-transpiling.png (renamed from assets/posts/state-of-web/compiling-vs-transpiling.png) | bin | 41481 -> 41481 bytes | |||
| -rw-r--r-- | static/assets/posts/valgrind-callgrind-svg/kcachegrind.png (renamed from assets/posts/valgrind-callgrind-svg/kcachegrind.png) | bin | 513886 -> 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-x | static/assets/posts/wap/emulator.mp4 (renamed from assets/posts/wap/emulator.mp4) | bin | 892887 -> 892887 bytes | |||
| -rwxr-xr-x | static/assets/posts/wap/phones.gif (renamed from assets/posts/wap/phones.gif) | bin | 348891 -> 348891 bytes | |||
| -rwxr-xr-x | static/assets/posts/world-clock/enclosure.stl (renamed from assets/posts/world-clock/enclosure.stl) | bin | 1884 -> 1884 bytes | |||
| -rwxr-xr-x | static/assets/posts/world-clock/hardware.jpg (renamed from assets/posts/world-clock/hardware.jpg) | bin | 82279 -> 82279 bytes | |||
| -rwxr-xr-x | static/assets/posts/world-clock/world-clock.jpg (renamed from assets/posts/world-clock/world-clock.jpg) | bin | 148673 -> 148673 bytes | |||
| -rwxr-xr-x | static/assets/posts/yapyap/hello.png (renamed from assets/posts/yapyap/hello.png) | bin | 25962 -> 25962 bytes | |||
| -rwxr-xr-x | static/assets/posts/yapyap/pid1.jpg (renamed from assets/posts/yapyap/pid1.jpg) | bin | 394011 -> 394011 bytes | |||
| -rwxr-xr-x | static/assets/posts/zed/zed-1.png (renamed from assets/posts/zed/zed-1.png) | bin | 450802 -> 450802 bytes | |||
| -rwxr-xr-x | static/assets/posts/zed/zed-2.png (renamed from assets/posts/zed/zed-2.png) | bin | 812483 -> 812483 bytes | |||
| -rw-r--r-- | static/assets/urls.txt (renamed from assets/urls.txt) | 0 | ||||
| -rwxr-xr-x | templates/.gitkeep | 0 | ||||
| -rwxr-xr-x | templates/base.html | 165 | ||||
| -rwxr-xr-x | templates/feed.xml | 23 | ||||
| -rwxr-xr-x | templates/index.html | 35 | ||||
| -rwxr-xr-x | templates/note.html | 14 | ||||
| -rw-r--r-- | templates/page.html | 13 | ||||
| -rwxr-xr-x | templates/post.html | 14 | ||||
| -rw-r--r-- | templates/robots.txt | 2 | ||||
| -rw-r--r-- | templates/sitemap.xml | 12 | ||||
| -rw-r--r-- | vault.md | 417 |
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 @@ | |||
| 1 | root = true | ||
| 2 | |||
| 3 | [*] | ||
| 4 | charset = utf-8 | ||
| 5 | trim_trailing_whitespace = true | ||
| 6 | insert_final_newline = true | ||
| 7 | end_of_line = lf | ||
| 8 | |||
| 9 | [Makefile] | ||
| 10 | indent_style = tab | ||
| 11 | indent_size = 4 | ||
| 12 | |||
| 13 | [*.c] | ||
| 14 | indent_style = space | ||
| 15 | indent_size = 2 | ||
| 16 | |||
| 17 | [*.sh] | ||
| 18 | indent_style = space | ||
| 19 | indent_size = 4 | ||
| 20 | |||
| 21 | [*.go] | ||
| 22 | indent_style = tab | ||
| 23 | indent_size = 4 | ||
| 24 | |||
| 25 | [*.sql] | ||
| 26 | indent_style = space | ||
| 27 | indent_size = 2 | ||
| 28 | |||
| 29 | [*.{css,html,js,django}] | ||
| 30 | indent_style = space | ||
| 31 | indent_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 @@ | |||
| 1 | name: Build and Deploy to Pages | ||
| 2 | |||
| 3 | on: | ||
| 4 | push: | ||
| 5 | branches: ["master"] | ||
| 6 | workflow_dispatch: | ||
| 7 | |||
| 8 | permissions: | ||
| 9 | contents: read | ||
| 10 | pages: write | ||
| 11 | id-token: write | ||
| 12 | |||
| 13 | concurrency: | ||
| 14 | group: "pages" | ||
| 15 | cancel-in-progress: false | ||
| 16 | |||
| 17 | jobs: | ||
| 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 | ||
| @@ -1,5 +1 @@ | |||
| 1 | _site | public/ | |
| 2 | .sass-cache | ||
| 3 | .jekyll-cache | ||
| 4 | .jekyll-metadata | ||
| 5 | vendor | ||
diff --git a/.pages.yml b/.pages.yml deleted file mode 100644 index e51c311..0000000 --- a/.pages.yml +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | media: assets | ||
| 2 | content: | ||
| 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 | --- | ||
| 2 | permalink: /404.html | ||
| 3 | layout: 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 @@ | |||
| 1 | source "https://rubygems.org" | ||
| 2 | |||
| 3 | gem "jekyll", "~> 4.3.2" | ||
| 4 | |||
| 5 | group :jekyll_plugins do | ||
| 6 | gem "jekyll-feed", "~> 0.12" | ||
| 7 | gem "jekyll-minifier" | ||
| 8 | gem "jekyll-sitemap" | ||
| 9 | gem "jekyll-seo-tag" | ||
| 10 | end | ||
| 11 | |||
| 12 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data | ||
| 13 | # gem and associated library. | ||
| 14 | platforms :mingw, :x64_mingw, :mswin, :jruby do | ||
| 15 | gem "tzinfo", ">= 1", "< 3" | ||
| 16 | gem "tzinfo-data" | ||
| 17 | end | ||
| 18 | |||
| 19 | # Performance-booster for watching directories on Windows | ||
| 20 | gem "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. | ||
| 24 | gem "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 @@ | |||
| 1 | GEM | ||
| 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 | |||
| 83 | PLATFORMS | ||
| 84 | x86_64-linux | ||
| 85 | |||
| 86 | DEPENDENCIES | ||
| 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 | |||
| 97 | BUNDLED WITH | ||
| 98 | 2.4.10 | ||
| @@ -1,25 +1,9 @@ | |||
| 1 | MAKEFLAGS+=-j3 | 1 | MAKEFLAGS+=-j2 |
| 2 | 2 | ||
| 3 | dev: watch server | 3 | dev: watch server |
| 4 | 4 | ||
| 5 | build: newsboat webring vault | ||
| 6 | |||
| 7 | newsboat: | ||
| 8 | cp ~/.newsboat/urls assets/urls.txt | ||
| 9 | |||
| 10 | webring: | ||
| 11 | ruby bin/webring.rb | ||
| 12 | |||
| 13 | vault: | ||
| 14 | ruby bin/vault.rb | ||
| 15 | |||
| 16 | watch: | 5 | watch: |
| 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 | ||
| 19 | server: | 8 | server: |
| 20 | mkdir -p _site && cd _site && python3 -m http.server 6969 | 9 | jbmafp -s |
| 21 | |||
| 22 | provision: | ||
| 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 @@ | |||
| 1 | title: Mitja Felicijan | ||
| 2 | author: Mitja Felicijan | ||
| 3 | email: mitja.felicijan@gmail.com | ||
| 4 | url: https://mitjafelicijan.com | ||
| 5 | lang: en | ||
| 6 | |||
| 7 | description: >- | ||
| 8 | You do not learn by relaxing. You learn by violently assaulting your problem | ||
| 9 | until it surrenders its mysteries to you. | ||
| 10 | |||
| 11 | markdown: kramdown | ||
| 12 | highlighter: rouge | ||
| 13 | |||
| 14 | plugins: | ||
| 15 | - jekyll-feed | ||
| 16 | - jekyll-minifier | ||
| 17 | - jekyll-sitemap | ||
| 18 | - jekyll-seo-tag | ||
| 19 | |||
| 20 | jekyll-minifier: | ||
| 21 | uglifier_args: | ||
| 22 | harmony: true | ||
| 23 | |||
| 24 | feed: | ||
| 25 | posts_limit: 200 | ||
| 26 | |||
| 27 | exclude: | ||
| 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'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'd like in a hypothetical new desktop machine in 2024</a> — Chris'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 | --- | ||
| 2 | layout: 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 | --- | ||
| 2 | layout: 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 | --- | ||
| 2 | layout: 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 | --- | ||
| 2 | title: Personal vault | ||
| 3 | date: 2022-08-27T12:00:00+02:00 | ||
| 4 | permalink: /vault.html | ||
| 5 | layout: page | ||
| 6 | type: page | ||
| 7 | draft: false | ||
| 8 | --- | ||
| 9 | |||
| 10 | ## Hi traveler! | ||
| 11 | |||
| 12 | This curated compilation functions as a dedicated repository where I house an | ||
| 13 | assortment of captivating and noteworthy items I've amassed over the years. | ||
| 14 | |||
| 15 | Additionally, it serves as a secure haven for preserving binaries and assorted | ||
| 16 | assets associated with my personal projects, ensuring easy access and | ||
| 17 | organization. | ||
| 18 | |||
| 19 | Be 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 | --- | ||
| 2 | title: "Floods in Slovenia up close" | ||
| 3 | permalink: /floods-in-slovenia.html | ||
| 4 | date: 2023-08-05T07:06:50+02:00 | ||
| 5 | layout: post | ||
| 6 | type: note | ||
| 7 | draft: 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 | {:loading="lazy"} | ||
| 15 | |||
| 16 | {: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 @@ | |||
| 1 | require 'nokogiri' | ||
| 2 | require 'net/http' | ||
| 3 | require 'uri' | ||
| 4 | |||
| 5 | url = "https://mitjafelicijan.fra1.digitaloceanspaces.com/" | ||
| 6 | |||
| 7 | def 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}" | ||
| 12 | end | ||
| 13 | |||
| 14 | uri = URI(url) | ||
| 15 | response = Net::HTTP.get_response(uri) | ||
| 16 | |||
| 17 | if 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 | ||
| 58 | else | ||
| 59 | puts "Failed to fetch XML data. Status code: #{response.code}" | ||
| 60 | end | ||
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 @@ | |||
| 1 | require "erb" | ||
| 2 | require "htmlentities" | ||
| 3 | require "open-uri" | ||
| 4 | require "simple-rss" | ||
| 5 | |||
| 6 | summary_max_length = 320 | ||
| 7 | |||
| 8 | feeds = [ | ||
| 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 | |||
| 21 | out_html = "" | ||
| 22 | decoder = HTMLEntities.new | ||
| 23 | |||
| 24 | feeds.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 | ||
| 73 | end | ||
| 74 | |||
| 75 | template = ERB.new <<-EOF | ||
| 76 | <h2>Posts from blogs I follow around the net</h2> | ||
| 77 | <ul><%= out_html %></ul> | ||
| 78 | EOF | ||
| 79 | out_html = template.result(binding) | ||
| 80 | File.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 @@ | |||
| 1 | title: "Mitja Felicijan" | ||
| 2 | baseurl: "https://mitjafelicijan.com" | ||
| 3 | description: "You do not learn by relaxing. You learn by violently assaulting your problem until it surrenders its mysteries to you." | ||
| 4 | language: "en-us" | ||
| 5 | |||
| 6 | # Code highlighting. | ||
| 7 | # https://swapoff.org/chroma/playground/ | ||
| 8 | highlighting: "vs" | ||
| 9 | |||
| 10 | # Minifies output HTML (including inline CSS, JS). | ||
| 11 | minify: true | ||
| 12 | |||
| 13 | # Other generaters, in this case RSS generator. | ||
| 14 | extras: | ||
| 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 | --- |
| 2 | title: Aerial photography of algae spotted on river Sava | 2 | title: Aerial photography of algae spotted on river Sava |
| 3 | permalink: /aerial-photography-of-algae-spotted-on-river-sava.html | 3 | url: /aerial-photography-of-algae-spotted-on-river-sava.html |
| 4 | date: 2022-08-13T12:00:00+02:00 | 4 | date: 2022-08-13T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -15,17 +14,17 @@ This is the first time I've seen something like this in my whole life. | |||
| 15 | 14 | ||
| 16 | Below are some photographs taken from a DJI drone capturing the event. | 15 | Below are some photographs taken from a DJI drone capturing the event. |
| 17 | 16 | ||
| 18 | {:loading="lazy"} | 17 |  |
| 19 | 18 | ||
| 20 | {:loading="lazy"} | 19 |  |
| 21 | 20 | ||
| 22 | {:loading="lazy"} | 21 |  |
| 23 | 22 | ||
| 24 | {:loading="lazy"} | 23 |  |
| 25 | 24 | ||
| 26 | {:loading="lazy"} | 25 |  |
| 27 | 26 | ||
| 28 | {:loading="lazy"} | 27 |  |
| 29 | 28 | ||
| 30 | I will try to get more photos of this in the future days and if something | 29 | I will try to get more photos of this in the future days and if something |
| 31 | intriguing shows up will post it again on the blog. | 30 | intriguing 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 | --- |
| 2 | title: Cache busting in Hugo | 2 | title: Cache busting in Hugo |
| 3 | permalink: /cachebusting-in-hugo.html | 3 | url: /cachebusting-in-hugo.html |
| 4 | date: 2023-05-01T12:00:00+02:00 | 4 | date: 2023-05-01T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [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 | --- |
| 2 | title: Run 9front in Qemu | 2 | title: Run 9front in Qemu |
| 3 | permalink: /run-9front-in-qemu.html | 3 | url: /run-9front-in-qemu.html |
| 4 | date: 2023-05-05T12:00:00+02:00 | 4 | date: 2023-05-05T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9, qemu] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Run 9front in Qemu. This applies to [Plan9](https://9p.io/plan9/) and | 9 | Run 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 | --- |
| 2 | title: Push to multiple origins at once in Git | 2 | title: Push to multiple origins at once in Git |
| 3 | permalink: /git-push-multiple-origins.html | 3 | url: /git-push-multiple-origins.html |
| 4 | date: 2023-05-06T12:00:00+02:00 | 4 | date: 2023-05-06T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [git] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Sometimes you want to push to multiple origins at once. This is useful if you | 9 | Sometimes 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 | --- |
| 2 | title: Mount Plan9 over network | 2 | title: Mount Plan9 over network |
| 3 | permalink: /mount-plan9-over-network.html | 3 | url: /mount-plan9-over-network.html |
| 4 | date: 2023-05-07T12:00:00+02:00 | 4 | date: 2023-05-07T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [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 | --- |
| 2 | title: Write ISO to USB Key | 2 | title: Write ISO to USB Key |
| 3 | permalink: /write-iso-usb.html | 3 | url: /write-iso-usb.html |
| 4 | date: 2023-05-08T12:00:00+02:00 | 4 | date: 2023-05-08T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [linux] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Write ISO to USB key. Nothing fancy here. | 9 | Write 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 | --- |
| 2 | title: "#cat-v on weechat configuration" | 2 | title: "#cat-v on weechat configuration" |
| 3 | permalink: /catv-weechat-config.html | 3 | url: /catv-weechat-config.html |
| 4 | date: 2023-05-09T12:00:00+02:00 | 4 | date: 2023-05-09T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [irc] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Set up weechat to connect to #cat-v on oftc. This applies to | 9 | Set 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 | --- |
| 2 | title: Take a screenshot in Plan9 | 2 | title: Take a screenshot in Plan9 |
| 3 | permalink: /plan9-screenshot.html | 3 | url: /plan9-screenshot.html |
| 4 | date: 2023-05-10T12:00:00+02:00 | 4 | date: 2023-05-10T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Take a screenshot in Plan9. This applies to [Plan9](https://9p.io/plan9/) and | 9 | Take 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 | --- |
| 2 | title: Fix bootloader not being written in Plan9 | 2 | title: Fix bootloader not being written in Plan9 |
| 3 | permalink: /fix-plan9-bootloader.html | 3 | url: /fix-plan9-bootloader.html |
| 4 | date: 2023-05-11T12:00:00+02:00 | 4 | date: 2023-05-11T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | If the bootloader is not being written to a disk when installing 9front on real | 9 | If 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 | --- |
| 2 | title: Install Plan9port on Linux | 2 | title: Install Plan9port on Linux |
| 3 | permalink: /install-plan9port-linux.html | 3 | url: /install-plan9port-linux.html |
| 4 | date: 2023-05-12T12:00:00+02:00 | 4 | date: 2023-05-12T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Install Plan9port on Linux. This applies to | 9 | Install 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 | --- |
| 2 | title: Download list of YouTube files | 2 | title: Download list of YouTube files |
| 3 | permalink: /download-youtube-videos.html | 3 | url: /download-youtube-videos.html |
| 4 | date: 2023-05-13T12:00:00+02:00 | 4 | date: 2023-05-13T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [youtube] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | If you need to download a list of YouTube videos and don't want to download the | 9 | If 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 | --- |
| 2 | title: Convert all MKV files into other formats | 2 | title: Convert all MKV files into other formats |
| 3 | permalink: /convert-mkv.html | 3 | url: /convert-mkv.html |
| 4 | date: 2023-05-14T12:00:00+02:00 | 4 | date: 2023-05-14T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [ffmpeg] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | You will need `ffmpeg` installed on your system. This will convert all MKV files | 9 | You 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 | --- |
| 2 | title: Previews how man page written in Troff will look like | 2 | title: Previews how man page written in Troff will look like |
| 3 | permalink: /preview-troff-man-pages.html | 3 | url: /preview-troff-man-pages.html |
| 4 | date: 2023-05-15T12:00:00+02:00 | 4 | date: 2023-05-15T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [troff] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Troff is used to write man pages and it is difficult to read it so this will | 9 | Troff 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 | --- |
| 2 | title: Change permissions of matching files recursively | 2 | title: Change permissions of matching files recursively |
| 3 | permalink: /mass-set-permission.html | 3 | url: /mass-set-permission.html |
| 4 | date: 2023-05-16T12:00:00+02:00 | 4 | date: 2023-05-16T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [linux] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Replace `*.xml` with your pattern. This will remove executable bit from all | 9 | Replace `*.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 | --- |
| 2 | title: Execute not blocking async shell command in C# | 2 | title: Execute not blocking async shell command in C# |
| 3 | permalink: /non-blocking-shell-exec-csharp.html | 3 | url: /non-blocking-shell-exec-csharp.html |
| 4 | date: 2023-05-22T12:00:00+02:00 | 4 | date: 2023-05-22T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [csharp] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Execute a shell command in async in C# while not blocking the UI thread. | 9 | Execute 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 | --- |
| 2 | title: Extend Lua with custom C functions using Clang | 2 | title: Extend Lua with custom C functions using Clang |
| 3 | permalink: /extend-lua-with-custom-c.html | 3 | url: /extend-lua-with-custom-c.html |
| 4 | date: 2023-05-23T12:00:00+02:00 | 4 | date: 2023-05-23T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [lua, c] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Here is a boilerplate for extending Lua with custom C functions. This requires | 9 | Here 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 | --- |
| 2 | title: Parse RSS feeds with Lua | 2 | title: Parse RSS feeds with Lua |
| 3 | permalink: /parse-rss-with-lua.html | 3 | url: /parse-rss-with-lua.html |
| 4 | date: 2023-05-23T12:00:00+02:00 | 4 | date: 2023-05-23T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [lua, rss] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Example of parsing RSS feeds with Lua. Before running the script install: | 9 | Example 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 | --- |
| 2 | title: My brand new Plan9/9front desktop | 2 | title: My brand new Plan9/9front desktop |
| 3 | permalink: /fresh-9front-desktop.html | 3 | url: /fresh-9front-desktop.html |
| 4 | date: 2023-05-24T12:00:00+02:00 | 4 | date: 2023-05-24T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I have been experimenting with Plan9/9front for a week now. Noice! This is how | 9 | I have been experimenting with Plan9/9front for a week now. Noice! This is how |
| 12 | my desktop looks like. | 10 | my desktop looks like. |
| 13 | 11 | ||
| 14 | {:loading="lazy"} | 12 |  |
| 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 | --- |
| 2 | title: Dungeon Crawl Stone Soup - New player guide | 2 | title: Dungeon Crawl Stone Soup - New player guide |
| 3 | permalink: /dcss-new-player-guide.html | 3 | url: /dcss-new-player-guide.html |
| 4 | date: 2023-05-25T22:00:00+02:00 | 4 | date: 2023-05-25T22:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [dcss] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | An amazing game deserves an amazing guide. All this material can be find in some | 9 | An 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 | {:loading="lazy"} | 16 |  |
| 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 | --- |
| 2 | title: Display xterm color palette | 2 | title: Display xterm color palette |
| 3 | permalink: /xterm-color-palette.html | 3 | url: /xterm-color-palette.html |
| 4 | date: 2023-05-25T12:00:00+02:00 | 4 | date: 2023-05-25T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [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 | {:loading="lazy"} | 12 |  |
| 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 | --- |
| 2 | title: Sane defaults for tmux with more visible statusbar | 2 | title: Sane defaults for tmux with more visible statusbar |
| 3 | permalink: /tmux-sane-defaults.html | 3 | url: /tmux-sane-defaults.html |
| 4 | date: 2023-05-25T12:00:00+02:00 | 4 | date: 2023-05-25T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [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 | --- |
| 2 | title: "Cronjobs on Github with Github Actions" | 2 | title: "Cronjobs on Github with Github Actions" |
| 3 | permalink: /cronjobs-github-with-actions.html | 3 | url: /cronjobs-github-with-actions.html |
| 4 | date: 2023-05-27T00:35:36+02:00 | 4 | date: 2023-05-27T00:35:36+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [github] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | In the root of your repository create a folder `.github/workflows` and in that | 9 | In 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 | --- |
| 2 | title: "Make DCSS playable on 4k displays" | 2 | title: "Make DCSS playable on 4k displays" |
| 3 | permalink: /dcss-on-4k-display.html | 3 | url: /dcss-on-4k-display.html |
| 4 | date: 2023-05-27T19:35:11+02:00 | 4 | date: 2023-05-27T19:35:11+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [dcss] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Dungeon Crawl Stone Soup has a a very small font by default. On a 4k display, it | 9 | Dungeon 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 | --- |
| 2 | title: "Drawing Pixels in Plan9" | 2 | title: "Drawing Pixels in Plan9" |
| 3 | permalink: /drawing-pixels-in-plan9.html | 3 | url: /drawing-pixels-in-plan9.html |
| 4 | date: 2023-05-27T17:41:33+02:00 | 4 | date: 2023-05-27T17:41:33+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [plan9, graphics] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I have started exploring Plan9's graphics capabilities. This is a hello world | 9 | I 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 | {:loading="lazy"} | 23 |  |
| 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 | --- |
| 2 | title: "Easy measure time took in a bash script" | 2 | title: "Easy measure time took in a bash script" |
| 3 | permalink: /easy-time-took-in-bash.html | 3 | url: /easy-time-took-in-bash.html |
| 4 | date: 2023-05-28T17:53:20+02:00 | 4 | date: 2023-05-28T17:53:20+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [bash] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | In Bash, the `$SECONDS` variable is a special variable that automatically keeps | 9 | In 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 | --- |
| 2 | title: "Grep to Less that maintain colors" | 2 | title: "Grep to Less that maintain colors" |
| 3 | permalink: /grep-to-less-maintain-colors.html | 3 | url: /grep-to-less-maintain-colors.html |
| 4 | date: 2023-05-29T21:27:07+02:00 | 4 | date: 2023-05-29T21:27:07+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [bash] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I often use `grep` to search for todo's in my code and other people's code and | 9 | I often use `grep` to search for todo's in my code and other people's code and |
| @@ -23,4 +21,4 @@ string. | |||
| 23 | grep --color=always -rni "TODO:" | less -R | 21 | grep --color=always -rni "TODO:" | less -R |
| 24 | ``` | 22 | ``` |
| 25 | 23 | ||
| 26 | {:loading="lazy"} | 24 |  |
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 | --- |
| 2 | title: "Extending dte editor" | 2 | title: "Extending dte editor" |
| 3 | permalink: /extending-dte-editor.html | 3 | url: /extending-dte-editor.html |
| 4 | date: 2023-05-31T08:12:45+02:00 | 4 | date: 2023-05-31T08:12:45+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [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 | --- |
| 2 | title: "Edsger W. Dijkstra Manuscripts ebook" | 2 | title: "Edsger W. Dijkstra Manuscripts ebook" |
| 3 | permalink: /ewd-manuscripts-ebook.html | 3 | url: /ewd-manuscripts-ebook.html |
| 4 | date: 2023-06-01T22:47:56+02:00 | 4 | date: 2023-06-01T22:47:56+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [random] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I love reading the original manuscripts of Edsger W. Dijkstra. They are | 9 | I 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 | --- |
| 2 | title: "Bulk thumbnails" | 2 | title: "Bulk thumbnails" |
| 3 | permalink: /bulk-make-thumbnails.html | 3 | url: /bulk-make-thumbnails.html |
| 4 | date: 2023-06-04T20:46:56+02:00 | 4 | date: 2023-06-04T20:46:56+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [bash] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Make bulk thumbnails of JPGs with ImageMagick. | 9 | Make 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 | --- |
| 2 | title: "Simple presentations with Markdown" | 2 | title: "Simple presentations with Markdown" |
| 3 | permalink: /presentations-with-markdown.html | 3 | url: /presentations-with-markdown.html |
| 4 | date: 2023-06-21T08:54:48+02:00 | 4 | date: 2023-06-21T08:54:48+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [random] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | A simple way to make presentations without using desktop apps or using online | 9 | A 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 | --- |
| 2 | title: "Making cgit look nicer" | 2 | title: "Making cgit look nicer" |
| 3 | permalink: /making-cgit-look-nicer.html | 3 | url: /making-cgit-look-nicer.html |
| 4 | date: 2023-06-24T13:33:58+02:00 | 4 | date: 2023-06-24T13:33:58+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [git] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | For personal use I have a [private Git server](https://git.mitjafelicijan.com) | 9 | For 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 | --- |
| 2 | title: "Alacritty open links with modifier" | 2 | title: "Alacritty open links with modifier" |
| 3 | permalink: /alacritty-open-links-with-modifier.html | 3 | url: /alacritty-open-links-with-modifier.html |
| 4 | date: 2023-06-25T17:17:16+02:00 | 4 | date: 2023-06-25T17:17:16+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [linux] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Alacritty by default makes all links in the terminal output clickable and this | 9 | Alacritty 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 | --- |
| 2 | title: "Development environments with Nix" | 2 | title: "Development environments with Nix" |
| 3 | permalink: /development-environments-with-nix.html | 3 | url: /development-environments-with-nix.html |
| 4 | date: 2023-06-25T16:38:10+02:00 | 4 | date: 2023-06-25T16:38:10+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [random] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Nix is amazing for making reproducible cross OS development environment. | 9 | Nix 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 | |||
| 59 | And this is what it looks like when you are in a Nix shell. Otherwise that part | 57 | And this is what it looks like when you are in a Nix shell. Otherwise that part |
| 60 | of prompt is omitted | 58 | of prompt is omitted |
| 61 | 59 | ||
| 62 | {:loading="lazy"} | 60 |  |
| 63 | 61 | ||
| 64 | More resources: | 62 | More 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 | --- |
| 2 | title: "10/GUI 10 Finger Multitouch User Interface" | 2 | title: "10/GUI 10 Finger Multitouch User Interface" |
| 3 | permalink: /10gui-10-finger-multitouch-user-interface.html | 3 | url: /10gui-10-finger-multitouch-user-interface.html |
| 4 | date: 2023-06-29T14:51:39+02:00 | 4 | date: 2023-06-29T14:51:39+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [graphics] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Message from 10/GUI team (page 10gui.com does not exist anymore): | 9 | Message 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 | --- |
| 2 | title: "60's IBM Computers Commercial" | 2 | title: "60's IBM Computers Commercial" |
| 3 | permalink: /60s-ibm-computers-commercial.html | 3 | url: /60s-ibm-computers-commercial.html |
| 4 | date: 2023-06-29T22:13:45+02:00 | 4 | date: 2023-06-29T22:13:45+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [random] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Likely aired during an hour-long program during the 1960s, long commercials such | 9 | Likely 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 | --- |
| 2 | title: "Fix screen tearing on Debian 12 Xorg and i3" | 2 | title: "Fix screen tearing on Debian 12 Xorg and i3" |
| 3 | permalink: /fix-screen-tearing-on-debian-12-xorg-and-i3.html | 3 | url: /fix-screen-tearing-on-debian-12-xorg-and-i3.html |
| 4 | date: 2023-07-10T04:21:48+02:00 | 4 | date: 2023-07-10T04:21:48+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Online radio streaming with MPV from terminal" | 2 | title: "Online radio streaming with MPV from terminal" |
| 3 | permalink: /online-radio-streaming-with-mpv-from-terminal.html | 3 | url: /online-radio-streaming-with-mpv-from-terminal.html |
| 4 | date: 2023-07-10T03:34:45+02:00 | 4 | date: 2023-07-10T03:34:45+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Set color temperature of displays on i3" | 2 | title: "Set color temperature of displays on i3" |
| 3 | permalink: /set-color-temperature-of-displays-on-i3.html | 3 | url: /set-color-temperature-of-displays-on-i3.html |
| 4 | date: 2023-07-14T09:19:31+02:00 | 4 | date: 2023-07-14T09:19:31+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Make B/W SVG charts with matplotlib" | 2 | title: "Make B/W SVG charts with matplotlib" |
| 3 | permalink: /make-b-w-svg-charts-with-matplotlib.html | 3 | url: /make-b-w-svg-charts-with-matplotlib.html |
| 4 | date: 2023-08-01T17:04:10+02:00 | 4 | date: 2023-08-01T17:04:10+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -66,6 +65,6 @@ legend.get_frame().set_linewidth(0) | |||
| 66 | plt.savefig("plot.svg", format="svg") | 65 | plt.savefig("plot.svg", format="svg") |
| 67 | ``` | 66 | ``` |
| 68 | 67 | ||
| 69 | {:loading="lazy"} | 68 |  |
| 70 | 69 | ||
| 71 | The image above is SVG and you can zoom in and out and check that the image is vector. | 70 | The 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 | --- |
| 2 | title: "AWS EB PyYAML fix" | 2 | title: "AWS EB PyYAML fix" |
| 3 | permalink: /aws-eb-pyyaml-fix.html | 3 | url: /aws-eb-pyyaml-fix.html |
| 4 | date: 2023-09-18T07:27:29+02:00 | 4 | date: 2023-09-18T07:27:29+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Compile drawterm on Fedora 38" | 2 | title: "Compile drawterm on Fedora 38" |
| 3 | permalink: /compile-drawterm-on-fedora-38.html | 3 | url: /compile-drawterm-on-fedora-38.html |
| 4 | date: 2023-09-25T09:04:28+02:00 | 4 | date: 2023-09-25T09:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Using ffmpeg to combine videos side by side" | 2 | title: "Using ffmpeg to combine videos side by side" |
| 3 | permalink: /using-ffmpeg-to-combine-video-side-by-side.html | 3 | url: /using-ffmpeg-to-combine-video-side-by-side.html |
| 4 | date: 2023-11-04T09:04:28+02:00 | 4 | date: 2023-11-04T09:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | {:loading="lazy"} | 40 |  |
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 | --- |
| 2 | title: "Add lazy loading of images in Jekyll posts" | 2 | title: "Add lazy loading of images in Jekyll posts" |
| 3 | permalink: /add-lazy-loading-to-jekyll-posts.html | 3 | url: /add-lazy-loading-to-jekyll-posts.html |
| 4 | date: 2023-11-05T09:04:28+02:00 | 4 | date: 2023-11-05T09:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -10,7 +9,7 @@ draft: false | |||
| 10 | Normally you define images with `![]()` in markdown files. But jekyll also | 9 | Normally you define images with `![]()` in markdown files. But jekyll also |
| 11 | provides a way to adding custom attributes to tags with `{:attr="value"}`. | 10 | provides a way to adding custom attributes to tags with `{:attr="value"}`. |
| 12 | 11 | ||
| 13 | If you have lots of posts this command will append `{:loading="lazy"}` to all | 12 | If you have lots of posts this command will append `` to all |
| 14 | images in all your markdown files. | 13 | images in all your markdown files. |
| 15 | 14 | ||
| 16 | ```md | 15 | ```md |
| @@ -20,13 +19,13 @@ images in all your markdown files. | |||
| 20 | will become | 19 | will become |
| 21 | 20 | ||
| 22 | ```md | 21 | ```md |
| 23 | {:loading="lazy"} | 22 |  |
| 24 | ``` | 23 | ``` |
| 25 | 24 | ||
| 26 | Shell line bellow. Go into the folder where your posts are (probably `_posts`). | 25 | Shell line bellow. Go into the folder where your posts are (probably `_posts`). |
| 27 | 26 | ||
| 28 | ```sh | 27 | ```sh |
| 29 | find . -type f -name "*.md" -exec sed -i -E 's/(\!\[.*\]\((.*?)\))$/\1{:loading="lazy"}/' {} \; | 28 | find . -type f -name "*.md" -exec sed -i -E 's/(\!\[.*\]\((.*?)\))$/\1/' {} \; |
| 30 | ``` | 29 | ``` |
| 31 | 30 | ||
| 32 | Under the hood this adds `loading="lazy"` to HTML `img` nodes. | 31 | Under 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 | --- |
| 2 | title: "Personal sane Vim defaults" | 2 | title: "Personal sane Vim defaults" |
| 3 | permalink: /apersonal-sane-vim-defaults.html | 3 | url: /apersonal-sane-vim-defaults.html |
| 4 | date: 2023-11-07T01:04:28+02:00 | 4 | date: 2023-11-07T01:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Extract lines from a file with sed" | 2 | title: "Extract lines from a file with sed" |
| 3 | permalink: /extract-lines-from-file-with-sed.html | 3 | url: /extract-lines-from-file-with-sed.html |
| 4 | date: 2024-02-15T10:04:28+02:00 | 4 | date: 2024-02-15T10:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Sane default for Dungeon Crawl Stone Soup Online edition" | 2 | title: "Sane default for Dungeon Crawl Stone Soup Online edition" |
| 3 | permalink: /dcss-online-rc-defaults.html | 3 | url: /dcss-online-rc-defaults.html |
| 4 | date: 2024-02-21T06:35:11+02:00 | 4 | date: 2024-02-21T06:35:11+02:00 |
| 5 | layout: post | ||
| 6 | type: note | 5 | type: note |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [dcss] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I mostly play Dungeon Crawl Stone Soup online on Ohio, USA: cbro.berotato.org server and | 9 | I 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 | --- |
| 2 | title: Uninstall Ollama from a Linux box | 2 | title: Uninstall Ollama from a Linux box |
| 3 | permalink: /uninstall-ollama-from-a-linux-box.html | 3 | url: /uninstall-ollama-from-a-linux-box.html |
| 4 | type: note | ||
| 4 | date: 2024-02-23 | 5 | date: 2024-02-23 |
| 5 | layout: post | ||
| 6 | draft: false | 6 | draft: false |
| 7 | type: note | ||
| 8 | --- | 7 | --- |
| 9 | I have had some issues with Ollama not being up-to-date. If Ollama is installed with a curl command, it adds a systemd service. | 8 | I 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 | |||
| 23 | sudo rm -rf /usr/share/ollama | 22 | sudo rm -rf /usr/share/ollama |
| 24 | ``` | 23 | ``` |
| 25 | 24 | ||
| 26 | That is about it. \ No newline at end of file | 25 | That 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 | --- |
| 2 | title: Curriculum Vitae | 2 | title: Curriculum Vitae |
| 3 | date: 2022-08-27T12:00:00+02:00 | 3 | date: 2022-08-27T12:00:00+02:00 |
| 4 | permalink: /curriculum-vitae.html | 4 | url: curriculum-vitae.html |
| 5 | layout: page | ||
| 6 | type: page | 5 | type: page |
| 6 | draft: 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 |  | ||
| 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 | ||
| 11 | Email me at *[mitja.felicijan@gmail.com](mailto:mitja.felicijan@gmail.com?subject=Website+CV+Contact)* | 38 | Email 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 | --- |
| 2 | title: Most likely to succeed in the year of 2011 | 2 | title: Most likely to succeed in the year of 2011 |
| 3 | permalink: /most-likely-to-succeed-in-year-of-2011.html | 3 | url: /most-likely-to-succeed-in-year-of-2011.html |
| 4 | date: 2011-01-13T12:00:00+02:00 | 4 | date: 2011-01-13T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: LED technology might not be as eco-friendly as you think | 2 | title: LED technology might not be as eco-friendly as you think |
| 3 | permalink: /led-technology-not-so-eco.html | 3 | url: /led-technology-not-so-eco.html |
| 4 | date: 2012-03-09T12:00:00+02:00 | 4 | date: 2012-03-09T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Wireless sensor networks | 2 | title: Wireless sensor networks |
| 3 | permalink: /wireless-sensor-networks.html | 3 | url: /wireless-sensor-networks.html |
| 4 | date: 2013-10-24T12:00:00+02:00 | 4 | date: 2013-10-24T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Software development and my favorite pitfalls | 2 | title: Software development and my favorite pitfalls |
| 3 | permalink: /software-development-pitfalls.html | 3 | url: /software-development-pitfalls.html |
| 4 | date: 2015-11-10T12:00:00+02:00 | 4 | date: 2015-11-10T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Golang profiling simplified | 2 | title: Golang profiling simplified |
| 3 | permalink: /golang-profiling-simplified.html | 3 | url: /golang-profiling-simplified.html |
| 4 | date: 2017-03-07T12:00:00+02:00 | 4 | date: 2017-03-07T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: What I've learned developing ad server | 2 | title: What I've learned developing ad server |
| 3 | permalink: /what-i-ve-learned-developing-ad-server.html | 3 | url: /what-i-ve-learned-developing-ad-server.html |
| 4 | date: 2017-04-17T12:00:00+02:00 | 4 | date: 2017-04-17T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Profiling Python web applications with visual tools | 2 | title: Profiling Python web applications with visual tools |
| 3 | permalink: /profiling-python-web-applications-with-visual-tools.html | 3 | url: /profiling-python-web-applications-with-visual-tools.html |
| 4 | date: 2017-04-21T12:00:00+02:00 | 4 | date: 2017-04-21T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -22,7 +21,7 @@ If you are using MacOS you should check out [Profiling | |||
| 22 | Viewer](http://www.profilingviewer.com/) or | 21 | Viewer](http://www.profilingviewer.com/) or |
| 23 | [MacCallGrind](http://www.maccallgrind.com/). | 22 | [MacCallGrind](http://www.maccallgrind.com/). |
| 24 | 23 | ||
| 25 | {:loading="lazy"} | 24 |  |
| 26 | 25 | ||
| 27 | We will be dividing this post into two main categories: | 26 | We 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 | |||
| 147 | you can see from this example there is hierarchy of execution order of your | 146 | you can see from this example there is hierarchy of execution order of your |
| 148 | code. | 147 | code. |
| 149 | 148 | ||
| 150 | {:loading="lazy"} | 149 |  |
| 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 |
| 153 | refresh and take a look at your possible optimizations because cProfile updates | 152 | refresh 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 | {:loading="lazy"} | 180 |  |
| 182 | 181 | ||
| 183 | Reddit user [ccharles](https://www.reddit.com/user/ccharles) suggested a better | 182 | Reddit user [ccharles](https://www.reddit.com/user/ccharles) suggested a better |
| 184 | way for installing pip software by targeting user level instead of using sudo. | 183 | way 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 | --- |
| 2 | title: Simple IOT application supported by real-time monitoring and data history | 2 | title: Simple IOT application supported by real-time monitoring and data history |
| 3 | permalink: /simple-iot-application.html | 3 | url: /simple-iot-application.html |
| 4 | date: 2017-08-11T12:00:00+02:00 | 4 | date: 2017-08-11T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -51,7 +50,7 @@ to API and another to serving HTML with chart. | |||
| 51 | Schema below represents what we will try to achieve and how different parts | 50 | Schema below represents what we will try to achieve and how different parts |
| 52 | correlates to each other. | 51 | correlates to each other. |
| 53 | 52 | ||
| 54 | {:loading="lazy"} | 53 |  |
| 55 | 54 | ||
| 56 | ## Simple Python API | 55 | ## Simple Python API |
| 57 | 56 | ||
| @@ -219,12 +218,12 @@ available via POST method on /api route. | |||
| 219 | After testing the service with Restlet Client you should be able to view your | 218 | After testing the service with Restlet Client you should be able to view your |
| 220 | data in a database file ```data.db```. | 219 | data in a database file ```data.db```. |
| 221 | 220 | ||
| 222 | {:loading="lazy"} | 221 |  |
| 223 | 222 | ||
| 224 | You can also check the contents of new database file by using desktop client | 223 | You can also check the contents of new database file by using desktop client |
| 225 | for SQLite → [DB Browser for SQLite](http://sqlitebrowser.org/). | 224 | for SQLite → [DB Browser for SQLite](http://sqlitebrowser.org/). |
| 226 | 225 | ||
| 227 | {:loading="lazy"} | 226 |  |
| 228 | 227 | ||
| 229 | Table structure is as simple as it can be. We have ts (timestamp) and value | 228 | Table 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. | |||
| 586 | If you navigate to ```http://0.0.0.0:5000``` you should see rendered chart as | 585 | If you navigate to ```http://0.0.0.0:5000``` you should see rendered chart as |
| 587 | shown on picture below. | 586 | shown on picture below. |
| 588 | 587 | ||
| 589 | {:loading="lazy"} | 588 |  |
| 590 | 589 | ||
| 591 | Complete application with all the code is available for | 590 | Complete 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 | --- |
| 2 | title: Using DigitalOcean Spaces Object Storage with FUSE | 2 | title: Using DigitalOcean Spaces Object Storage with FUSE |
| 3 | permalink: /using-digitalocean-spaces-object-storage-with-fuse.html | 3 | url: /using-digitalocean-spaces-object-storage-with-fuse.html |
| 4 | date: 2018-01-16T12:00:00+02:00 | 4 | date: 2018-01-16T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -56,7 +55,7 @@ Instuctions on how to use SSH keys and how to setup them are available in | |||
| 56 | article [How To Use SSH Keys with DigitalOcean | 55 | article [How To Use SSH Keys with DigitalOcean |
| 57 | Droplets](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets). | 56 | Droplets](https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets). |
| 58 | 57 | ||
| 59 | {:loading="lazy"} | 58 |  |
| 60 | 59 | ||
| 61 | After we created Droplet it's time to create new Space. This is done by clicking | 60 | After we created Droplet it's time to create new Space. This is done by clicking |
| 62 | on a button [Create](https://cloud.digitalocean.com/spaces/new) (right top | 61 | on 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 | |||
| 69 | to the page when you can generate this key. After you create new one, please | 68 | to the page when you can generate this key. After you create new one, please |
| 70 | save provided Key and Secret because Secret will not be shown again. | 69 | save provided Key and Secret because Secret will not be shown again. |
| 71 | 70 | ||
| 72 | {:loading="lazy"} | 71 |  |
| 73 | 72 | ||
| 74 | Now that we have new Space and Access key we should SSH into our machine. | 73 | Now 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 | --- |
| 2 | title: Encoding binary data into DNA sequence | 2 | title: Encoding binary data into DNA sequence |
| 3 | permalink: /encoding-binary-data-into-dna-sequence.html | 3 | url: /encoding-binary-data-into-dna-sequence.html |
| 4 | date: 2019-01-03T12:00:00+02:00 | 4 | date: 2019-01-03T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -110,7 +109,7 @@ The nucleotide in DNA consists of a sugar (deoxyribose), one of four bases | |||
| 110 | Cytosine and thymine are pyrimidine bases, while adenine and guanine are purine | 109 | Cytosine and thymine are pyrimidine bases, while adenine and guanine are purine |
| 111 | bases. The sugar and the base together are called a nucleoside. | 110 | bases. The sugar and the base together are called a nucleoside. |
| 112 | 111 | ||
| 113 | {:loading="lazy"} | 112 |  |
| 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 |
| 116 | cytosine pairs with guanine. (credit a: modification of work by Jerome Walker, | 115 | cytosine 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 | ||
| 302 | After encoding into PNG format this file looks like this. | 301 | After encoding into PNG format this file looks like this. |
| 303 | 302 | ||
| 304 | {:loading="lazy"} | 303 |  |
| 305 | 304 | ||
| 306 | The larger the input stream is the larger the PNG file would be. | 305 | The 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. | |||
| 370 | dd 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 | 369 | dd 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 | {:loading="lazy"} | 372 |  |
| 374 | 373 | ||
| 375 | Our freshly generated 1KB file looks something like this (its full of | 374 | Our freshly generated 1KB file looks something like this (its full of |
| 376 | garbage data as intended). | 375 | garbage data as intended). |
| @@ -397,11 +396,11 @@ Then we GZIP all the FASTA files to see how much the can be compressed. | |||
| 397 | gzip -9 < 10MB.fa > 10MB.fa.gz | 396 | gzip -9 < 10MB.fa > 10MB.fa.gz |
| 398 | ``` | 397 | ``` |
| 399 | 398 | ||
| 400 | {:loading="lazy"} | 399 |  |
| 401 | 400 | ||
| 402 | The speed increase that occurs when encoding to FASTA format. | 401 | The speed increase that occurs when encoding to FASTA format. |
| 403 | 402 | ||
| 404 | {:loading="lazy"} | 403 |  |
| 405 | 404 | ||
| 406 | Size of the out file after encoding. | 405 | Size 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 | --- |
| 2 | title: Simplifying and reducing clutter in my life and work | 2 | title: Simplifying and reducing clutter in my life and work |
| 3 | permalink: /simplifying-and-reducing-clutter.html | 3 | url: /simplifying-and-reducing-clutter.html |
| 4 | date: 2019-10-14T12:00:00+02:00 | 4 | date: 2019-10-14T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Using sentiment analysis for clickbait detection in RSS feeds | 2 | title: Using sentiment analysis for clickbait detection in RSS feeds |
| 3 | permalink: /using-sentiment-analysis-for-clickbait-detection-in-rss-feeds.html | 3 | url: /using-sentiment-analysis-for-clickbait-detection-in-rss-feeds.html |
| 4 | date: 2019-10-19T12:00:00+02:00 | 4 | date: 2019-10-19T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | {:loading="lazy"} | 95 |  |
| 97 | 96 | ||
| 98 | Figure above displays difference between title and description sentiment for | 97 | Figure above displays difference between title and description sentiment for |
| 99 | specific RSS feed item. 1 means positive and -1 means negative sentiment. | 98 | specific 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 | --- |
| 2 | title: Simple Server-Sent Events based PubSub Server | 2 | title: Simple Server-Sent Events based PubSub Server |
| 3 | permalink: /simple-server-sent-events-based-pubsub-server.html | 3 | url: /simple-server-sent-events-based-pubsub-server.html |
| 4 | date: 2020-03-22T12:00:00+02:00 | 4 | date: 2020-03-22T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -39,7 +38,7 @@ simple. We have subscribers that receive messages, and we have publishers that | |||
| 39 | create and post messages. Similar model is also well know pattern that works on | 38 | create and post messages. Similar model is also well know pattern that works on |
| 40 | a premise of consumers and producers, and they take similar roles. | 39 | a premise of consumers and producers, and they take similar roles. |
| 41 | 40 | ||
| 42 | {:loading="lazy"} | 41 |  |
| 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 | {:loading="lazy"} | 77 |  |
| 79 | 78 | ||
| 80 | Check | 79 | Check |
| 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 | {:loading="lazy"} | 145 |  |
| 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 | --- |
| 2 | title: Create placeholder images with sharp Node.js image processing library | 2 | title: Create placeholder images with sharp Node.js image processing library |
| 3 | permalink: /create-placeholder-images-with-sharp.html | 3 | url: /create-placeholder-images-with-sharp.html |
| 4 | date: 2020-03-27T12:00:00+02:00 | 4 | date: 2020-03-27T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: The strange case of Elasticsearch allocation failure | 2 | title: The strange case of Elasticsearch allocation failure |
| 3 | permalink: /the-strange-case-of-elasticsearch-allocation-failure.html | 3 | url: /the-strange-case-of-elasticsearch-allocation-failure.html |
| 4 | date: 2020-03-29T12:00:00+02:00 | 4 | date: 2020-03-29T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: My love and hate relationship with Node.js | 2 | title: My love and hate relationship with Node.js |
| 3 | permalink: /my-love-and-hate-relationship-with-nodejs.html | 3 | url: /my-love-and-hate-relationship-with-nodejs.html |
| 4 | date: 2020-03-30T12:00:00+02:00 | 4 | date: 2020-03-30T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Remote work and how it affects the daily lives of people | 2 | title: Remote work and how it affects the daily lives of people |
| 3 | permalink: /remote-work.html | 3 | url: /remote-work.html |
| 4 | date: 2020-05-05T12:00:00+02:00 | 4 | date: 2020-05-05T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Disable mouse wake from suspend with systemd service | 2 | title: Disable mouse wake from suspend with systemd service |
| 3 | permalink: /disable-mouse-wake-from-suspend-with-systemd-service.html | 3 | url: /disable-mouse-wake-from-suspend-with-systemd-service.html |
| 4 | date: 2020-08-15T12:00:00+02:00 | 4 | date: 2020-08-15T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Getting started with MicroPython and ESP8266 | 2 | title: Getting started with MicroPython and ESP8266 |
| 3 | permalink: /esp8266-and-micropython-guide.html | 3 | url: /esp8266-and-micropython-guide.html |
| 4 | date: 2020-09-06T12:00:00+02:00 | 4 | date: 2020-09-06T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -20,7 +19,7 @@ but I could easily choose | |||
| 20 | contains which tools I use and how I prepared my workspace to code for | 19 | contains 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 | {:loading="lazy"} | 22 |  |
| 24 | 23 | ||
| 25 | This guide covers: | 24 | This 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 | --- |
| 2 | title: Fix bind warning in .profile on login in Ubuntu | 2 | title: Fix bind warning in .profile on login in Ubuntu |
| 3 | permalink: /bind-warning-on-login-in-ubuntu.html | 3 | url: /bind-warning-on-login-in-ubuntu.html |
| 4 | date: 2020-09-08T12:00:00+02:00 | 4 | date: 2020-09-08T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -31,7 +30,7 @@ bind '"\e[Z":menu-complete-backward' | |||
| 31 | I haven't noticed anything wrong with this and all was working fine until I | 30 | I haven't noticed anything wrong with this and all was working fine until I |
| 32 | restarted my machine and then I got this error. | 31 | restarted my machine and then I got this error. |
| 33 | 32 | ||
| 34 | {:loading="lazy"} | 33 |  |
| 35 | 34 | ||
| 36 | When I pressed OK, I got into the [Gnome | 35 | When I pressed OK, I got into the [Gnome |
| 37 | shell](https://wiki.gnome.org/Projects/GnomeShell) and all was working fine, but | 36 | shell](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 | --- |
| 2 | title: Using Digitalocean Spaces to sync between computers | 2 | title: Using Digitalocean Spaces to sync between computers |
| 3 | permalink: /digitalocean-spaces-to-sync-between-computers.html | 3 | url: /digitalocean-spaces-to-sync-between-computers.html |
| 4 | date: 2020-09-09T12:00:00+02:00 | 4 | date: 2020-09-09T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Replacing Dropbox in favor of DigitalOcean spaces | 2 | title: Replacing Dropbox in favor of DigitalOcean spaces |
| 3 | permalink: /replacing-dropbox-in-favor-of-digitalocean-spaces.html | 3 | url: /replacing-dropbox-in-favor-of-digitalocean-spaces.html |
| 4 | date: 2021-01-24T12:00:00+02:00 | 4 | date: 2021-01-24T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -106,7 +105,7 @@ You can use this script in a combination with [Cron](https://en.wikipedia.org/wi | |||
| 106 | When you start syncing your local stuff with a remote server you can review your | 105 | When you start syncing your local stuff with a remote server you can review your |
| 107 | items on DigitalOcean. | 106 | items on DigitalOcean. |
| 108 | 107 | ||
| 109 | {:loading="lazy"} | 108 |  |
| 110 | 109 | ||
| 111 | I have been using this script now for quite some time, and it's working | 110 | I have been using this script now for quite some time, and it's working |
| 112 | flawlessly. I also uninstalled Dropbox and stopped using it completely. | 111 | flawlessly. 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 | --- |
| 2 | title: Using GoAccess with Nginx to replace Google Analytics | 2 | title: Using GoAccess with Nginx to replace Google Analytics |
| 3 | permalink: /using-goaccess-with-nginx-to-replace-google-analytics.html | 3 | url: /using-goaccess-with-nginx-to-replace-google-analytics.html |
| 4 | date: 2021-01-25T12:00:00+02:00 | 4 | date: 2021-01-25T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -42,11 +41,11 @@ all the functionalities I need, and it's a single binary. Written in Go. | |||
| 42 | 41 | ||
| 43 | GoAccess can be used in two different modes. | 42 | GoAccess can be used in two different modes. |
| 44 | 43 | ||
| 45 | {:loading="lazy"} | 44 |  |
| 46 | 45 | ||
| 47 | *Running in a terminal* | 46 | *Running in a terminal* |
| 48 | 47 | ||
| 49 | {:loading="lazy"} | 48 |  |
| 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 | --- |
| 2 | title: Simple world clock with eInk display and Raspberry Pi Zero | 2 | title: Simple world clock with eInk display and Raspberry Pi Zero |
| 3 | permalink: /simple-world-clock-with-eiink-display-and-raspberry-pi-zero.html | 3 | url: /simple-world-clock-with-eiink-display-and-raspberry-pi-zero.html |
| 4 | date: 2021-06-26T12:00:00+02:00 | 4 | date: 2021-06-26T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -24,7 +23,7 @@ have a bunch of [Raspberry Pi's | |||
| 24 | Zero](https://www.raspberrypi.org/products/raspberry-pi-zero/) lying around that | 23 | Zero](https://www.raspberrypi.org/products/raspberry-pi-zero/) lying around that |
| 25 | I really need to use. | 24 | I really need to use. |
| 26 | 25 | ||
| 27 | {:loading="lazy"} | 26 |  |
| 28 | 27 | ||
| 29 | Since the Inky [Inky | 28 | Since the Inky [Inky |
| 30 | pHAT](https://shop.pimoroni.com/products/inky-phat?variant=12549254217811) is | 29 | pHAT](https://shop.pimoroni.com/products/inky-phat?variant=12549254217811) is |
| @@ -95,7 +94,7 @@ Then we add a cronjob with `crontab -e`. | |||
| 95 | 94 | ||
| 96 | So, we end up with a result like this. | 95 | So, we end up with a result like this. |
| 97 | 96 | ||
| 98 | {:loading="lazy"} | 97 |  |
| 99 | 98 | ||
| 100 | And for the enclosure that can be 3D printed, but I haven't yet something like | 99 | And for the enclosure that can be 3D printed, but I haven't yet something like |
| 101 | this can be used. | 100 | this 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 | --- |
| 2 | title: My journey from being an internet über consumer to being a full hominum again | 2 | title: My journey from being an internet über consumer to being a full hominum again |
| 3 | permalink: /from-internet-consumer-to-full-hominum-again.html | 3 | url: /from-internet-consumer-to-full-hominum-again.html |
| 4 | date: 2021-07-30T12:00:00+02:00 | 4 | date: 2021-07-30T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: List of essential Linux commands for server management | 2 | title: List of essential Linux commands for server management |
| 3 | permalink: /linux-cheatsheet.html | 3 | url: /linux-cheatsheet.html |
| 4 | date: 2021-08-01T12:00:00+02:00 | 4 | date: 2021-08-01T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Debian based riced up distribution for Developers and DevOps folks | 2 | title: Debian based riced up distribution for Developers and DevOps folks |
| 3 | permalink: /debian-based-riced-up-distribution-for-developers-and-devops-folks.html | 3 | url: /debian-based-riced-up-distribution-for-developers-and-devops-folks.html |
| 4 | date: 2021-12-03T12:00:00+02:00 | 4 | date: 2021-12-03T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -77,35 +76,35 @@ Fonts being applied across the distro and things like that. | |||
| 77 | First, I choose terminal installer and left it to load additional components. | 76 | First, I choose terminal installer and left it to load additional components. |
| 78 | Avoid using graphical installer in this case. | 77 | Avoid using graphical installer in this case. |
| 79 | 78 | ||
| 80 | {:loading="lazy"} | 79 |  |
| 81 | 80 | ||
| 82 | After that I selected hostname and created a normal user and set password for | 81 | After that I selected hostname and created a normal user and set password for |
| 83 | that user and root user and choose guided mode for disk partitioning. | 82 | that user and root user and choose guided mode for disk partitioning. |
| 84 | 83 | ||
| 85 | {:loading="lazy"} | 84 |  |
| 86 | 85 | ||
| 87 | I left it run to install all the things required for the base system and opted | 86 | I left it run to install all the things required for the base system and opted |
| 88 | out of scanning additional media for use by the package manager. Those will be | 87 | out of scanning additional media for use by the package manager. Those will be |
| 89 | downloaded from the internet during installation. | 88 | downloaded from the internet during installation. |
| 90 | 89 | ||
| 91 | {:loading="lazy"} | 90 |  |
| 92 | 91 | ||
| 93 | I opted out of the popularity contest, and **now comes the important part**. | 92 | I opted out of the popularity contest, and **now comes the important part**. |
| 94 | Uncheck all the boxes in Software selection and only leave 'standard system | 93 | Uncheck all the boxes in Software selection and only leave 'standard system |
| 95 | utilities'. I also left an SSH server, so I was able to log in to the machine | 94 | utilities'. I also left an SSH server, so I was able to log in to the machine |
| 96 | from my main PC. | 95 | from my main PC. |
| 97 | 96 | ||
| 98 | {:loading="lazy"} | 97 |  |
| 99 | 98 | ||
| 100 | At this point, I installed GRUB bootloader on the disk where I installed the | 99 | At this point, I installed GRUB bootloader on the disk where I installed the |
| 101 | system. | 100 | system. |
| 102 | 101 | ||
| 103 | {:loading="lazy"} | 102 |  |
| 104 | 103 | ||
| 105 | That concluded the installation of base Debian and after restarting the computer | 104 | That concluded the installation of base Debian and after restarting the computer |
| 106 | I was prompted with the login screen. | 105 | I was prompted with the login screen. |
| 107 | 106 | ||
| 108 | {:loading="lazy"} | 107 |  |
| 109 | 108 | ||
| 110 | Now that I had the base installation, it was time to choose what software do I | 109 | Now that I had the base installation, it was time to choose what software do I |
| 111 | want to include in this so-called distribution. I wanted out of the box | 110 | want 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 | |||
| 142 | below. This is my common practice. And if you look at it you can clearly see I | 141 | below. This is my common practice. And if you look at it you can clearly see I |
| 143 | was replicating tiling window manager setup in Gnome. | 142 | was replicating tiling window manager setup in Gnome. |
| 144 | 143 | ||
| 145 | {:loading="lazy"} | 144 |  |
| 146 | 145 | ||
| 147 | That made me look into a bunch of tiling window managers and then tested them | 146 | That made me look into a bunch of tiling window managers and then tested them |
| 148 | out. Candidates I was looking at were: | 147 | out. Candidates I was looking at were: |
| @@ -212,7 +211,7 @@ something similar. | |||
| 212 | 211 | ||
| 213 | This is some of the output from the installation script. | 212 | This is some of the output from the installation script. |
| 214 | 213 | ||
| 215 | {:loading="lazy"} | 214 |  |
| 216 | 215 | ||
| 217 | Let's take a look at some examples in the installation script. | 216 | Let'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 | |||
| 274 | simplicity and clean interface. I will polish the colors and stuff like that, | 273 | simplicity and clean interface. I will polish the colors and stuff like that, |
| 275 | but I really do like the results. | 274 | but I really do like the results. |
| 276 | 275 | ||
| 277 | {:loading="lazy"} | 276 |  |
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 | --- |
| 2 | title: Running Golang application as PID 1 with Linux kernel | 2 | title: Running Golang application as PID 1 with Linux kernel |
| 3 | permalink: /running-golang-application-as-pid1.html | 3 | url: /running-golang-application-as-pid1.html |
| 4 | date: 2021-12-25T12:00:00+02:00 | 4 | date: 2021-12-25T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -24,7 +23,7 @@ Really worth a read. | |||
| 24 | If we compare a normal operating system to a unikernel side by side, they would | 23 | If we compare a normal operating system to a unikernel side by side, they would |
| 25 | look something like this. | 24 | look something like this. |
| 26 | 25 | ||
| 27 | {:loading="lazy"} | 26 |  |
| 28 | 27 | ||
| 29 | From this image, we can see how the complexity significantly decreases with | 28 | From this image, we can see how the complexity significantly decreases with |
| 30 | the use of Unikernels. This comes with a price, of course. Unikernels are hard | 29 | the 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 | --- |
| 2 | title: Wireless Application Protocol and the mobile web before the web | 2 | title: Wireless Application Protocol and the mobile web before the web |
| 3 | permalink: /wap-mobile-web-before-the-web.html | 3 | url: /wap-mobile-web-before-the-web.html |
| 4 | date: 2021-12-30T12:00:00+02:00 | 4 | date: 2021-12-30T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -33,7 +32,7 @@ These phones were rocking: | |||
| 33 | 32 | ||
| 34 | Let's take a look at these beauties. | 33 | Let's take a look at these beauties. |
| 35 | 34 | ||
| 36 | {:loading="lazy"} | 35 |  |
| 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 | --- |
| 2 | title: Trying out Helix code editor as my main editor | 2 | title: Trying out Helix code editor as my main editor |
| 3 | permalink: /tying-out-helix-code-editor.html | 3 | url: /tying-out-helix-code-editor.html |
| 4 | date: 2022-06-30T12:00:00+02:00 | 4 | date: 2022-06-30T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | --- | 7 | --- |
| @@ -49,7 +48,7 @@ popups that show you what the keyboard shortcuts are. | |||
| 49 | And it comes us packed with many | 48 | And 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 | {:loading="lazy"} | 51 |  |
| 53 | 52 | ||
| 54 | It's still young but has this mature feeling to it. It has sane defaults and | 53 | It's still young but has this mature feeling to it. It has sane defaults and |
| 55 | mimics Vim (works a bit differently, but the overall idea is similar). | 54 | mimics 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 | --- |
| 2 | title: What would DNA sound if synthesized to an audio file | 2 | title: What would DNA sound if synthesized to an audio file |
| 3 | permalink: /what-would-dna-sound-if-synthesized.html | 3 | url: /what-would-dna-sound-if-synthesized.html |
| 4 | date: 2022-07-05T12:00:00+02:00 | 4 | date: 2022-07-05T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | {:loading="lazy"} | 180 |  |
| 182 | 181 | ||
| 183 | The other option could also be in combination with | 182 | The 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 | {:loading="lazy"} | 235 |  |
| 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 | {:loading="lazy"} | 247 |  |
| 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 | {:loading="lazy"} | 259 |  |
| 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 | {:loading="lazy"} | 271 |  |
| 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 | |||
| 282 | Sony Bluetooth speaker I have that supports 3.5 mm audio in. Elektron doesn't | 281 | Sony Bluetooth speaker I have that supports 3.5 mm audio in. Elektron doesn't |
| 283 | have internal speakers. | 282 | have internal speakers. |
| 284 | 283 | ||
| 285 | {:loading="lazy"} | 284 |  |
| 286 | 285 | ||
| 287 | {:loading="lazy"} | 286 |  |
| 288 | 287 | ||
| 289 | {:loading="lazy"} | 288 |  |
| 290 | 289 | ||
| 291 | For communicating with Elektron, I choose `pygame` Python module that has MIDI | 290 | For communicating with Elektron, I choose `pygame` Python module that has MIDI |
| 292 | built in. With this, it was rather simple to send notes to the device. All I did | 291 | built 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. | |||
| 295 | Before all of this I also checked Audio MIDI Setup app under MacOS and checked | 294 | Before all of this I also checked Audio MIDI Setup app under MacOS and checked |
| 296 | MIDI Studio by pressing ⌘-2. | 295 | MIDI Studio by pressing ⌘-2. |
| 297 | 296 | ||
| 298 | {:loading="lazy"} | 297 |  |
| 299 | 298 | ||
| 300 | The whole script that parses and send notes to the Elektron looks like this. | 299 | The 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 | --- |
| 2 | title: State of Web Technologies and Web development in year 2022 | 2 | title: State of Web Technologies and Web development in year 2022 |
| 3 | permalink: /state-of-web-technologies-and-web-development-in-year-2022.html | 3 | url: /state-of-web-technologies-and-web-development-in-year-2022.html |
| 4 | date: 2022-10-06T12:00:00+02:00 | 4 | date: 2022-10-06T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Microsoundtrack — That sound that machine makes when struggling | 2 | title: Microsoundtrack — That sound that machine makes when struggling |
| 3 | permalink: /that-sound-that-machine-makes-when-struggling.html | 3 | url: /that-sound-that-machine-makes-when-struggling.html |
| 4 | date: 2022-10-16T12:00:00+02:00 | 4 | date: 2022-10-16T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Trying to build a New kind of terminal emulator for the modern age | 2 | title: Trying to build a New kind of terminal emulator for the modern age |
| 3 | permalink: /trying-to-build-a-new-kind-of-terminal-emulator.html | 3 | url: /trying-to-build-a-new-kind-of-terminal-emulator.html |
| 4 | date: 2023-01-26T12:00:00+02:00 | 4 | date: 2023-01-26T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: Rekindling my love for programming and enjoying the act of creating | 2 | title: Rekindling my love for programming and enjoying the act of creating |
| 3 | permalink: /rekindling-my-love-for-programming.html | 3 | url: /rekindling-my-love-for-programming.html |
| 4 | date: 2023-05-16T12:00:00+02:00 | 4 | date: 2023-05-16T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: I think I was completely wrong about Git workflows | 2 | title: I think I was completely wrong about Git workflows |
| 3 | permalink: /i-was-wrong-about-git-workflows.html | 3 | url: /i-was-wrong-about-git-workflows.html |
| 4 | date: 2023-05-23T12:00:00+02:00 | 4 | date: 2023-05-23T12:00:00+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: false |
| 8 | tags: [] | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | I have been using some approximation of [Git | 9 | I 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 | --- |
| 2 | title: "Re-Inventing Task Runner That I Actually Used Daily" | 2 | title: "Re-Inventing Task Runner That I Actually Used Daily" |
| 3 | permalink: /re-inventing-task-runner-that-i-actually-used-daily.html | 3 | url: /re-inventing-task-runner-that-i-actually-used-daily.html |
| 4 | date: 2023-05-31T12:21:10+02:00 | 4 | date: 2023-05-31T12:21:10+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Bringing all of my projects together under one umbrella" | 2 | title: "Bringing all of my projects together under one umbrella" |
| 3 | permalink: /bringing-all-of-my-projects-together-under-one-umbrella.html | 3 | url: /bringing-all-of-my-projects-together-under-one-umbrella.html |
| 4 | date: 2023-07-01T18:49:07+02:00 | 4 | date: 2023-07-01T18:49:07+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Who knows what the world will look like tomorrow" | 2 | title: "Who knows what the world will look like tomorrow" |
| 3 | permalink: /who-knows-what-the-world-will-look-like-tomorrow.html | 3 | url: /who-knows-what-the-world-will-look-like-tomorrow.html |
| 4 | date: 2023-07-08T18:49:07+02:00 | 4 | date: 2023-07-08T18:49:07+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Elitist attitudes are sapping all the fun from programming" | 2 | title: "Elitist attitudes are sapping all the fun from programming" |
| 3 | permalink: /elitist-attitudes-are-sapping-all-the-fun-from-programming.html | 3 | url: /elitist-attitudes-are-sapping-all-the-fun-from-programming.html |
| 4 | date: 2023-11-05T09:04:28+02:00 | 4 | date: 2023-11-05T09:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | draft: false | 6 | draft: 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 | --- |
| 2 | title: "Navigating the genome using k-mers for DNA analysis and visualization" | 2 | title: "Navigating the genome using k-mers for DNA analysis and visualization" |
| 3 | permalink: /navigating-the-genome-using-k-mers-for-dna-analysis-and-visualization.html | 3 | url: /navigating-the-genome-using-k-mers-for-dna-analysis-and-visualization.html |
| 4 | date: 2024-02-11T01:04:28+02:00 | 4 | date: 2024-02-11T01:04:28+02:00 |
| 5 | layout: post | ||
| 6 | type: post | 5 | type: post |
| 7 | mathjax: yes | ||
| 8 | draft: true | 6 | draft: true |
| 9 | published: 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 | --- |
| 2 | title: Converting Valgrind callgrinds to SVG format | 2 | title: Converting Valgrind callgrinds to SVG format |
| 3 | permalink: /converting-valgrind-callgrinds-to-svg-format.html | 3 | url: /converting-valgrind-callgrinds-to-svg-format.html |
| 4 | date: 2024-02-28T03:23:00+01:00 | 4 | date: 2024-02-28T03:23:00+01:00 |
| 5 | layout: post | ||
| 6 | draft: false | ||
| 7 | published: true | ||
| 8 | type: post | 5 | type: post |
| 6 | draft: false | ||
| 9 | --- | 7 | --- |
| 10 | 8 | ||
| 11 | Lately I have been doing a lot of systems programming and profiling is | 9 | Lately 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 | --- | ||
| 2 | layout: 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 | --- | ||
| 2 | layout: index | ||
| 3 | --- | ||
| 4 | |||
| 5 | <p><i>You do not learn by relaxing. You learn by violently assaulting your problem | ||
| 6 | until 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 @@ | |||
| 1 | User-agent: * | ||
| 2 | Allow: / | ||
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 | --- | ||
| 2 | title: Personal vault | ||
| 3 | date: 2022-08-27T12:00:00+02:00 | ||
| 4 | permalink: /vault.html | ||
| 5 | layout: page | ||
| 6 | type: page | ||
| 7 | draft: false | ||
| 8 | --- | ||
| 9 | |||
| 10 | ## Hi traveler! | ||
| 11 | |||
| 12 | This curated compilation functions as a dedicated repository where I house an | ||
| 13 | assortment of captivating and noteworthy items I've amassed over the years. | ||
| 14 | |||
| 15 | Additionally, it serves as a secure haven for preserving binaries and assorted | ||
| 16 | assets associated with my personal projects, ensuring easy access and | ||
| 17 | organization. | ||
| 18 | |||
| 19 | Be 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 | |||
