41554 blogs · [ { "id": "01a087e2-904a-73a2-a17a-ce30f43a5394", "title": "Using Dear ImGui from C", "url": "https://smhk.net/note/2026/04/dear-imgui-c/", "published_at": "2026-04-29T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f47d00e0", "title": "Firefox Profile Nomenclature: Traditional vs Fancy", "url": "https://smhk.net/note/2025/11/firefox-profile-traditional-vs-fancy/", "published_at": "2025-11-28T18:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f4c92d3e", "title": "Pixel Perfect Rendering in SDL2", "url": "https://smhk.net/note/2025/10/pixel-perfect-rendering-in-sdl2/", "published_at": "2025-10-10T16:45:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f5aadad7", "title": "Some useful PlantUML architecture diagrams", "url": "https://smhk.net/note/2025/04/some-useful-plantuml-architecture-diagrams/", "published_at": "2025-04-15T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f634f0c4", "title": "5G: Frames, Subframes, Slots, Minislots, Resource Blocks & Resource Elements", "url": "https://smhk.net/note/2025/03/5g-frames-subframes-slots-and-resources/", "published_at": "2025-03-28T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f6a2674e", "title": "C stack trace in Windows", "url": "https://smhk.net/note/2025/03/c-stack-trace-in-windows/", "published_at": "2025-03-25T18:15:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f7269ee1", "title": "Enable British English language in Firefox", "url": "https://smhk.net/note/2025/03/enable-british-english-language-in-firefox/", "published_at": "2025-03-14T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f7bd8e3d", "title": "Open5GS: Change WebUI IP and port", "url": "https://smhk.net/note/2025/02/open5gs-change-webui-ip-and-port/", "published_at": "2025-02-28T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f8132e1d", "title": "Setting up a test 5G network", "url": "https://smhk.net/note/2025/03/setting-up-a-test-5g-network/", "published_at": "2025-02-28T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f8ac09c3", "title": "The Important Files (part 11): Fixing Windows 11 Samba share", "url": "https://smhk.net/note/2025/01/the-important-files-part-11/", "published_at": "2025-01-11T16:45:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30f9a3665a", "title": "Configure Poetry to use a virtualenv", "url": "https://smhk.net/note/2024/12/configure-poetry-to-use-a-virtualenv/", "published_at": "2024-12-17T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fa8b13bc", "title": "Valgrind 'Invalid read' with SDL2", "url": "https://smhk.net/note/2024/12/valgrind-invalid-read/", "published_at": "2024-12-14T13:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fb1cdf96", "title": "Pylint: Use source-roots instead of init-hook to fix E0401 'import-error'", "url": "https://smhk.net/note/2024/12/pylint-source-roots/", "published_at": "2024-12-13T13:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fb6144a1", "title": "Convert a Python script into a Poetry package", "url": "https://smhk.net/note/2024/12/convert-a-python-script-into-a-poetry-package/", "published_at": "2024-12-13T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fb988e92", "title": "CMake and coverage with gcov", "url": "https://smhk.net/note/2024/11/cmake-and-coverage-with-gcov/", "published_at": "2024-11-25T17:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fc3e67bd", "title": "Setting up Unity test framework for CMake", "url": "https://smhk.net/note/2024/11/setting-up-unity-test-framework-for-cmake/", "published_at": "2024-11-20T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fcaa7113", "title": "Installing Docker Desktop using local admin", "url": "https://smhk.net/note/2024/11/docker-desktop-local-admin/", "published_at": "2024-11-12T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fccad628", "title": "Zig: First impressions", "url": "https://smhk.net/note/2024/11/zig-first-impressions/", "published_at": "2024-11-04T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fcf5e126", "title": "C memory layout", "url": "https://smhk.net/note/2024/11/c-memory-layout/", "published_at": "2024-11-04T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fd6f0e66", "title": "Switching from Netlify to Uberspace", "url": "https://smhk.net/note/2024/10/setting-up-uberspace/", "published_at": "2024-10-30T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fe0bd341", "title": "Hugo: How to create a post series", "url": "https://smhk.net/note/2024/10/hugo-post-series/", "published_at": "2024-10-29T17:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fe636ce9", "title": "FDM, OFDM & OFDMA", "url": "https://smhk.net/note/2024/10/fdm-ofdm-and-ofdma/", "published_at": "2024-10-29T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30ff39ac32", "title": "Debian: Upgrading Dropbox", "url": "https://smhk.net/note/2024/10/debian-upgrading-dropbox/", "published_at": "2024-10-21T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce30fff49ab7", "title": "Upgrading Node, Go and Hugo for this website", "url": "https://smhk.net/note/2024/10/upgrading-node-go-and-hugo-for-this-website/", "published_at": "2024-10-20T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310076754c", "title": "Ubuntu: allow a port through the firewall", "url": "https://smhk.net/note/2024/10/ubuntu-allow-port-through-firewall/", "published_at": "2024-10-08T14:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3100e93b4c", "title": "Setting up Zig on Windows for VS Code", "url": "https://smhk.net/note/2024/10/setting-up-zig-on-windows/", "published_at": "2024-10-01T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3101089cae", "title": "The Important Files (part 10): Fixing borg backup", "url": "https://smhk.net/note/2024/09/the-important-files-part-10/", "published_at": "2024-09-30T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3101a4645d", "title": "Git: display current branch in Bash", "url": "https://smhk.net/note/2024/09/git-display-current-branch-in-bash/", "published_at": "2024-09-03T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31024c3f34", "title": "Jupyter: plot multiple layers on a single map", "url": "https://smhk.net/note/2024/08/jupyter-plot-multiple-layers-on-a-single-map/", "published_at": "2024-08-14T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31032e4d3a", "title": "Box2D v3 is released", "url": "https://smhk.net/note/2024/08/box2d-v3/", "published_at": "2024-08-12T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310365da1e", "title": "Docker: understanding it", "url": "https://smhk.net/note/2024/08/docker-understanding-it/", "published_at": "2024-08-09T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310436a205", "title": "Setting up Rye on Windows", "url": "https://smhk.net/note/2024/08/setting-up-rye-on-windows/", "published_at": "2024-08-09T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31044cf23c", "title": "Recursively update Git submodules", "url": "https://smhk.net/note/2024/08/2024-08-02-recursively-update-git-submodules/", "published_at": "2024-08-02T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31048fbf28", "title": "Python forward reference", "url": "https://smhk.net/note/2024/08/2024-08-02-python-forward-reference/", "published_at": "2024-08-02T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3104b86f3a", "title": "Python argparse", "url": "https://smhk.net/note/2024/08/2024-08-01-python-argparse/", "published_at": "2024-08-01T14:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3104ee6b8a", "title": "What is O-RAN?", "url": "https://smhk.net/note/2024/07/what-is-o-ran/", "published_at": "2024-07-31T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3105aa1b28", "title": "Getting started with clang-format", "url": "https://smhk.net/note/2024/07/getting-started-with-clang-format/", "published_at": "2024-07-29T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310651fd11", "title": "pytest: Selectively mark values as xfail in parametrize", "url": "https://smhk.net/note/2024/06/pytest-selectively-mark-values-in-parametrize/", "published_at": "2024-06-11T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3107017c5e", "title": "Xming: bind to IP", "url": "https://smhk.net/note/2024/06/xming-bind-to-ip/", "published_at": "2024-06-06T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3107853c0c", "title": "Directory specific environment variables with direnv", "url": "https://smhk.net/note/2024/05/directory-specific-environment-variables-with-direnv/", "published_at": "2024-05-30T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310813fbab", "title": "VirtualBox VM freezes at 'Loading essential drivers'", "url": "https://smhk.net/note/2024/05/vm-freezing-at-loading-essential-drivers/", "published_at": "2024-05-08T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310841f6e2", "title": "Hugo: Global resources", "url": "https://smhk.net/note/2024/05/hugo-global-resources/", "published_at": "2024-05-01T18:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310935d040", "title": "Pure CSS dark mode support for code highlighting", "url": "https://smhk.net/note/2024/05/pure-css-dark-mode-support-for-code-highlighting/", "published_at": "2024-05-01T07:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310957ea3c", "title": "Upgrade version of pkginfo used by Poetry", "url": "https://smhk.net/note/2024/04/upgrade-version-of-pkginfo-used-by-poetry/", "published_at": "2024-04-30T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31097cf584", "title": "Interactive geodetic coordinates", "url": "https://smhk.net/note/2024/04/interactive-geodetic-coordinates/", "published_at": "2024-04-29T17:10:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310a6cab86", "title": "Python: mock reading and writing files", "url": "https://smhk.net/note/2024/04/python-mock-reading-and-writing-files/", "published_at": "2024-04-20T15:45:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310a8c7f0a", "title": "Pure CSS dark mode support", "url": "https://smhk.net/note/2024/04/pure-css-dark-mode-support/", "published_at": "2024-04-11T07:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310a917688", "title": "Hugo: Migrating from Pygments to Chroma", "url": "https://smhk.net/note/2024/04/hugo-migrating-from-pygments-to-chroma/", "published_at": "2024-04-10T16:20:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310b18f8d7", "title": "The Important Files (part 9): Updating rsync.net account", "url": "https://smhk.net/note/2024/04/the-important-files-part-9/", "published_at": "2024-04-08T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310bfb0951", "title": "Trying out Coolify", "url": "https://smhk.net/note/2024/03/trying-out-coolify/", "published_at": "2024-03-24T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310c60048a", "title": "Replacing Tox with Poetry and pre-commit for CI linting", "url": "https://smhk.net/note/2024/03/replacing-tox-with-poetry-and-pre-commit-for-ci-linting/", "published_at": "2024-03-22T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310cf75918", "title": "Useful symbols", "url": "https://smhk.net/note/2024/03/useful-symbols/", "published_at": "2024-03-20T08:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310dc85bae", "title": "Setting up PowerShell", "url": "https://smhk.net/note/2024/03/setting-up-powershell/", "published_at": "2024-03-08T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310e52d8cd", "title": "Git typo hamming distance", "url": "https://smhk.net/note/2024/03/2024-03-07-git-hamming-distance/", "published_at": "2024-03-07T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce310f313941", "title": "NiceGUI with async classes", "url": "https://smhk.net/note/2024/03/nicegui-with-async-classes/", "published_at": "2024-03-07T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31102135e8", "title": "Python: how (not) to reset a dataclass", "url": "https://smhk.net/note/2024/02/python-how-not-to-reset-a-dataclass/", "published_at": "2024-02-21T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31107e09ed", "title": "Using gprof with POSIX FreeRTOS", "url": "https://smhk.net/note/2024/02/using-gprof-with-posix-freertos/", "published_at": "2024-02-15T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311174cd20", "title": "shm_open not working under systemd", "url": "https://smhk.net/note/2024/02/shm-open-not-working-under-systemd/", "published_at": "2024-02-05T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3111bb48c7", "title": "Sphinx: Link to HTML from MyST Markdown", "url": "https://smhk.net/note/2024/01/sphinx-link-to-html-from-myst-markdown/", "published_at": "2024-01-22T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311285434c", "title": "New Year's Resolution", "url": "https://smhk.net/note/2024/01/new-years-resolution/", "published_at": "2024-01-19T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31135a3c50", "title": "Append to .bashrc using Ansible", "url": "https://smhk.net/note/2024/01/append-to-bashrc-using-ansible/", "published_at": "2024-01-17T18:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3113870269", "title": "Using Kerberos from an Ansible playbook", "url": "https://smhk.net/note/2024/01/using-kerberos-from-an-ansible-playbook/", "published_at": "2024-01-15T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311443e2c8", "title": "Poetry: install alpha builds", "url": "https://smhk.net/note/2024/01/poetry-install-alpha-builds/", "published_at": "2024-01-09T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31151c8b1a", "title": "Detect if Ansible is running under Vagrant", "url": "https://smhk.net/note/2024/01/detect-if-ansible-is-running-under-vagrant/", "published_at": "2024-01-06T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3115607c80", "title": "Reflections on 10 years as a professional Software Engineer", "url": "https://smhk.net/10-years/", "published_at": "2024-01-01T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3116542b19", "title": "GitLab CI and poetry-dynamic-versioning", "url": "https://smhk.net/note/2023/12/gitlab-ci-and-poetry-dynamic-versioning/", "published_at": "2023-12-20T18:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3117105b72", "title": "How to set up Ansible and Vagrant in WSL", "url": "https://smhk.net/note/2023/12/ansible-and-vagrant-in-wsl/", "published_at": "2023-12-15T22:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31174402d4", "title": "Testing Vector and Clickhouse", "url": "https://smhk.net/note/2023/12/testing-vector-and-clickhouse/", "published_at": "2023-12-05T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31182dab52", "title": "Python log storage", "url": "https://smhk.net/note/2023/12/python-log-storage/", "published_at": "2023-12-04T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3118bd1c01", "title": "Using structlog and journald", "url": "https://smhk.net/note/2023/11/structlog-and-journald/", "published_at": "2023-11-30T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3118c8f734", "title": "Run Poetry command as systemd service", "url": "https://smhk.net/note/2023/11/run-poetry-command-as-systemd-service/", "published_at": "2023-11-29T13:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3119678da1", "title": "Reading from and writing to journald in Python", "url": "https://smhk.net/note/2023/11/reading-from-and-writing-to-journald-in-python/", "published_at": "2023-11-29T13:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3119de3af9", "title": "Installing systemd-python on Ubuntu", "url": "https://smhk.net/note/2023/11/installing-systemd-python-on-ubuntu/", "published_at": "2023-11-29T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311a0e7df4", "title": "python-systemd != python-systemd", "url": "https://smhk.net/note/2023/11/systemd-python-vs-python-systemd/", "published_at": "2023-11-24T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311a5ce712", "title": "PlantUML in Sphinx (using MyST Markdown) and GitLab", "url": "https://smhk.net/note/2023/11/plantuml-in-sphinx-using-myst-and-gitlab/", "published_at": "2023-11-22T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311aa2ddce", "title": "Managing multiple remotes in Git", "url": "https://smhk.net/note/2023/11/managing-multiple-remotes-in-git/", "published_at": "2023-11-17T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311af467c9", "title": "Renaming Git branches", "url": "https://smhk.net/note/2023/11/renaming-git-branches/", "published_at": "2023-11-16T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311b8a5432", "title": "Poetry: Offline installation of packages", "url": "https://smhk.net/note/2023/11/poetry-offline-installation-of-packages/", "published_at": "2023-11-14T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311bc5dbf3", "title": "Configuring a Brocade FastIron switch", "url": "https://smhk.net/note/2023/11/configuring-a-brocade-fastiron-switch/", "published_at": "2023-11-01T20:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311c38a3d4", "title": "NiceGUI: Change threshold for binding propagation warning", "url": "https://smhk.net/note/2023/10/nicegui-binding-propagation-warning/", "published_at": "2023-10-11T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311ccb81d8", "title": "NiceGUI: Bind visibility to arbitrary value", "url": "https://smhk.net/note/2023/10/nicegui-bind-visibility-to-arbitrary-value/", "published_at": "2023-10-09T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311cf325c6", "title": "NiceGUI: tkinter error when updating pyplot", "url": "https://smhk.net/note/2023/10/nicegui-tkinter-error-when-updating-pyplot/", "published_at": "2023-10-04T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311cfc59c1", "title": "The Important Files (part 8): Setting up NAS after shipping across the Atlantic", "url": "https://smhk.net/note/2023/10/the-important-files-part-8/", "published_at": "2023-10-03T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311dcc5725", "title": "Django REST framework performance (part 2: techniques)", "url": "https://smhk.net/note/2023/09/django-rest-framework-performance-part-2/", "published_at": "2023-09-29T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311df45eb6", "title": "NiceGUI with Click, Poetry, auto-reload and classes", "url": "https://smhk.net/note/2023/09/nicegui-with-click-poetry-auto-reload-and-classes/", "published_at": "2023-09-27T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311e81c4f2", "title": "FastAPI: Pretty print JSON", "url": "https://smhk.net/note/2023/09/fastapi-pretty-print-json/", "published_at": "2023-09-25T14:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311f36b42a", "title": "Django REST framework performance (part 1: profiling)", "url": "https://smhk.net/note/2023/09/django-rest-framework-performance-part-1/", "published_at": "2023-09-22T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311f6a5240", "title": "NiceGUI: File upload and download", "url": "https://smhk.net/note/2023/09/nicegui-file-upload-and-download/", "published_at": "2023-09-21T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce311fb69393", "title": "NiceGUI: Show a confirmation popup", "url": "https://smhk.net/note/2023/09/nicegui-show-a-confirmation-popup/", "published_at": "2023-09-19T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3120990116", "title": "NiceGUI: Always show main scrollbar", "url": "https://smhk.net/note/2023/09/nicegui-always-show-main-scrollbar/", "published_at": "2023-09-15T07:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312151c1a1", "title": "Poetry: Fixing permission error when upgrading dulwich", "url": "https://smhk.net/note/2023/09/poetry-fixing-permission-error/", "published_at": "2023-09-13T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312159f198", "title": "Python: Using isort with Black to improve your code base", "url": "https://smhk.net/note/2023/09/python-using-isort/", "published_at": "2023-09-07T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312190aded", "title": "Poetry: Running Black and isort with pre-commit hooks", "url": "https://smhk.net/note/2023/09/poetry-pre-commit-hooks/", "published_at": "2023-09-04T13:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31228d5a99", "title": "Poetry: Fix warning about sources", "url": "https://smhk.net/note/2023/08/poetry-fix-warning-about-sources/", "published_at": "2023-08-24T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3122d7a623", "title": "GitLab: Enable coverage reporting with pytest", "url": "https://smhk.net/note/2023/08/gitlab-enable-coverage-reporting-with-pytest/", "published_at": "2023-08-23T14:59:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3123b0df97", "title": "Sphinx: Cross-referencing with MyST Markdown", "url": "https://smhk.net/note/2023/08/sphinx-cross-referencing-with-myst-markdown/", "published_at": "2023-08-21T10:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3123f82cab", "title": "Poetry: Automatically generate package version from git commit", "url": "https://smhk.net/note/2023/08/poetry-automatically-generated-package-version-from-git-commit/", "published_at": "2023-08-09T10:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3124d97200", "title": "Poetry: build.py example", "url": "https://smhk.net/note/2023/08/poetry-build-py-example/", "published_at": "2023-08-07T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312521fb5c", "title": "Poetry: Fixing dubious ownership error", "url": "https://smhk.net/note/2023/08/poetry-fixing-dubious-ownership-error/", "published_at": "2023-08-03T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31257c88a3", "title": "Debugging missing UDP packets with Wireshark", "url": "https://smhk.net/note/2023/08/debugging-missing-udp-packets-with-wireshark/", "published_at": "2023-08-03T06:00:00+00:00" } ] posts Claim your blog
Back to smhk.net
Blog · corpus.blog/blogs/smhk.net/posts

smhk.net

smhk.net

2026

2025

2024

2023