56,966 blogs · [ { "id": "01a0876c-2269-728e-a563-d7c0d14b3d98", "title": "Running River as a systemd service", "url": "https://devork.be/blog/2025/07/river-as-systemd/", "published_at": "2025-07-24T22:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d213c401", "title": "Closing a QUIC Connection", "url": "https://devork.be/blog/2024/12/closing-a-quic-connection/", "published_at": "2024-12-16T23:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d25cbb72", "title": "Using MapLibre GL in Tauri", "url": "https://devork.be/blog/2024/04/tauri-maplibre/", "published_at": "2024-04-09T22:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d329c3f3", "title": "Using Modern Linux Sockets", "url": "https://devork.be/blog/2023/11/modern-linux-sockets/", "published_at": "2023-11-04T23:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d3f59f2a", "title": "Experiments with an Email Protocol", "url": "https://devork.be/blog/2023/07/email-protocol/", "published_at": "2023-07-20T22:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d4851e77", "title": "Encrypted root on Debian with keyfile/keyscript", "url": "https://devork.be/blog/2016/12/encrypted-root-on-debian-with/", "published_at": "2016-12-15T21:25:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d4c7e905", "title": "A Container is an Erlang Process", "url": "https://devork.be/blog/2016/08/a-container-is-erlang-process/", "published_at": "2016-08-15T20:57:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d4f8e611", "title": "py.test sprint in Freiburg", "url": "https://devork.be/blog/2016/02/pytest-sprint-in-freiburg/", "published_at": "2016-02-20T13:42:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d5545656", "title": "Pylint and dynamically populated packages", "url": "https://devork.be/blog/2014/12/pylint-and-dynamically-populated/", "published_at": "2014-12-04T22:19:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d63f6d96", "title": "New pytest-timeout release", "url": "https://devork.be/blog/2014/08/new-pytest-timeout-release/", "published_at": "2014-08-06T21:14:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d6b9aabb", "title": "Designing binary/text APIs in a polygot py2/py3 world", "url": "https://devork.be/blog/2014/04/designing-binarytext-apis-in-polygot/", "published_at": "2014-04-27T19:16:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d7708e3f", "title": "Don't be scared of copyright", "url": "https://devork.be/blog/2014/02/dont-be-scared-of-copyright-it-appears/", "published_at": "2014-02-08T15:59:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d7f0c14b", "title": "Setting up a Python development environment on Solaris 11", "url": "https://devork.be/blog/2013/12/vagrant-solaris-python/", "published_at": "2013-12-08T13:27:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d8961f80", "title": "Inspecting un-imported modules using ast", "url": "https://devork.be/blog/2012/06/inspecting-un-imported-modules-using/", "published_at": "2012-06-24T19:21:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d8e950b1", "title": "Small Emacs tweaks impoving my Python coding", "url": "https://devork.be/blog/2011/09/small-emacs-tweaks-impoving-my-python/", "published_at": "2011-09-14T22:21:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0d9ae636c", "title": "Using __getattr__ and property", "url": "https://devork.be/blog/2011/06/using-getattr-and-property_17/", "published_at": "2011-06-17T16:25:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0da371a87", "title": "Synchronising eventlets and threads", "url": "https://devork.be/blog/2011/03/synchronising-eventlets-and-threads/", "published_at": "2011-03-17T18:43:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0db367f66", "title": "Creating subprocesses in new contracts on Solaris 10", "url": "https://devork.be/blog/2011/02/creating-subprocesses-in-new-contracts/", "published_at": "2011-02-08T23:30:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0dc2702d6", "title": "re.search() faster then re.match()", "url": "https://devork.be/blog/2010/12/research-faster-then-rematch/", "published_at": "2010-12-19T21:13:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0dca43de4", "title": "Storm and SQLite in-memory databases", "url": "https://devork.be/blog/2010/11/storm-and-sqlite-in-memory-databases/", "published_at": "2010-11-01T23:10:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0dcf5ef44", "title": "Finding the linux thread ID from within python using ctypes", "url": "https://devork.be/blog/2010/09/finding-linux-thread-id-from-within/", "published_at": "2010-09-02T10:10:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0ddea3a18", "title": "Return inside with statement", "url": "https://devork.be/blog/2010/08/return-inside-with-statement/", "published_at": "2010-08-14T16:35:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0ded18514", "title": "Templating engine in python stdlib?", "url": "https://devork.be/blog/2010/08/templating-engine-in-python-stdlib/", "published_at": "2010-08-09T12:03:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0df63f082", "title": "Using Debian source format 3.0 (quilt) and svn-buildpackage", "url": "https://devork.be/blog/2010/07/using-debian-source-format-30-quilt-and/", "published_at": "2010-07-26T19:02:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0df82ade0", "title": "Europython, threading and virtualenv", "url": "https://devork.be/blog/2010/07/europython-threading-and-virtualenv/", "published_at": "2010-07-23T11:32:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e04af73d", "title": "py.test test generators and cached setup", "url": "https://devork.be/blog/2010/06/pytest-test-generators-and-cached-setup/", "published_at": "2010-06-13T13:44:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e069fad9", "title": "Selectable queue", "url": "https://devork.be/blog/2010/05/selectable-queue/", "published_at": "2010-05-29T11:34:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e1573bc2", "title": "weakref and circular references: should I really care?", "url": "https://devork.be/blog/2010/05/weakref-and-circular-imports-should-i/", "published_at": "2010-05-12T16:09:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e17fad6b", "title": "python-prctl", "url": "https://devork.be/blog/2010/05/python-prctl/", "published_at": "2010-05-08T11:19:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e201106b", "title": "Storm and sqlite locking", "url": "https://devork.be/blog/2010/05/storm-and-sqlite-locking/", "published_at": "2010-05-07T23:44:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e2ec978d", "title": "Python optimisation has surprising side effects", "url": "https://devork.be/blog/2010/04/python-optimisation-has-surprising-side/", "published_at": "2010-04-27T17:43:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e312168f", "title": "Judging performance of python code", "url": "https://devork.be/blog/2010/04/judging-performance-of-python-code/", "published_at": "2010-04-02T21:40:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e398a1ee", "title": "Hacking mock: Mock.assert_api(...)", "url": "https://devork.be/blog/2010/04/hacking-mock-mockassertapi/", "published_at": "2010-04-01T18:45:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e3ceef30", "title": "Using lib2to3 in setup.py", "url": "https://devork.be/blog/2010/03/using-lib2to3-in-setuppy/", "published_at": "2010-03-26T06:40:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e42ef46f", "title": "Discovering basestring", "url": "https://devork.be/blog/2010/02/discovering-basestring/", "published_at": "2010-02-10T19:26:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e49e58e4", "title": "Registering callbacks: to quack like a duck or tell which bit will quack the duck way?", "url": "https://devork.be/blog/2010/02/registering-callbacks-to-quack-like/", "published_at": "2010-02-05T15:20:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e4c2f817", "title": "Pointer arithmetic in C", "url": "https://devork.be/blog/2010/01/pointer-arithmetic-in-c/", "published_at": "2010-01-25T09:53:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e4d13145", "title": "The master plan", "url": "https://devork.be/blog/2010/01/master-plan/", "published_at": "2010-01-18T20:19:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e529fb8d", "title": "Terminology", "url": "https://devork.be/blog/2010/01/terminology/", "published_at": "2010-01-10T17:02:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e60410bc", "title": "Installing Debian on a Sun Fire X2200 M2", "url": "https://devork.be/blog/2010/01/installing-debian-on-sun-fire-x2200-m2/", "published_at": "2010-01-09T15:00:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e675ea57", "title": "Decorators specific to a class", "url": "https://devork.be/blog/2009/12/decorators-specific-to-class/", "published_at": "2009-12-30T12:22:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e6b4d681", "title": "Calling COM methods in C", "url": "https://devork.be/blog/2009/12/calling-com-methods-in-c/", "published_at": "2009-12-26T11:05:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e7a2f3c5", "title": "Setting descriptors on modules", "url": "https://devork.be/blog/2009/12/setting-descriptors-on-modules/", "published_at": "2009-12-23T15:59:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e7ff8228", "title": "Skipping slow test by default in py.test", "url": "https://devork.be/blog/2009/12/skipping-slow-test-by-default-in-pytest/", "published_at": "2009-12-19T19:33:00+00:00" }, { "id": "01a0876c-2269-728e-a563-d7c0e89cb6cd", "title": "setuptools vs distribute", "url": "https://devork.be/blog/2009/12/setuptools-vs-distribute/", "published_at": "2009-12-18T00:51:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e7741081", "title": "Dictionary entry", "url": "https://devork.be/blog/2009/12/dictionary-entry/", "published_at": "2009-12-07T17:29:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e7e34fd5", "title": "How to drive on a motorway", "url": "https://devork.be/blog/2009/12/how-to-drive-on-motorway/", "published_at": "2009-12-06T20:47:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e8c63f6f", "title": "How to make a crosslinked RS-232 cable", "url": "https://devork.be/blog/2009/12/how-to-make-crosslinked-rs-232-cable/", "published_at": "2009-12-03T18:33:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e8ccd0a7", "title": "On using .__getstate__()", "url": "https://devork.be/blog/2009/12/on-using-getstate/", "published_at": "2009-12-01T17:51:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e9bb147c", "title": "Tuple unpacking goodness", "url": "https://devork.be/blog/2009/11/tuple-unpacking-goodness/", "published_at": "2009-11-29T13:35:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809e9c460a0", "title": "The new faces of Europe", "url": "https://devork.be/blog/2009/11/new-faces-of-europe/", "published_at": "2009-11-28T12:57:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ea290539", "title": "Finding memory leaks in extension modules", "url": "https://devork.be/blog/2009/11/finding-memory-leaks-in-extension/", "published_at": "2009-11-24T23:07:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809eaca7813", "title": "New Python System Information release!", "url": "https://devork.be/blog/2009/11/new-python-system-information-release/", "published_at": "2009-11-21T14:59:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ead9c567", "title": "Synchronous classes in Python", "url": "https://devork.be/blog/2009/11/synchronous-classes-in-python/", "published_at": "2009-11-16T12:39:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809eb604afd", "title": "Python modules and the GPL: I still don't get it", "url": "https://devork.be/blog/2009/11/python-modules-and-gpl-i-still-dont-get/", "published_at": "2009-11-03T21:59:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ebb29500", "title": "Delny 0.4.1", "url": "https://devork.be/blog/2009/10/delny-041/", "published_at": "2009-10-24T17:59:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ec639cf6", "title": "No permission to see Ubuntu bugs?", "url": "https://devork.be/blog/2009/10/no-permission-to-see-ubuntu-bugs/", "published_at": "2009-10-22T20:47:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ecf9f044", "title": "Cross platform shell scripts", "url": "https://devork.be/blog/2009/09/cross-platform-shell-scripts/", "published_at": "2009-09-24T18:18:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809edaffcd7", "title": "Battery life", "url": "https://devork.be/blog/2009/09/battery-life/", "published_at": "2009-09-23T05:07:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ee82ed13", "title": "New Delny release", "url": "https://devork.be/blog/2009/09/new-delny-release/", "published_at": "2009-09-20T14:50:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809eea93510", "title": "Resuming an scp file transfer", "url": "https://devork.be/blog/2009/08/resuming-scp-file-transfer/", "published_at": "2009-08-20T09:03:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ef979d3b", "title": "Should bare except statements be allowed in the Python stdlib?", "url": "https://devork.be/blog/2009/08/should-bare-except-statements-be/", "published_at": "2009-08-13T08:46:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f065580a", "title": "Pain", "url": "https://devork.be/blog/2009/08/pain/", "published_at": "2009-08-03T21:27:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f094db91", "title": "cifs why don't you follow unix conventions?", "url": "https://devork.be/blog/2009/08/cifs-why-dont-you-follow-unix/", "published_at": "2009-08-03T19:07:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f09ba394", "title": "Letters on keyboard stop working", "url": "https://devork.be/blog/2009/07/letters-on-keyboard-stop-working/", "published_at": "2009-07-30T12:49:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f0cc573d", "title": "PyCon UK 2009", "url": "https://devork.be/blog/2009/07/pycon-uk-2009/", "published_at": "2009-07-28T09:56:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f1a9f12d", "title": "How to bring a running python program under debugger control", "url": "https://devork.be/blog/2009/07/how-to-bring-running-python-program/", "published_at": "2009-07-25T11:06:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f1bd26f8", "title": "devenv.com via cygwin ssh (visual studio 2003)", "url": "https://devork.be/blog/2009/07/devenvcom-via-cygwin-ssh-visual-studio/", "published_at": "2009-07-13T13:48:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f277f333", "title": "Importing modules in C extension modules", "url": "https://devork.be/blog/2009/07/importing-modules-in-c-extension/", "published_at": "2009-07-05T11:11:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f332a234", "title": "Singletons in a Python extension module", "url": "https://devork.be/blog/2009/06/singletons-in-python-extension-module/", "published_at": "2009-06-23T05:46:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f34ca45e", "title": "Voting and identification in the UK", "url": "https://devork.be/blog/2009/06/voting-and-identification-in-uk/", "published_at": "2009-06-07T09:27:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f416c77f", "title": "Raising exceptions in threads", "url": "https://devork.be/blog/2009/06/raising-exceptions-in-threads/", "published_at": "2009-06-06T10:05:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f4de3a63", "title": "New home for PSI", "url": "https://devork.be/blog/2009/05/new-home-for-psi/", "published_at": "2009-05-30T12:04:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f5971471", "title": "Python System Information 0.3b1^W0.3b1.1", "url": "https://devork.be/blog/2009/05/python-system-information-03b1/", "published_at": "2009-05-21T07:04:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f64d44de", "title": "Compiling applications in setup.py", "url": "https://devork.be/blog/2009/05/compiling-applications-in-setuppy/", "published_at": "2009-05-11T17:16:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f6b2729a", "title": "What's new in Python 2.6: logging", "url": "https://devork.be/blog/2009/05/whats-new-in-python-26-logging/", "published_at": "2009-05-01T19:45:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f71152e9", "title": "Sun Fire T1000 not closet friendly", "url": "https://devork.be/blog/2009/04/sun-fire-t1000-not-closet-friendly/", "published_at": "2009-04-16T14:52:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f785e1f2", "title": "Time, floating points and python modules handling time", "url": "https://devork.be/blog/2009/03/time-floating-points-and-python-modules/", "published_at": "2009-03-28T20:33:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f7f75927", "title": "Reading a 64-bit core from a 32-bit proc on solaris?", "url": "https://devork.be/blog/2009/03/reading-64-bit-core-from-32-bit-proc-on/", "published_at": "2009-03-28T15:15:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f8e43476", "title": "Replacing the screen of your digital camera", "url": "https://devork.be/blog/2009/03/replacing-screen-of-your-digital-camera/", "published_at": "2009-03-23T22:19:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f8ef8964", "title": "How to send emails", "url": "https://devork.be/blog/2009/03/how-to-send-emails/", "published_at": "2009-03-23T19:32:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f92bb3f0", "title": "Virtual memory size (VSZ) on AIX", "url": "https://devork.be/blog/2009/02/virtual-memory-size-vsz-on-aix/", "published_at": "2009-02-28T15:13:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f9460977", "title": "Closed source frustration", "url": "https://devork.be/blog/2009/02/closed-source-frustration/", "published_at": "2009-02-26T13:56:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809f9b71037", "title": "ssh magic", "url": "https://devork.be/blog/2009/02/ssh-magic/", "published_at": "2009-02-19T19:42:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fa0ae826", "title": "Planning upgrades", "url": "https://devork.be/blog/2009/02/planning-upgrades/", "published_at": "2009-02-15T11:32:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809faca3caf", "title": "Compiling 32-bit Python on amd64", "url": "https://devork.be/blog/2009/02/compiling-32-bit-python-on-amd64/", "published_at": "2009-02-13T22:18:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fb63755d", "title": "sed for binary files: bbe", "url": "https://devork.be/blog/2009/02/sed-for-binary-files-bbe/", "published_at": "2009-02-13T09:59:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fc4392a1", "title": "Specifying the RUNPATH in sofiles", "url": "https://devork.be/blog/2009/02/specifying-runpath-in-sofiles/", "published_at": "2009-02-09T17:49:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fcea9820", "title": "Resistance to change", "url": "https://devork.be/blog/2009/01/resistance-to-change/", "published_at": "2009-01-31T21:05:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fd09af11", "title": "FreeBSD on Virtualbox", "url": "https://devork.be/blog/2009/01/freebsd-on-virtualbox/", "published_at": "2009-01-31T13:50:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fd51eeb9", "title": "datetime.datetime.totimestamp()", "url": "https://devork.be/blog/2009/01/datetimedatetimetotimestamp/", "published_at": "2009-01-27T10:25:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fdeaaa38", "title": "Resident Set Size (RSS) from /proc/pid/stat", "url": "https://devork.be/blog/2009/01/resident-set-size-rss-from-procpidstat/", "published_at": "2009-01-22T16:52:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809fe4a815b", "title": "Porting a C extension module to py3k", "url": "https://devork.be/blog/2009/01/porting-c-extension-module-to-py3k/", "published_at": "2009-01-15T21:22:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809feea386b", "title": "Generating source files in setup.py", "url": "https://devork.be/blog/2009/01/generating-source-files-in-setuppy/", "published_at": "2009-01-09T11:24:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ff26a121", "title": "import skynet", "url": "https://devork.be/blog/2008/12/import-skynet/", "published_at": "2008-12-24T08:09:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-1809ff75fdee", "title": "Finding memory leaks in Python extension modules", "url": "https://devork.be/blog/2008/12/finding-memory-leaks-in-python/", "published_at": "2008-12-13T11:02:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-180a006d2007", "title": "gcc, LD_RUN_PATH & Solaris", "url": "https://devork.be/blog/2008/12/gcc-ldrunpath-solaris/", "published_at": "2008-12-10T23:48:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-180a012f646a", "title": "Mocking away the .__init__() method", "url": "https://devork.be/blog/2008/12/mocking-away-init-method/", "published_at": "2008-12-06T21:47:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-180a01cea487", "title": "Preserving modification times in subversion", "url": "https://devork.be/blog/2008/11/preserving-modification-times-in/", "published_at": "2008-11-26T16:41:00+00:00" }, { "id": "01a0876c-226a-7284-b7ae-180a0222f6df", "title": "Generative Tests", "url": "https://devork.be/blog/2008/09/generative-tests/", "published_at": "2008-09-16T17:48:00+00:00" } ] posts Claim your blog
Back to devork.be
Blog · corpus.blog/blogs/devork.be/posts

devork.be

devork.be

2025

2024

2023

2016

2014

2013

2012

2011

2010

2009

2008