41554 blogs · [ { "id": "01a087e2-904a-73a2-a17a-ce3125bf2360", "title": "GitLab CI: Using a private project's container in a Dockerfile", "url": "https://smhk.net/note/2023/07/gitlab-ci-using-a-private-projects-container-in-a-dockerfile/", "published_at": "2023-07-23T18:10:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31269fcb7f", "title": "GitLab CI: Using a private project's container as an image", "url": "https://smhk.net/note/2023/07/gitlab-ci-using-a-private-projects-container-as-an-image/", "published_at": "2023-07-23T18:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312728ac12", "title": "Installing Cartopy on Ubuntu", "url": "https://smhk.net/note/2023/07/installing-cartopy-on-ubuntu/", "published_at": "2023-07-18T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31273e7e02", "title": "Hugo: Setting up Plausible analytics", "url": "https://smhk.net/note/2023/07/hugo-setting-up-plausible-analytics/", "published_at": "2023-07-04T19:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31278717ac", "title": "Memory allocation error in WAV files created by arecord", "url": "https://smhk.net/note/2023/06/memory-allocation-error-in-wav-files-created-by-arecord/", "published_at": "2023-06-19T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312843fb44", "title": "Normalizing a Django model", "url": "https://smhk.net/note/2023/04/normalizing-a-django-model/", "published_at": "2023-04-19T13:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31284d01c6", "title": "Celery and systemd: how to avoid a restart loop", "url": "https://smhk.net/note/2023/01/celery-and-systemd/", "published_at": "2023-02-03T10:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3128c4f62d", "title": "Handle FreeRTOS tick rollover with 64-bit ticks", "url": "https://smhk.net/note/2023/01/handle-freertos-tick-rollover-with-64-bit-ticks/", "published_at": "2023-01-26T13:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31291059ef", "title": "Print a 64-bit integer using 32-bit integers", "url": "https://smhk.net/note/2023/01/print-64-bit-integer-using-32-bit-integers/", "published_at": "2023-01-26T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312990fc27", "title": "VMware Workstation VM gets sluggish then locks up", "url": "https://smhk.net/note/2023/01/vmware-workstation-vm-sluggish-then-locks-up-following-recent-windows-update/", "published_at": "2023-01-09T09:13:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312a6a88d9", "title": "Hugo anchors next to headers", "url": "https://smhk.net/note/2022/09/hugo-anchors-next-to-headers/", "published_at": "2022-09-17T05:35:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312b2ab9a1", "title": "Collecting Netlify Analytics data with Python", "url": "https://smhk.net/note/2022/05/collecting-netlify-analytics-data-with-python/", "published_at": "2022-05-16T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312b8a5bfa", "title": "Decimal error when upgrading from Django 3.1 to Django 3.2", "url": "https://smhk.net/note/2022/05/decimal-error-when-upgrading-django/", "published_at": "2022-05-05T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312bb6693a", "title": "Setting up CMocka with CMake for Linux and Windows", "url": "https://smhk.net/note/2022/04/setting-up-cmocka/", "published_at": "2022-04-26T11:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312c18924f", "title": "Porting a simple SDL2 game to Emscripten", "url": "https://smhk.net/note/2022/04/porting-a-simple-sdl2-game-to-emscripten/", "published_at": "2022-04-21T11:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312d029a47", "title": "Setting up Emscripten with CMake on Linux", "url": "https://smhk.net/note/2022/04/setting-up-emscripten-on-linux/", "published_at": "2022-04-21T02:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312db87ccb", "title": "Setting up Emscripten with CMake in Git Bash on Windows 10", "url": "https://smhk.net/note/2022/04/setting-up-emscripten-on-windows-10/", "published_at": "2022-04-20T02:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312e5b1c67", "title": "Network adapter disappears after reboot", "url": "https://smhk.net/note/2022/04/network-adapter-disappears-after-reboot/", "published_at": "2022-04-20T00:50:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312ea96618", "title": "A portable timegm alternative", "url": "https://smhk.net/note/2022/04/portable-timegm-alternative/", "published_at": "2022-04-05T16:28:11+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312f18a64b", "title": "Fixing apt-key deprecation on Debian 9 (\"stretch\")", "url": "https://smhk.net/note/2022/03/fixing-apt-key-deprecation/", "published_at": "2022-03-30T07:13:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce312fa37621", "title": "The Important Files (part 7): Switching to TrueNAS after 2 years powered off", "url": "https://smhk.net/note/2021/08/the-important-files-part-7/", "published_at": "2021-08-13T13:58:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313048d749", "title": "Notes on history of LTE and 4G", "url": "https://smhk.net/note/2021/01/notes-on-history-of-lte-and-4g/", "published_at": "2021-01-07T12:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3130ca58bf", "title": "Permission denied in Docker container upon COPY and RUN of a file from git", "url": "https://smhk.net/note/2020/10/permission-denied-in-docker-container-upon-copy-and-run-of-a-file-from-git/", "published_at": "2020-10-16T20:17:42+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3130cd40a7", "title": "Docker build invalid reference format", "url": "https://smhk.net/note/2020/10/docker-build-invalid-reference-format/", "published_at": "2020-10-09T01:17:42+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31315526bc", "title": "nmcli tips", "url": "https://smhk.net/note/2020/08/nmcli-tips/", "published_at": "2020-08-12T17:41:42+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31318504a3", "title": "Workaround for installing Dropbox on Debian with libpango transitional package", "url": "https://smhk.net/note/2020/05/workaround-for-installing-dropbox-on-debian-with-libpango-transitional-package/", "published_at": "2020-05-31T05:24:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31322b714c", "title": "Removing a third-party Django app and its tables", "url": "https://smhk.net/note/2020/05/removing-a-third-party-django-app-and-its-tables/", "published_at": "2020-05-21T08:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31328b2df6", "title": "Running inkscape_merge against Inkscape v1.0", "url": "https://smhk.net/note/2020/05/running-inkscape-merge-against-inkscape-v1-0/", "published_at": "2020-05-17T12:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313369eb3a", "title": "Sonic Pi on Debian", "url": "https://smhk.net/note/2020/05/sonic-pi-on-debian/", "published_at": "2020-05-16T11:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31337efb9d", "title": "mypy tips", "url": "https://smhk.net/note/2020/04/mypy-tips/", "published_at": "2020-04-17T12:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3133d1ec4a", "title": "SSH tips", "url": "https://smhk.net/note/2020/04/ssh-tips/", "published_at": "2020-04-09T12:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3133d270f0", "title": "mypy and verbose logging", "url": "https://smhk.net/note/2020/03/mypy-and-verbose-logging/", "published_at": "2020-03-24T12:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31348ccfa6", "title": "Researching generating playing cards from an SVG template using Inkscape", "url": "https://smhk.net/note/2020/02/researching-generating-playing-cards-from-an-svg-template-using-inkscape/", "published_at": "2020-02-02T19:02:02+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3135191227", "title": "Migrating from Tastypie to Django REST Framework", "url": "https://smhk.net/note/2019/07/migrating-from-tastypie-to-django-rest-framework/", "published_at": "2019-07-16T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313523f4f0", "title": "Python abi3 wheels", "url": "https://smhk.net/note/2019/07/python-abi3-wheels/", "published_at": "2019-07-03T08:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31356113f5", "title": "Configure Python package to install dependencies only for specific combinations of Python version and platform", "url": "https://smhk.net/note/2019/03/configure-python-package-to-install-dependencies-only-for-specific-combinations-of-python-version-and-platform/", "published_at": "2019-03-07T11:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3135efabb9", "title": "Python click: allow user to retry input upon validation failure", "url": "https://smhk.net/note/2019/02/python-click-allow-user-to-retry-input-upon-validation-failure/", "published_at": "2019-02-07T18:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31369a666e", "title": "Call Python script from pylint init-hook", "url": "https://smhk.net/note/2019/01/call-python-script-from-pylint-init-hook/", "published_at": "2019-01-25T12:51:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31372a3ac5", "title": "Python DEPRECATION warning and pip --no-cache-dir breakage", "url": "https://smhk.net/note/2019/01/python-deprecation-warning-and-pip-no-cache-dir-breakage/", "published_at": "2019-01-23T10:48:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3137879f00", "title": "libusb usb_open error -4", "url": "https://smhk.net/note/2019/01/libusb-usb-open-error-4/", "published_at": "2019-01-03T13:36:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3137d1dc55", "title": "Troubleshooting wifi driver crashing (part 4)", "url": "https://smhk.net/note/2018/11/troubleshooting-wifi-driver-crashing-part-4/", "published_at": "2018-11-29T20:16:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3137de30a4", "title": "Making Visio 2016 Usable", "url": "https://smhk.net/note/2018/11/making-visio-2016-usable/", "published_at": "2018-11-14T10:44:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3138aba1d5", "title": "Troubleshooting wifi driver crashing (part 3)", "url": "https://smhk.net/note/2018/10/troubleshooting-wifi-driver-crashing-part-3/", "published_at": "2018-10-24T19:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31394e259c", "title": "Troubleshooting wifi driver crashing (part 2)", "url": "https://smhk.net/note/2018/10/troubleshooting-wifi-driver-crashing-part-2/", "published_at": "2018-10-18T19:06:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313a2c92bf", "title": "Install Hugo testing distribution on Debian", "url": "https://smhk.net/note/2018/10/install-hugo-testing-distribution-on-debian/", "published_at": "2018-10-14T20:01:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313a83ccd9", "title": "Debian center window keyboard shortcut", "url": "https://smhk.net/note/2018/10/debian-center-window-keyboard-shortcut/", "published_at": "2018-10-14T17:24:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313b47d044", "title": "Troubleshooting wifi driver crashing (part 1)", "url": "https://smhk.net/note/2018/10/troubleshooting-wifi-driver-crashing/", "published_at": "2018-10-13T11:20:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313b9cd99d", "title": "Bootstrapping pip", "url": "https://smhk.net/note/2018/08/bootstrapping-pip/", "published_at": "2018-08-31T14:38:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313c681713", "title": "Invalid handle error from Coverage inside Tox", "url": "https://smhk.net/note/2018/08/invalid-handle-error-from-coverage-inside-tox/", "published_at": "2018-08-31T13:06:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313c987758", "title": "Run Django makemigrations as tox task", "url": "https://smhk.net/note/2018/08/run-django-makemigrations-as-tox-task/", "published_at": "2018-08-30T13:26:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313c9ce46a", "title": "New dependency font(:lang-en) required by fontconfig-2.10.95-11", "url": "https://smhk.net/note/2018/08/new-dependency-fontconfig/", "published_at": "2018-08-28T09:57:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313d565ab5", "title": "Installing rpms offline using a local yum repository", "url": "https://smhk.net/note/2018/08/installing-rpms-offline-using-a-local-yum-repository/", "published_at": "2018-08-24T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313dee7bce", "title": "The Important Files (part 6): Linux Samba share", "url": "https://smhk.net/note/2018/08/the-important-files-part-6/", "published_at": "2018-08-07T20:15:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313e35b4a8", "title": "The Important Files (part 5): Setting up borg backup to sync.net", "url": "https://smhk.net/note/2018/07/the-important-files-part-5/", "published_at": "2018-07-31T21:28:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313e76fab6", "title": "The Important Files (part 4): Setting up borg in a jail", "url": "https://smhk.net/note/2018/07/the-important-files-part-4/", "published_at": "2018-07-29T22:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313ea92408", "title": "How to reload Ethernet udev rules without reboot", "url": "https://smhk.net/note/2018/07/how-to-reload-ethernet-udev-rules-without-reboot/", "published_at": "2018-07-19T15:55:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313f10e202", "title": "Modify bash history", "url": "https://smhk.net/note/2018/07/modify-bash-history/", "published_at": "2018-07-10T16:21:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce313f65cdff", "title": "Freeing up disk space on Arch Linux", "url": "https://smhk.net/note/2018/07/freeing-up-disk-space-on-arch-linux/", "published_at": "2018-07-06T19:55:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314003fc58", "title": "The Important Files (part 3): Create a dataset and shares", "url": "https://smhk.net/note/2018/06/the-important-files-part-3/", "published_at": "2018-06-23T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3140ea94be", "title": "The Important Files (part 2): Install FreeNAS", "url": "https://smhk.net/note/2018/06/the-important-files-part-2/", "published_at": "2018-06-12T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31416591d9", "title": "Calling iPerf3 from Python", "url": "https://smhk.net/note/2018/06/calling-iperf3-from-python/", "published_at": "2018-06-06T15:12:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314220e3e1", "title": "The Important Files (part 1): The goal", "url": "https://smhk.net/note/2018/06/the-important-files-part-1/", "published_at": "2018-06-02T09:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31427ec07d", "title": "Debugging a Python process not terminating due to active threads", "url": "https://smhk.net/note/2018/05/debugging-python-process-not-terminating-due-to-active-threads/", "published_at": "2018-05-16T10:41:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3143365f3a", "title": "Lint Bash on Windows", "url": "https://smhk.net/note/2018/05/lint-bash-on-windows/", "published_at": "2018-05-15T08:25:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3143a577bd", "title": "Convert Emacs org files to markdown", "url": "https://smhk.net/note/2018/04/convert-emacs-org-files-to-markdown/", "published_at": "2018-04-26T21:35:15+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3143d2c1d3", "title": "Emacs package managers", "url": "https://smhk.net/note/2018/04/emacs-package-managers/", "published_at": "2018-04-26T19:45:33+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314472d294", "title": "Make temporary network changes permanent under CentOS 7", "url": "https://smhk.net/note/2018/04/make-temporary-network-changes-permanent-under-centos-7/", "published_at": "2018-04-25T09:47:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3144c440b0", "title": "Lightweight Python SIP library", "url": "https://smhk.net/note/2018/04/lightweight-python-sip-library/", "published_at": "2018-04-20T12:07:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3144eb4319", "title": "Removing unused COM ports from Windows", "url": "https://smhk.net/note/2018/04/removing-unused-com-ports-from-windows/", "published_at": "2018-04-19T14:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31452c99fd", "title": "Attach shell to running Python process", "url": "https://smhk.net/note/2018/04/attach-shell-to-running-python-process/", "published_at": "2018-04-16T09:47:01+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3145dc0d79", "title": "Hugo 0.37 does not support h6 markdown heading", "url": "https://smhk.net/note/2018/03/hugo-h6-markdown-heading/", "published_at": "2018-03-19T20:55:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3146b54d7c", "title": "Bind hugo to localhost for development", "url": "https://smhk.net/note/2018/03/bind-hugo-to-localhost-for-development/", "published_at": "2018-03-18T20:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3147a96607", "title": "Calling MPSSE over FTDI from Python on CentOS 7", "url": "https://smhk.net/note/2018/03/calling-mpsse-over-ftdi-from-python-on-centos-7/", "published_at": "2018-03-12T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3147b5ef90", "title": "Hugo tag and category pages", "url": "https://smhk.net/note/2018/03/hugo-tag-and-category-pages/", "published_at": "2018-03-11T15:38:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3147d72ee0", "title": "Calling C from Python", "url": "https://smhk.net/note/2018/03/calling-c-from-python/", "published_at": "2018-03-09T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314820e693", "title": "Building against `libusb`", "url": "https://smhk.net/note/2018/03/building-against-libusb/", "published_at": "2018-03-08T15:40:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce3149066301", "title": "Get errno from Python requests `ConnectionError`", "url": "https://smhk.net/note/2018/02/get-errno-from-python-requests-connectionerror/", "published_at": "2018-02-20T11:05:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31493d535b", "title": "Python logging: %s vs format", "url": "https://smhk.net/note/2018/02/python-logging/", "published_at": "2018-02-16T11:05:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce31497e273b", "title": "Escaping Hugo shortcodes within Hugo markdown", "url": "https://smhk.net/note/2018/02/escape-hugo-sortcodes-within-markdown/", "published_at": "2018-02-11T16:45:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314a3fcc6a", "title": "Automatic image thumbnails in Hugo from static directory", "url": "https://smhk.net/note/2018/02/automatic-image-thumbnails-in-hugo-from-static-directory/", "published_at": "2018-02-11T16:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314a5f0f33", "title": "Captured `SystemExit` with pytest and tox", "url": "https://smhk.net/note/2018/02/captured-systemexit-with-pytest-and-tox/", "published_at": "2018-02-09T15:58:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ac2a18e", "title": "Tastypie \"TypeError of type 'NoneType' is not iterable\"", "url": "https://smhk.net/note/2018/02/tastypie-typeerror-of-type-nonetype-is-not-iterable/", "published_at": "2018-02-09T10:20:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ac61088", "title": "Using a non-pk as a foreign key in a Tastypie endpoint", "url": "https://smhk.net/note/2018/02/using-non-pk-as-foreign-key-in-tastypie-endpoint/", "published_at": "2018-02-08T16:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314b034f19", "title": "pytest and functools decorator", "url": "https://smhk.net/note/2018/02/pytest-and-functools-decorator/", "published_at": "2018-02-06T10:20:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314bb689ca", "title": "normalize-scss with hugo", "url": "https://smhk.net/note/2018/02/normalize-scss-with-hugo/", "published_at": "2018-02-02T17:30:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314c1776ed", "title": "Automating hugo development with npm scripts", "url": "https://smhk.net/note/2018/02/automating-hugo-development-with-npm-scripts/", "published_at": "2018-02-02T17:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314c645c6b", "title": "RabbitMQ handshake timeout caused by hostname change", "url": "https://smhk.net/note/2018/01/rabbitmq-handshake-timeout-caused-by-hostname-change/", "published_at": "2018-01-29T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314caa3da8", "title": "Run Django `manage.py makemigrations` without a database", "url": "https://smhk.net/note/2018/01/run-django-makemigrations-without-a-database/", "published_at": "2018-01-29T10:00:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ce70a2f", "title": "Avoid a process terminating when logging off a remote SSH session", "url": "https://smhk.net/note/2018/01/avoid-process-terminating-when-logging-off-remote-ssh-session/", "published_at": "2018-01-25T09:41:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314d829786", "title": "Celery pinging", "url": "https://smhk.net/note/2018/01/celery-pinging/", "published_at": "2018-01-25T09:41:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314da2cfb5", "title": "Kombu \"timed out\" bug: connection hangs forever in Kombu 4.1.0", "url": "https://smhk.net/note/2018/01/kombu-timed-out-bug-connection-hangs-forever/", "published_at": "2018-01-25T09:41:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314de1a638", "title": "Manually invoking Celery app control commands from a Python package", "url": "https://smhk.net/note/2018/01/manually-invoking-celery-app-control-commands-from-python-package/", "published_at": "2018-01-24T09:46:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314de54cd1", "title": "Tastypie and pytest", "url": "https://smhk.net/note/2018/01/tastypie-and-pytest/", "published_at": "2018-01-24T09:46:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314e7c285f", "title": "Debugging RabbitMQ", "url": "https://smhk.net/note/2018/01/debugging-rabbitmq/", "published_at": "2018-01-22T09:58:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ebf9cb6", "title": "SSH tunnel via gateway", "url": "https://smhk.net/note/2018/01/ssh-tunnel-via-gateway/", "published_at": "2018-01-19T11:24:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314f40d2a6", "title": "Show whitespace in vi", "url": "https://smhk.net/note/2018/01/show-whitespace-in-vi/", "published_at": "2018-01-18T10:35:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ff0f33c", "title": "Using a different port with Fabric", "url": "https://smhk.net/note/2018/01/using-a-different-port-with-fabric/", "published_at": "2018-01-16T10:39:00+00:00" }, { "id": "01a087e2-904a-73a2-a17a-ce314ff49d58", "title": "CentOS 7 firewalld", "url": "https://smhk.net/note/2018/01/centos-7-firewalld/", "published_at": "2018-01-15T14:20:00+00:00" } ] posts Claim your blog
Back to smhk.net
Blog · corpus.blog/blogs/smhk.net/posts

smhk.net

smhk.net

2023

2022

2021

2020

2019

2018