41554 blogs · [ { "id": "01a0821d-c9c7-7218-8caa-5f658c115258", "title": "The Prehistory of Kubernetes: From Cubic Equations to Cloud Orchestration", "url": "https://orbifold.xyz/cubic-k8s.html", "published_at": "2024-06-20T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658c940a57", "title": "Safe, Simple, Automatic Releases", "url": "https://orbifold.xyz/ssa-releases.html", "published_at": "2023-05-08T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658d8a29c1", "title": "The \"Dynamic\" Properties in PyProject", "url": "https://orbifold.xyz/dynamic-pyproject.html", "published_at": "2022-12-31T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658dc544b7", "title": "On The Go", "url": "https://orbifold.xyz/on-the-go.html", "published_at": "2022-08-14T21:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658e56dd86", "title": "Reading the Documentation for Popular Products", "url": "https://orbifold.xyz/documentation-for-popular-products.html", "published_at": "2022-02-20T18:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658e7cbdf3", "title": "Three Problems with a Tool", "url": "https://orbifold.xyz/three-problems.html", "published_at": "2021-12-25T01:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658f543a5e", "title": "Better Outage Retrospectives", "url": "https://orbifold.xyz/better-outage-retrospectives.html", "published_at": "2021-08-16T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f658fe2941d", "title": "Empathy vs. sympathy for Site Reliability Engineers (SRE)", "url": "https://orbifold.xyz/devops-sympathy.html", "published_at": "2021-07-16T02:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65909adc9e", "title": "Minimal packing list", "url": "https://orbifold.xyz/minimal-packing.html", "published_at": "2021-07-08T02:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6591199839", "title": "Post that PR", "url": "https://orbifold.xyz/post-that-pr.html", "published_at": "2021-06-17T01:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6591b21a6e", "title": "Portable Python Binary Wheels", "url": "https://orbifold.xyz/binary-wheels.html", "published_at": "2021-04-06T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65921c28b8", "title": "So you want to create a universe", "url": "https://orbifold.xyz/universe-pi-day.html", "published_at": "2021-03-12T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6592dc1f96", "title": "Virtual Buffet Line", "url": "https://orbifold.xyz/virtual-buffet.html", "published_at": "2021-02-19T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6593ac0b9e", "title": "DRY is a Trade-Off", "url": "https://orbifold.xyz/dry-trade-off.html", "published_at": "2020-12-12T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659411c2de", "title": "Fifty Shades of Ver", "url": "https://orbifold.xyz/fifty-shades.html", "published_at": "2020-09-20T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6594e0bde9", "title": "Universal Binary", "url": "https://orbifold.xyz/universal-binary.html", "published_at": "2020-08-21T04:45:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6595cc5f8c", "title": "The Hardest Logic Puzzle Ever (In Python)", "url": "https://orbifold.xyz/hardest-logic-puzzle-ever.html", "published_at": "2020-07-24T16:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65966ca3e5", "title": "Hey, Back Off!", "url": "https://orbifold.xyz/back-off.html", "published_at": "2020-07-13T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659687f1a1", "title": "A Labyrinth of Lies", "url": "https://orbifold.xyz/labyrinth.html", "published_at": "2020-07-03T17:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659717b906", "title": "Conditionally Logging Expensive Tasks", "url": "https://orbifold.xyz/logging-expensive.html", "published_at": "2020-06-14T03:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6597dddccb", "title": "My Little Pony -- DevOps is Magic", "url": "https://orbifold.xyz/my-little-devops.html", "published_at": "2020-04-27T00:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659818cd96", "title": "Numbers in Python", "url": "https://orbifold.xyz/numbers.html", "published_at": "2020-04-27T00:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6598cadb74", "title": "Goodbye, John H. Conway", "url": "https://orbifold.xyz/john-h-conway.html", "published_at": "2020-04-22T00:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6599a58439", "title": "Using Twisted to Massively Parallelize Web Clients", "url": "https://orbifold.xyz/treq.html", "published_at": "2020-04-14T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6599f2c7d5", "title": "Comfort with Small Mistakes", "url": "https://orbifold.xyz/small-mistakes.html", "published_at": "2020-04-05T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f6599f4b661", "title": "Or else:", "url": "https://orbifold.xyz/or-else.html", "published_at": "2020-03-13T02:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659ab0eca8", "title": "Forks and Threats", "url": "https://orbifold.xyz/forks-and-threats.html", "published_at": "2020-02-20T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659ae479fa", "title": "Meditations on the Zen of Python", "url": "https://orbifold.xyz/zen-of-python.html", "published_at": "2019-12-31T06:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659b09281e", "title": "Precise Unit Tests with PyHamcrest", "url": "https://orbifold.xyz/pyhamcrest.html", "published_at": "2019-12-18T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659bdd81bd", "title": "Raise Better Exceptions in Python", "url": "https://orbifold.xyz/raising-exceptions.html", "published_at": "2019-11-18T06:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659c30077b", "title": "An introduction to zope.interface", "url": "https://orbifold.xyz/zope-interface.html", "published_at": "2019-10-18T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659c8513f8", "title": "Adding Methods Retroactively", "url": "https://orbifold.xyz/singledispatch.html", "published_at": "2019-09-17T01:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659cc97c8f", "title": "Designing Interfaces", "url": "https://orbifold.xyz/designing-interfaces.html", "published_at": "2019-08-08T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659dbf6ed6", "title": "Interfaces are forever", "url": "https://orbifold.xyz/interfaces-are-forever.html", "published_at": "2019-07-13T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659e81dd40", "title": "Analyzing the Stack Overflow Survey", "url": "https://orbifold.xyz/python-analysis.html", "published_at": "2019-05-28T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659ee5a96c", "title": "Inbox Zero", "url": "https://orbifold.xyz/inbox-zero.html", "published_at": "2019-05-16T04:45:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659f0aa090", "title": "Publishing a Book with Sphinx", "url": "https://orbifold.xyz/book-with-sphinx.html", "published_at": "2019-04-08T07:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659f447f8e", "title": "A Local LRU Cache", "url": "https://orbifold.xyz/local-lru.html", "published_at": "2019-03-30T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f659fcb1ee9", "title": "Don't Make It Callable", "url": "https://orbifold.xyz/not-callable.html", "published_at": "2019-02-14T06:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a070fb0b", "title": "Staying Safe with Open Source", "url": "https://orbifold.xyz/open-source-safety.html", "published_at": "2019-01-25T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a111ecbd", "title": "Checking in JSON", "url": "https://orbifold.xyz/check-in-json.html", "published_at": "2019-01-09T06:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a14dca5c", "title": "Office Hours", "url": "https://orbifold.xyz/office-hours.html", "published_at": "2018-12-09T05:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a1ca80d6", "title": "Common Mistakes about Generational Garbage Collection", "url": "https://orbifold.xyz/garbage.html", "published_at": "2018-11-29T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a1e8856c", "title": "The Conference That Was Almost Called \"Pythaluma\"", "url": "https://orbifold.xyz/nbpy-2018.html", "published_at": "2018-11-07T08:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a25ee405", "title": "Why No Dry Run?", "url": "https://orbifold.xyz/no-dry-run.html", "published_at": "2018-10-06T07:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a2a5bc52", "title": "Managing Dependencies", "url": "https://orbifold.xyz/dependencies.html", "published_at": "2018-09-03T03:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a2ce4290", "title": "Tests Should Fail", "url": "https://orbifold.xyz/tests-fail.html", "published_at": "2018-08-03T05:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a386256b", "title": "Thank you, Guido", "url": "https://orbifold.xyz/thank-you-guido.html", "published_at": "2018-08-03T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a396bfba", "title": "Composition-oriented programming", "url": "https://orbifold.xyz/composition.html", "published_at": "2018-07-02T05:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a48fb761", "title": "Avoiding Private Methods", "url": "https://orbifold.xyz/private-methods.html", "published_at": "2018-06-02T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a571b1ec", "title": "PyCon US 2018 Twisted Birds of Feather Open Space Summary", "url": "https://orbifold.xyz/pycon-2018-twisted.html", "published_at": "2018-05-17T01:50:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a64cb5d3", "title": "PyCon 2018 US Docker Birds of Feather Open Space Summary", "url": "https://orbifold.xyz/pycon-2018-docker.html", "published_at": "2018-05-16T01:50:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a6ada960", "title": "Wheels", "url": "https://orbifold.xyz/wheels.html", "published_at": "2018-05-02T15:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a6d4ae05", "title": "Web Development for the 21st Century", "url": "https://orbifold.xyz/incremental.html", "published_at": "2018-04-03T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a790c9b3", "title": "Running Modules", "url": "https://orbifold.xyz/running-modules.html", "published_at": "2018-03-20T03:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a848afba", "title": "Random Bites of Pi(e)", "url": "https://orbifold.xyz/random-pie.html", "published_at": "2018-03-14T15:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a877ceaa", "title": "The Python Toolbox", "url": "https://orbifold.xyz/tooling.html", "published_at": "2018-02-02T06:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a958828e", "title": "Jupyter for SRE", "url": "https://orbifold.xyz/jupyter-for-sre.html", "published_at": "2017-12-31T03:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a9a2f9f6", "title": "Write Python like an expert", "url": "https://orbifold.xyz/expert-python.html", "published_at": "2017-12-18T06:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65a9a987c3", "title": "Interesting text encodings (and the people who love them)", "url": "https://orbifold.xyz/interesting-encodings.html", "published_at": "2017-12-14T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65aa0dd3b0", "title": "Exploration Driven Development", "url": "https://orbifold.xyz/exploration-driven-development.html", "published_at": "2017-12-11T04:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65aad2bdbe", "title": "Abstraction Cascade", "url": "https://orbifold.xyz/abstraction-cascade.html", "published_at": "2017-11-15T02:23:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ab154ed7", "title": "Gather", "url": "https://orbifold.xyz/gather.html", "published_at": "2017-11-14T02:23:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65abff102a", "title": "Brute Forcing AES", "url": "https://orbifold.xyz/brute-forcing-aes.html", "published_at": "2017-09-28T05:50:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ac2eaf38", "title": "Announcing NColony 17.9.0", "url": "https://orbifold.xyz/announcing-ncolony-17-9.html", "published_at": "2017-09-19T22:00:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ac7021d2", "title": "SSH to EC2", "url": "https://orbifold.xyz/ec2-ssh.html", "published_at": "2017-08-31T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65aca130b1", "title": "Python as a DSL", "url": "https://orbifold.xyz/python-dsl.html", "published_at": "2017-08-08T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ad08cd2a", "title": "Image Editing with Jupyter", "url": "https://orbifold.xyz/image-editing-jupyter.html", "published_at": "2017-07-26T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65adcb30c4", "title": "Anatomy of a Multi-Stage Docker Build", "url": "https://orbifold.xyz/multistage-docker.html", "published_at": "2017-07-20T04:30:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ae053b6a", "title": "Bash is Unmaintainable Python", "url": "https://orbifold.xyz/bash-unmaintainable-python.html", "published_at": "2017-07-18T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65ae482839", "title": "Imports at a Distance", "url": "https://orbifold.xyz/imports-distance.html", "published_at": "2017-06-26T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65aeb638db", "title": "X Why Zip", "url": "https://orbifold.xyz/x-why-zip.html", "published_at": "2017-06-25T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65aed6da16", "title": "Nitpicks are for Robots", "url": "https://orbifold.xyz/nitpicks-are-for-robots.html", "published_at": "2017-06-10T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65af2cfb93", "title": "My Little Subclass: Inheritance is Magic", "url": "https://orbifold.xyz/my-little-subclass.html", "published_at": "2017-04-30T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65afcafb24", "title": "PYTHONPATH Considered Harmful", "url": "https://orbifold.xyz/pythonpath.html", "published_at": "2017-04-12T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65b0c6706b", "title": "Shipping Python Applications in Docker", "url": "https://orbifold.xyz/python-docker.html", "published_at": "2017-03-18T05:20:00+00:00" }, { "id": "01a0821d-c9c7-7218-8caa-5f65b11345fa", "title": "Pelican -- an Experiment", "url": "https://orbifold.xyz/experiment.html", "published_at": "2017-03-08T06:20:00+00:00" } ] posts Claim your blog
Back to Moshe Zadka
Blog · corpus.blog/blogs/orbifold.xyz/posts

Moshe Zadka

orbifold.xyz

2024

2023

2022

2021

2020

2019

2018

2017